1、掌握最基本的Linux服务器用法
1、了解Linux服务器基本的使用方法、常用命令。
1、Linux系统简介
略
2、服务器连接方法
1、SSH远程终端,Windows可以使用xshell软件。
2、PuTTY主要用来远程连接服务器,缺点是功能单一,只是一个客户端,用的比较少,但是某些特定情况下也是会用的。
3、SecureCRT是常用的,但是也不包括Mac系统。
VNC使用客户端——服务器模型,是通过网络连接到远程计算机上运行的VNC服务器软件。
"vncserver:端口号"命令 ???杀死
4、TeamViewer :TeamViewer 是一款用于远程控制、桌面共享和文件传输的软件。TeamViewer 可以在不同操作系统的计算机之间建立连接,并且支持 Windows、Mac、Linux、iOS 和 Android 等操作系统。
5、推荐使用 VS code。VS code 是跨平台的代码编辑器。
以下是一些常用的代码管理软件,可以使用它们来管理和协作开发代码:
1. Git:Git 是最常用的分布式版本控制系统,它可以对代码进行版本控制、分支管理和合并等操作。Git 可以与各种代码托管平台(如GitHub、GitLab 和 Bitbucket)进行集成,方便团队协作开发。
2. SVN:Subversion(简称 SVN)是集中式版本控制系统,它也可以对代码进行版本控制和管理。SVN 使用较为简单,适合小型团队或个人开发者。
3. Mercurial:Mercurial 是另一个分布式版本控制系统,类似于 Git。它具有与 Git 相似的功能和命令,适用于个人开发者和小型团队。
4. Perforce:Perforce 是一个强大的集中式版本控制系统,被广泛用于大型项目和企业级开发。它提供高效的代码管理和协作功能,并支持大规模团队开发。
5. TFS:Team Foundation Server(TFS)是微软开发的一套应用生命周期管理工具,包括版本控制、协作和项目管理等功能。TFS 与 Visual Studio 高度集成,适用于 Microsoft 技术栈的开发团队。
3、Linux服务器配置
1、各种目录简介:
bin是二进制Binary的缩写 ,存放二进制文件。
安装系统时,boot目录就有点关键。
etc里放置了很多东西:在Linux系统中,/etc目录是用于存放系统的配置文件和相关的参数设置的。
下面是一些常见的文件和目录,可能会出现在/etc目录下:
1. /etc/passwd:存储用户账户信息。
2. /etc/group:存储用户组信息。
3. /etc/shadow:存储用户密码的加密形式。
4. /etc/hosts:用于配置IP地址与主机名的映射关系。
5. /etc/resolv.conf:用于配置DNS(Domain Name System)解析器的设置。
6. /etc/network/interfaces或/etc/sysconfig/network-scripts/ifcfg-*:用于配置网络接口的设置。
7. /etc/fstab:用于定义文件系统和设备的挂载信息。
8. /etc/ssh/sshd_config:用于配置SSH(Secure Shell)服务器的设置。
9. /etc/sudoers:定义超级用户权限的授权文件。
10. /etc/cron.d或/etc/cron.daily、/etc/cron.weekly等:用于定时任务的配置文件和目录。
11. /etc/apt/sources.list:用于配置apt软件包管理器的软件源。
12. /etc/nginx/nginx.conf:用于配置Nginx Web服务器的设置。
13. /etc/apache2/apache2.conf:用于配置Apache Web服务器的设置。这只是其中一些常见的文件和目录,实际上,根据安装的软件和系统配置的不同,/etc目录下可能会有更多的文件和子目录。
lib比较关键。
dev存放设备文件。在出现系统故障时,var就很关键,var里存放了系统日志。
2、查看软硬件:
Ishw Ishw(List Hardware)列出系统中所有硬件设备的详细信息。 Iscpu lscpu命令用于显示CPU相关的信息,包括处理器类型、核心数、线程数等。 lsbk lsbk命令用于列出块设备(如硬盘和分区)的信息,包括设备名称、类型大小等。 lspci Ispci命今用于列出PCI总线上的设备信息,包括图形卡、网络适配器等。 df df用于显示文件系统的使用情况,包括磁盘空间、使用情况和可用空间。
示例用法:
用法:df[选项][目录]
例:
df-h:显示所有挂载点的磁盘空间使用情况。
df-T:显示所有挂载点的文件系统类型。
df-i:显示所有挂载点的inode使用情况。
df-×<文件系统类型>:排除指定类型的文件系统3、安装管理包:
软件包管理 Ubuntu 使用APT (Advanced Package Tool) 和 dpkg 包管理系统,允许用户轻松安装更新和卸载软件包。 Centos和 RHEL 使用 YUM (Yellowdog Updater, Modified) 和 RPM 包管理系统,也提供类似的软件包管理功能。 默认桌面环境 Ubuntu 默认使用 GNOME 桌面环境,提供直观的用户界面和用户体验。这方面要强于Centos。 Centos 默认使用较轻量级的桌面环境,适用于服务器环境。 Linux系统配置-系统软件信息 检查发行版本信息 lsb_release -a
cat /etc/os-releasecat /etc/issue
检查内核信息 uname -a
(显示所有信息,包括内核名称、版本、主机名、系统架构等)查看主机名 hostname Debian/Ubuntu (使用APT 包管理) 查看已安装的软件包列表 dpkg --list 查找特定软件包是否已安装 dpkg -l/grep <package-name> Red Hat/CentOS/Fedora(使用 YUM 或DNF 包管理) 查看已安装的软件包列表 yum list installed
或 dnf list installed
查找特定软件包是否已安装 yum list installed <package-name> 自己手动安装的软件 使用which 命令 例如,which <executable>,其中 <executable> 是您要查找的可执行文件名。 使用 find 命令 例如, find /usr/local/bin -name <executable>,其中 /usr/local/bin 是默认的安装目录。 (可能需要管理员权限)
环境变量配置:
什么是环境变量?环境变量是操作系统中的一种设置,用于存储各种系统和应用程序的配置信息,以及指定特定路径、变量参数等。环境变量在命令行、脚本和程序中广泛使用,可以影响程序的行为、查找路径、默认设置等。
环境变量的类型:
系统级环境变量: 影响整个作系统,对所有用户和进程都可见。。在 Linux 中,这些变量通常位于/etc/environment 或 /etc/profile 文件中
用户级环境变量: 仅影响当前用户的会话和进程。
在 Linux 中,用户级环境变量通常位于 ~/.bashrc/.bash profile、~/profile 等文件中。
常见的环境变量:
PATH: 指定可执行文件的查找路径,让系统能够找到运行的命令。
LD_LIBRARY_PATH: 指定共享库 (也称为动态链接库)的查找路径。编译时用的最多。CPATH/用于指定编译器在查找头文件时的默认路径。涉及C语言或C++的头文件时会用。
LANG: 指定默认的语言环境(可以不用修改)。
EDITOR: 默认文本编辑器。
JAVA HOME: Java 的安装路径。
PYTHONPATH: Python 模块的查找路径。人工智能、大数据开发的话,就很重要了。
查看环境变量:
echo $<环境变量名>环境变量的配置步骤:
临时配置: 临时配置环境变量只在当前终端会话中生效,关闭终端后会失效。这种方式适用于次性的设置和测试。
export PATH-/usr/bin:$PATH(有的时候环境变量的顺序是很重要的。$PATH一般放在最后会比较好)临时配置时,建议除了你自己找的路径,也要把别人的环境变量路径也添加一下。
永久配置: 永久配置环境变量会在每次登录时都生效,使配置对所有终端会话都可见。这种方式适用于长期的设置和使用。
修改环境变量配置文件-一般在文件未尾添加环境变量修改命令
重新启动系统或使用source命令使环境变量修改生效。
添加管理员权限 (二)
还可以将其他用户添加到 sudo 组,使其具有执行管理员操作的权限。确保您用户具有管理员权限后,可以使用 sudo 命令来执行需要管理员权限的操作。
sudo usermod -aG sudo username
注意:管理员权限可以做很多事情尽量避免直接使用 root 用户进行常规操作,以减少意外错误和风险。Linux系统常用文件-文件权限:
在 Linux 系统中,每个文件和目录都有其自己的权限设置,这些权限决定了谁可以访问、读取写入和执行它们。文件权限通过一系列的权限位来表示,分为所有者、所属组和其他用户三个权限组。
文件权限位:
读权限(r):允许用户读取文件内容。对目录来说,允许列出目录内容读权限 () :
写权限 (w) : 允许用户编辑或修改文件内容。对目录来说,允许在目录中创建、删除文件。执行权限 (x) : 允许用户执行文件,对目录来说,允许用户进入该目录
文件权限组:
所有者权限: 文件的所有者拥有文件的所有权限,并且可以更改文件的权限和所有者所属组权限:文件的所属组中的用户拥有此组权限,这允许文件所属组的成员进行共享访问。其他用户权限: 其他用户是不属于所有者或所属组的用户,他们拥有文件的此组权限。
数字表示法:
读限:4
写权限: 2
执行权限:1
例如,rwxr-xr-- 可以用数字表示为 755。更改文件权限:
使用chmod将文件的所有者权限设置为读写,可以使用以下命令:
chmod urrw file.txt
chmod还可以修改文件夹的权限(推荐这种):
chmod -R 777 /home/myfile
Linux系统常用文件-系统日志查看
要学会使用系统日志。
在Linux 系统中,系统日志 (Syslog) 是记录系统活动、事件和错误信息的重要工具。系统管理员可以通过查看系统日志来监控系统的运行状况、排查问题以及进行故障排除。Linux 系统使用syslog 守护进程来收集、记录和管理系统日志。
系统日志主要目录 (/var/log)
/var/log
-syslog:整体系统日志,包括系统启动、关机、用户登录等
-auth.log:或 secure: 认证相关的日志,包括用户登录、权限认证等-messages;通用系统消息,包括内核和其他应用程序的消息kern.log:内核相关的日志
daemon.log:守护进程的日志
dmsg:内核环缓冲区的内容,显示系统启动时的详细信息
4、Linux系统常用命令
1、网络状态:ifconfig 里面会有很多配置选项
2、配置SSH服务器,需要管理员权限。里面会有很多配置选项
3、管道"I"
在Linux和 Unix 系统中,管道 (Pipeline) 是 种强大的特性,允许将一个命令的输出作为另一个命令的输入,从而将多个命令连接起来形成一个命令序列。这种方式可以在不创建中间文件的情况下实现数据的传递和处理,从而提高命令行工具的效率和灵活性.
command1 | command2
command1 的输出会成为 command2 的输入
4、ls命令是一个用于列出目录内容的常用命令。可以显示指定目录中的文件和子目录,并提供不同的选项来以不同的格式和详细程序显示信息。
Is命令可以与其他命令(如grep等)结合使用,以更复杂的方式查询和处理文件。常见选项:
-I: 以长格式(详细信息)显示文件列表。
-a: 显示包括隐藏文件在内的所有文件和目录。
-h: 以人类可读的格式显示文件大小。
-t: 按修改时间进行排序。
-r: 以相反的顺序排列。
-R:递归地显示子目录内容。
-S:按文件大小进行排序。-- color: 启用彩色输出
-- help:显示帮助信息。
5、文件、文件夹管理类
cd: 切换当前工作目录。
pwd: 显示当前工作目录的路径。
mkdir: 创建目录
cp: 复制文件或目录
mv: 移动文件或目录,也可用于重命名
rm: 删除文件或目录。使用-r选项可递归删除目录及其内容
cat: 连接文件并打印到标准输出
chown: 修改文件所有者和所属组6、grep命令
grep命令是一个用于在文本文件中搜索指定模式的工具。允许在文件中查找包含特定字符串或正则表达式的行,并将匹配的行显示出来。grep是Linux和Unⅸ系统中经常用于文本搜索的命令之一。
grep[选项] 模式 文件
-i:忽略大小写进行搜索。
-V:显示不匹配的行。
-r:递归地在目录及其子目录中搜索。
-L:仅显示匹配的文件名。
-n:显示匹配行的行号。
-w:仅匹配完整单词。
-E:启用扩展的正则表达式语法。
可以使用不同的选项和正则表达式来实现更精确的搜索,常与管道符“”配合使用。对于系统管理、日志分析和文本处理等任务,grep非常有用。
7、find命令find命令是Linux和Unix系统中用于在文件系统中搜索文件和目录的功能强大的工具。可以根据多种条件搜索文件,包括文件名、大小、权限、时间戳等,还支持使用正则表达式进行高级搜索。
find [路径] [选项] [操作]
■-name pattern: 根据文件名进行搜索,支持通配符。
■-type type: 根据文件类型进行搜索,如-type f(普通文件)、-type d(目录)。
■-size size: 根据文件大小进行搜索,支持c(字节)、k(千字节)、M(兆字节)等后缀。
■-mtime n: 根据文件修改时间进行搜索,n表示n天前的文件。
■-exec command: 对搜索结果执行指定命令。
■-print:将搜索结果输出到标准输出。
8、ps进程线程是Linux中重要的状态。
ps命令是Linux和Unⅸ系统中用于查看当前运行进程状态的命令。能够列出正在运行的进程,以及相关信息,如进程ID(PID)、状态、CPU使用率、内存占用等。
ps ef: 以详细格式列出所有进程,包括命令行参数
ps aux: 以详细格式列出所有用户的所有进程
ps一p进程号:显示指定进程号的信息
ps常与grep命令组合使用,可以更精确地查找和监控您感兴趣的进程。
■查找特定进程
■过滤特定用户的进程
■过滤命令行参数
■排除grep进程本身
9、top/htop命令top命令的功能
■系统的运行时间。
■当前登录的用户数量。
■系统负载情况(1分钟、5分钟和15分钟的平均负载)。
■所有运行中的进程的总数、活跃进程数和睡眠进程数。
■CPU使用率(用户、系统、空闲等)。
■内存使用情况(总内存、已用内存、空闲内存、缓冲和缓存等)。
htop:在Top的基础上,把cpu核也显示出来了。10、wc命令
wc命令是Linux和Unix系统中用于统计文件中字节数、单词数和行数的命令。它通常用于计算文本文件的基本信息,如文件大小、内容长度和行数等。
基本用法:
wc-c:统计字节数。
wc-w:统计单词数。
wc:统计行数。
高级用法:
统计多个文件的总和,例:“wc-I*.txt”
使用管道结合其他命令,例:统计某个命令的输出行数"Is -I | wc -I”
统计代码行数,例:grep -vE "^\s*($#)"code_file.py | wc -I
统计代码行数还可以使用工具——cloc(Count Lines of Code)。他统计的更全面,还会统计出注释的行数等等。
11、文件编辑 -Vi模式切换:ⅵ编辑器有多种模式,包括命令模式、插入模式和末行模式,通过不同的模式可以进行编辑、插入和保存等操作。
命令模式:默认启动时进入的模式,用于执行编辑命令,如删除、复制、粘贴等。
插入模式:用于输入文本,按下i进入插入模式,按下Esc切换回命令模式。
末行模式:按下:进入未行模式,可以执行保存、退出、查找等操作。
强大的编辑功能:支持文本查找、替换、拷贝、粘贴、撤销等多种编辑操作。在命令模式下,可以使用各种命令进行编辑,如i进入插入模式,dd删除一行,yy复制一行,p粘贴等。
切换到末行模式,按下:, 可以执行保存(:w)、退出(:q)等操作。
如果要保存并退出,可以组合使用末行命令,如 :wq12、增强版vim
13、输出重定向">"
注意:
> 和 >> 会创建或覆盖文件,务必小心操作,以免丢失数据。
2>和2>> 用于处理错误输出,可将错误信息和标准输出分开处理。
&> 和 &>> 将标准输出和错误输出合并到同一个文件中。
使用 >和< 时,需要确保空格的正确使用,如command> output.txt14、文件压缩/解压 -tar
平时,tar的使用频率也挺高的。
另外一个命令:
15、ln命令
强调一下:ln 的写法:源文件写前面,要生成的目标文件写在后面。否则,源文件被目标文件替换成空白文件,从而无法启动系统!
建议在执行这一命令时,先对源文件备份。
16、ldd命令17、apt安装员的配置方法
18、yum源的配置方法
5、软件源码编译与安装
检查编译工具:
在开始编译之前,确保系统中已安装了编译所需的工具,如编译器(例如gcc)、构建工具(如
make)和开发库(如libc)等。可以通过包管理工具安装这些工具。
配置编译选项:
进入源代码目录,运行配置脚本以配置编译选项。通常,可以使用 ./configure命令来配置,但一些软件可能有自己的配置脚本。您可以使用不同的选项来启用或禁用功能、指定安装路径等。
编译源代码:
运行make命令来编译源代码。这将生成可执行文件和其他必要的文件。这一步很关键。
安装软件:
运行sudo make install命令以将编译后的文件安装到系统中。这将把文件复制到系统的标准安装路径,通常为/usr/local。
如果感兴趣,可以从网上找一些简单的安装的安装包试一试。
6、代码编译安装
在服务器上试一试上面的代码。