当前位置: 首页 > news >正文

【Linux】基础知识与操作汇总:一份给新手的 Linux 学习总结

在这里插入图片描述

  • 🎓作者简介:CS专业的大二在校生
  • 👨‍💻 博主主页:@Ahu_iii

文章目录

  • 1. 什么是命令
    • 1.1 Linux命令格式
  • 2. 相对路径、绝对路径和特殊路径符
  • 2. 基础命令
    • 2.1 ls命令:查看指定路径下内容
    • 2.2 选项的组合使用
    • 2.3 HOME目录和工作目录
    • 2.4 cd命令:切换工作目录
    • 2.6 pwd命令:查看工作目录
    • 2.7 mkdir命令:创建目录
  • 3. 文件操作命令
    • 3.1 touch命令:创建文件
    • 3.2 cat命令:查看文件内容
    • 3.3 more命令:查看文件内容
    • 3.4 cp命令:复制文件、文件夹
    • 3.5 mv命令:移动文件或文件夹
    • 3.5 rm命令:删除文件或文件夹
      • 3.5.1 通配符
      • 3.5.2 -f 强制删除
  • 4. 查找命令
    • 4.1 which命令:查看Linux命令本体所在位置
    • 4.2 find命令:查找文件位置
      • 4.2.1 按文件名查找
      • 4.2.2 按文件大小查找
  • 5. 过滤、统计和管道符
    • 5.1 grep命令:过滤文件内容
    • 5.2 wc命令:统计数量
    • 5.3 管道符:|
  • 6. 输出命令
    • 6.1 echo命令:输出指定内容
    • 6.2 反引号:\`
    • 6.3 重定向符:>、>>
    • 6.4 tail命令:查看文件尾部内容
  • 7. VI/VIM编辑器
    • 7.1 什么是VI/VIM编辑器
    • 7.2 VI/VIM的工作模式
    • 7.3 VI/VIM命令模式下的快捷键
  • 8. 用户及权限管理
    • 8.1 Linux下的root用户
    • 8.2 用户、用户组
    • 8.3 用户组管理
      • 8.3.1 创建和删除命令
    • 8.4 用户管理
      • 8.4.1 创建用户
      • 8.4.2 删除用户
      • 8.4.3 查看用户所属组
      • 8.4.4 修改用户所属组
    • 8.5 getent命令:查看用户、用户组
      • 8.5.1 查看用户信息
      • 8.5.2 查看用户组信息
  • 9. 权限信息
  • 10. 权限修改
    • 10.1 chmod命令:修改文件/文件夹的读写等权限
    • 10.2 chown命令:修改文件/文件夹的所属用户或用户组
  • 11. systemctl命令:控制软件启动、停止等
  • 11. ln命令:创建软链接
  • 12. 日期和时区
    • 12.1 date命令:查看系统时间
    • 12.2 修改时区
      • 12.2.1 ntp程序:自动校准系统时间
  • 13. IP地址和主机名
    • 13.1 IP地址
    • 13.2 ifconfig命令:查看IP地址
    • 13.3 特殊IP地址
    • 13.2 主机名
      • 13.2.1 修改主机名
    • 13.3 域名解析
  • 14. 配置固定IP
    • 14.1 为什么要固定IP
    • 14.2 VMware Workstation配置固定IP
  • 15. 网络请求和下载
    • 15.1 Ping命令
    • 15.2 wget命令
    • 15.3 curl命令
  • 16. 端口
    • 16.1 什么是端口
    • 16.2 端口
    • 16.3 namp命令:查看端口占用
    • 16.4 netstat命令:查看指定端口的占用
  • 17. 进程管理
    • 17.1 进程的概念
    • 17.2 ps命令:Linux查看进程
    • 17.3 kill命令:Linux关闭进程
  • 18. 主机状态监控
    • 18.1 top命令:查看系统资源占用
    • 18.2 df命令:磁盘信息监控
    • 18.3 iostat命令:查看CPU、磁盘信息
    • 18.4 sar命令:网络监控
  • 19. 环境变量
    • 19.1 环境变量的作用
    • 19.2 环境变量:PATH
    • 19.3 $符号:获取环境变量的值
    • 19.4 配置环境变量
      • 19.4.1 配置PATH
  • 20. Linux文件的上传和下载
    • 20.1 FinalShell中的上传、下载
    • 20.2 rz、sz命令:命令行上传下载
  • 21. 压缩和解压
    • 21.1 压缩格式
    • 21.2 tar命令:处理tar、gzip文件
      • 21.2.1 常用压缩组合
      • 21.2.2 常见解压组合
    • 21.3 zip、unzip命令:处理zip文件
      • 21.3.1 zip命令:压缩文件
      • 21.3.2 unzip命令:解压文件


1. 什么是命令

学习Linux,实际上就是学习Linux的各种命令。

命令行:即Linux终端(Terminal),是一种命令提示符页面,以纯“字符”的形式操作系统,使用各种字符化的命令对系统发出操作指令
命令:即Linux程序。一个命令就是Linux的一个程序。命令没有图形化页面,可以在命令行(终端中)提供字符化的反馈。
![[Pasted image 20250618180303.png]]

1.1 Linux命令格式

无论什么命令,在Linux中有其通用的格式:
command [-options] [parameter]

  • command:命令本身。
  • -option:(可选非必填)命令的一些选项,通过选项控制命令的行为细节。
  • parameter:(可选非必填)命令的参数,多用于命令的指向目标等。

注:语法中的[]表示可选。

例:

  1. ls -l /home/josels是命令本身,-l是选项,/home/jose是参数——以列表的形式,显示/home/jose目录内的内容。
  2. cp -r test1 test2cp是命令,-r是选项,表示复制文件夹test1成为test2。

2. 相对路径、绝对路径和特殊路径符

相对路径:以当前目录为起点描述路径,无需以/开头。

以进入HOME目录下的Desktop作为演示:
![[Pasted image 20250619201025.png]]

绝对路径:以根目录为起点描述路径,以/开头。
![[Pasted image 20250619201116.png]]

特殊路径符

  • .:表示当前目录,如cd ./Desktop表示切换到当前目录下的Desktop内,和cd Desktop一致。
  • ..:表示上一级目录,如cd ..表示切换到上一级目录,cd ../..切换到上二级目录内。
  • ~:表示HOME目录,如cd ~表示切换到HOME目录,cd ~/Desktop表示切换到HOME目录下的Desktop内。

2. 基础命令

2.1 ls命令:查看指定路径下内容

语法:ls [-a -l -h] [Linux路径]

  • -a -l -h 是分别可选的选项。
  • Linux路径可选的参数。
    没有选项和参数时,表示以平埔形式,列出当前工作目录下的内容
    ![[Pasted image 20250619192135.png]]

根目录下内容:
![[Pasted image 20250619193528.png]]

-a:表示all,即列出全部文件(包含隐藏文件/文件夹)
![[Pasted image 20250619193729.png]]

图中以.开头的即Linux系统的隐藏文件/文件夹,只有通过-a选项才能看到隐藏文件/文件夹。

-l:表示list,即以列表(竖向排列)的形式列出内容,并能够展示出更多信息
![[Pasted image 20250619194002.png]]

-h:表示以易于阅读的形式,列出文件大小,如K、M、G。
![[Linux:ls命令中的screen]]

2.2 选项的组合使用

语法中的选项都可以组合使用。
如:

  1. ls -l -a
  2. ls -la
  3. ls -al
    上述三种写法是一样的,均表示同时使用-l-a

如:
![[Pasted image 20250619194412.png]]

2.3 HOME目录和工作目录

Linux系统的命令行终端启动时,默认会加载当前用户的HOME目录作为当前工作目录
HOME目录:Linux用户在Linux系统的个人账户目录,路径:/home/用户名

2.4 cd命令:切换工作目录

cd:即Change Directory。
语法cd [Linux路径]

  • 无需选项,只有参数,表示要切换到哪个目录。
  • 不写参数,表示回到HOME目录
    作用:切换工作目录。

切换到根目录下,并列出当前目录下的内容:
![[Pasted image 20250619195834.png]]

2.6 pwd命令:查看工作目录

当我们不清楚所处工作目录是什么的时候,可以通过pwd命令验证工作目录。
pwd即为Print Work Directory。

语法pwd

  • 该命令无选项,无参数,直接使用。
    作用:输出当前所在工作目录。

如:
![[Pasted image 20250619200412.png]]

2.7 mkdir命令:创建目录

mkdir即为Make Directory。
语法mkdir [-p] Linux路径

  • 参数必填,表示要创建的文件夹路径,相对路径或绝对路径均可。
  • -p选项可选,即parents,表示自动创建不存在的父目录,适用于创建连续多层级的目录
    ![[Pasted image 20250623172525.png]]

当我们想要一次性创建多层级的目录,如
![[Pasted image 20250623172853.png]]

由于test1test2不存在导致test3无法创建,而这时我们可以通过-p选项,一次创建路径上所有不存在的文件。
![[Pasted image 20250623173100.png]]

此外,当你觉得屏幕中的命令过多时,使用clear命令可以清屏。

注意:创建文件夹需要修改权限,以上操作只可在HOME目录内进行。后续会涉及权限管控的知识。

3. 文件操作命令

3.1 touch命令:创建文件

语法touch Linux路径

  • 该命令无选项,参数必填,表示要创建的文件路径,相对、绝对和特殊路径均可使用。
    ![[Pasted image 20250623174259.png]]

此外,当你用ls -l列出文件及文件夹的信息时,
![[Pasted image 20250623174448.png]]

其中第一列信息,首字符为d代表文件夹,首字符为-代表文件。

3.2 cat命令:查看文件内容

语法cat Linux路径

  • cat命令无选项,参数必填,表示要查看的文件路径,相对、绝对和特殊路径均可使用。
    ![[Pasted image 20250623174902.png]]

3.3 more命令:查看文件内容

more与cat都是查看文件内容的命令,但与cat不同的是:more支持翻页,适合文件内容过多的时候
语法more Linux路径

相关操作

  • 查看过程中通过空格翻页
  • 通过q退出查看
    ![[Pasted image 20250623175644.png]]

其中,最底部的0%代表了当前查看进度。

3.4 cp命令:复制文件、文件夹

cp即copy,
语法cp [-r] 参数1 参数2

  • -r选项可选,用于复制文件夹使用,表示递归。
  • 参数1,Linux路径,表示被复制的文件或文件夹
  • 参数2,Linux路径,表示要复制到的目标路径

文件复制:
![[Pasted image 20250623180200.png]]

文件夹复制:
![[Pasted image 20250623180344.png]]

3.5 mv命令:移动文件或文件夹

mv即move.
语法mv 参数1 参数2

  • 参数1,Linux路径,表示被移动的对象
  • 参数2,Linux路径,表示移动的目标路径,若目标不存在,则将被移动对象改名为目标对象

目标存在:
![[屏幕截图 2025-06-23 180803.png]]

目标不存在:
![[屏幕截图 2025-06-23 180851.png]]

3.5 rm命令:删除文件或文件夹

rm即remove.
语法rm [-r -f] 参数1 参数2 ... 参数N

  • -r选项用于删除文件夹。
  • -f即force,表示强制删除(不弹出提示确认信息)。
    • 普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示。
    • 一般用户用不到-f选项。
  • 参数1,参数2,...... ,参数N表示要删除的文件或文件夹路径,用空格隔开。

删除文件:
![[Pasted image 20250623181815.png]]

删除文件夹:
![[Pasted image 20250623181847.png]]

3.5.1 通配符

rm命令支持通配符*,用于模糊匹配

  • *表示通配符,即匹配任意内容(包含空),如:
    1. test*,表示匹配任何以test开头的内容
    2. *test,表示匹配任何以test结尾的内容
    3. *test*,表示匹配任何包含test的内容
      示例:
      删除所有以test开头的文件夹
      ![[Pasted image 20250623182334.png]]

3.5.2 -f 强制删除

由于root用户执行rm命令时会出现提示,此命令可强制删除跳过提示

  • 通过su - root命令,并输入用户密码可临时切换到root用户。
  • 通过exit命令可退回普通用户。

删除文件夹,其中y表示同意:
![[Pasted image 20250623183303.png]]

强制删除文件夹:
![[Pasted image 20250623183418.png]]

注:使用完后记得退出root权限。
注意rm是一个危险的命令,特别是处于root用户的时候,
以下命令千万不要在root用户下执行:

  • rm -rf /
  • rm -rf /*

效果等同于在windows上执行C盘格式化。

4. 查找命令

4.1 which命令:查看Linux命令本体所在位置

所谓的Linux命令实际就是一个个二进制可执行程序,和windows中的.exe文件是一样的。
我们可以通过which命令查看所使用的一系列命令的程序文件存放位置。
语法which 要查找的命令
![[Pasted image 20250624173338.png]]

4.2 find命令:查找文件位置

在以windows为例的图形化界面下,我们可以通过系统提供的搜索功能查找指定文件。
同样地,在Linux系统中,我们可以使用find命令去搜索指定文件。

4.2.1 按文件名查找

语法find 起始路径 -name "被查找文件名"

以根目录为起始进行全盘搜索名为test的文件:
![[Pasted image 20250624174214.png]]

使用通配符,全盘搜索以test为开头的文件:
![[Pasted image 20250624174418.png]]

4.2.2 按文件大小查找

语法find 起始路径 -size +或-n[kMG]

  • +,-表示大于和小于。
  • n表示文件大小。
  • kMG表示单位,k表示kb,M表示MB,G表示GB。

如:查找小于10kb的文件,即find / -size -10k

5. 过滤、统计和管道符

5.1 grep命令:过滤文件内容

通过grep命令,可以从文件中通过关键字过滤文件行.
语法grep [-n] 关键字 文件路径

  • 选项-n可选,表示在结果中显示匹配行的行号
  • 参数1-关键字,必填,表示过滤的关键字若带有空格或其它特殊符号,建议使用""将关键字括起来
  • 参数2-文件路径,必填,表示要过滤内容的文件路径可作为内容输入端口
    ![[Pasted image 20250625193753.png]]

5.2 wc命令:统计数量

通过wc命令可以统计文件的行数、字符数量等。
语法wc [-c -m -l -w] 文件路径

  • 选项-c,统计字节数。
  • 选项-m,统计字符数。
  • 选项-l,统计行数。
  • 选项-w,统计单词数。
  • 参数-文件路径,表示统计对象,可作为内容输入端口

首先,在图形化界面下test文件大小显示为:
在这里插入图片描述

使用-c和-w统计test:
![[Pasted image 20250625194428.png]]
![[Pasted image 20250625194352.png]]

如果不带选项,从左到右分别是行数、单词数、字节数以及文件名
![[Pasted image 20250625194621.png]]

5.3 管道符:|

管道符的含义是;将管道符左边命令的结果,作为右边命令的输入
如:
![[Pasted image 20250625195232.png]]

上述两种命令得到了同样的结果,其中第二条命令|左端的命令所得到的结果作为|右端命令中所缺失的参数文件路径的输入,即cat test所返回的内容中过滤出包含jose的行

这就是为什么说grep命令中的文件路径可作为输入端口,同样地,wc命令中的文件路径也可作为输入端口,像这样:
![[Pasted image 20250625195821.png]]
即在左边命令返回的结果中统计单词数。

类似地我们可以用管道符玩一些别的花样,比如:
过滤文件:
![[Pasted image 20250625200101.png]]

查看特定文件的详细信息:
![[Pasted image 20250625200331.png]]

统计文件数(列表形式下,每个文件占据一行):
![[Pasted image 20250625200611.png]]

6. 输出命令

6.1 echo命令:输出指定内容

语法echo 输出内容

  • 无选项,含一个参数,表示要输出的内容,带有空格等特殊符号用""括起来。
    ![[Pasted image 20250625201357.png]]

6.2 反引号:`

当我们想将某一命令的结果使用echo输出时,可能不会正常实现
如:
当我们想要将当前路径作为输出内容时,echo将pwd看作参数而不是命令
![[Pasted image 20250625201720.png]]

我们可使用反引号`将pwd括起来,像这样
![[Pasted image 20250625201945.png]]

此时pwd被看作命令。

提示:当某一命令可能被看做普通字符而不是命令时,我们可以使用该符号。

6.3 重定向符:>、>>

重定向符分为两种:

  • >:将左侧命令的结果,覆盖到符号右侧指定文件中
  • >>:将左侧命令的结果,追加到符号右侧指定文件中

将echo的结果覆盖到test中
![[Pasted image 20250625202446.png]]

将echo的结果追加到test中
![[Pasted image 20250625202717.png]]

6.4 tail命令:查看文件尾部内容

使用tail命令,可以查看文件尾部内容,或跟踪文件的最新更改。
语法tail [-f -数字] Linux路径

  • 参数-Linux路径,表示目标文件路径。
  • 选项-f,即follow,表示持续跟踪。
  • 选项-数字,表示查看尾部多少行,默认10行。

查看test文件中最后1行的内容
![[Pasted image 20250625203522.png]]

-f持续跟踪,此时可另开一个标签页远程连接,通过echo和>>追加尾部内容的同时,进行持续跟踪的标签页会同步更新(通过ctrl+C中止):
![[Pasted image 20250625204314.png]]

7. VI/VIM编辑器

7.1 什么是VI/VIM编辑器

VI是visual interface的简称,顾名思义就是虚拟接口,是Linux中最经典的文本编辑器。与图形化界面中的文本编辑器一样,VI是命令行下对文本文件进行编辑的绝佳选择。VIM是VI的加强版,兼容了VI的所有指令,不仅能够编辑文本,而且具有shell程序编辑的功能,以不同颜色的字体来辨别语法的正确性,方便了程序的设计和编辑。

7.2 VI/VIM的工作模式

  1. 命令模式(Command Mode):该模式下,编辑器将所敲入的案件都视为命令,以命令驱动执行不同的功能。此模式下,不能自由地进行文本编辑。
  2. 输入模式(Insert Mode):即所谓的编辑模式。此模式下,可对文件内容进行自由编辑。
  3. 底线命令模式(Last Line Mode):以:开始,通常用于文件的保存、退出。
    ![[Pasted image 20250701221956.png]]

当我们需要通过vi/vim编辑文件时,只需通过以下命令:

  • vi 文件路径
  • vim 文件路径
    一般都使用vim。
    注:如果目标文件不存在,此命令即用于编辑新文件;如果文件存在,则用于编辑已有文件。

示例:

  1. 输入vim hello.txt创建新文件并进入命令模式

  2. 命令模式下输入i,进入输入模式

  3. 在此模式下可输入任意文本内容,通过Esc键退出该模式,如:
    ![[Pasted image 20250701222812.png]]

  4. 回到命令模式后,输入:进入底线命令模式

  5. 此模式下输入wq保存并退出vim,其中w为保存,q为退出
    最终呈现:
    ![[Pasted image 20250701223222.png]]

7.3 VI/VIM命令模式下的快捷键

模式命令描述
命令模式i在当前光标位置进入 输入模式
命令模式a在当前光标位置之后进入 输入模式
命令模式I在当前行的开头进入 输入模式
命令模式A在当前行的结尾进入 输入模式
命令模式o在当前光标下一行进入 输入模式
命令模式O在当前光标上一行进入 输入模式
输入模式esc回到命令模式
命令模式k / ↑向上移动光标
命令模式j / ↓向下移动光标
命令模式h / ←向左移动光标
命令模式l / →向右移动光标
命令模式0移动光标到当前行的开头
命令模式$移动光标到当前行的结尾
命令模式pageup (PgUp)向上翻页
命令模式pagedown (PgDn)向下翻页
命令模式/进入搜索模式
命令模式n向下继续搜索
命令模式N向上继续搜索
命令模式dd删除光标所在行的内容
命令模式ndd删除光标开始的 n 行
命令模式yy复制当前行
命令模式nyy复制当前行和下面的 n 行
命令模式p粘贴复制的内容
命令模式u撤销修改
命令模式ctrl + r反向撤销(重做)
命令模式gg跳到第一行
命令模式G跳到最后一行
命令模式dG从当前行开始,向下全部删除
命令模式dgg从当前行开始,向上全部删除
命令模式d$从当前位置开始,删除到本行的结尾
命令模式d0从当前位置开始,删除到本行的开头
底线命令模式:wq保存并退出
底线命令模式:q仅退出
底线命令模式:q!强制退出
底线命令模式:w仅保存
底线命令模式:set nu显示行号
底线命令模式:set paste设置粘贴模式,防止格式错乱

8. 用户及权限管理

8.1 Linux下的root用户

无论是windows、mac还是Linux均采用多用户的管理模式管理权限。
Linux中,拥有最大权限的账户名为:root(超级管理员),而日常使用的则是普通用户,root用户有着比普通用户更大的权限,能够执行普通用户无法执行的命令(所有命令)。

比如,当我们想要在根目录下创建文件夹:
普通用户权限:
![[Pasted image 20250702161502.png]]

root用户权限:
![[Pasted image 20250702161540.png]]
最后,通过ctrl + d退出root。

注:普通用户权限一般在其HOME目录下不受限,一旦出了HOME目录,大多地方,普通用户仅有只读和执行权限,无修改权限。

8.2 用户、用户组

Linux系统中可以配置多个用户或用户组,每个用户可以加入多个用户组中
Linux系统可对用户或用户组进行权限管理,针对某个文件或文件夹,可以修改用户或用户组对其能够执行的操作。

8.3 用户组管理

注意:以下命令需root用户执行

8.3.1 创建和删除命令

创建用户组groupadd 用户组名
删除用户组groupdel 用户组名

8.4 用户管理

注意:以下命令由root用户执行

8.4.1 创建用户

语法ueseradd [-g -d] 用户名

  • 选项-g,用于指定用户组,不指定会创建同名组并自动加入,指定则需要组存在,若已存在同名组,则必须使用-g
  • 选项-d,用于指定用户HOME路径,不指定,则HOME目录默认为/home/用户名

尝试创建用户:
![[Pasted image 20250710185407.png]]

创建test用户于test组下,并指定home目录:
![[Pasted image 20250710185658.png]]

创建成功,切换至该用户:
![[Pasted image 20250710185740.png]]

8.4.2 删除用户

语法userdel [-r] 用户名

  • 选项-r,删除用户的HOME目录,不使用-r,则保留HOME目录

将用户test及其home目录删除:
![[Pasted image 20250710190334.png]]

8.4.3 查看用户所属组

语法id [用户名]

  • 参数用户名,被查看用户,若不提供则查看自身

创建test用户于jose组下:
![[Pasted image 20250710190552.png]]

root用户下可查看任何用户所属组:
![[Pasted image 20250710190713.png]]

8.4.4 修改用户所属组

语法usermod -aG 用户组 用户名

  • 用户名加入到用户组

创建test2用户于同名组下,并重新将其加入到jose组下:
![[Pasted image 20250710190941.png]]

8.5 getent命令:查看用户、用户组

8.5.1 查看用户信息

语法getent passwd

用户信息
![[Pasted image 20250710191828.png]]
上图的信息分别对应:用户名:密码:用户ID:组ID:描述信息:HOME目录:执行终端-默认bash

8.5.2 查看用户组信息

语法getent group

用户组信息
![[Pasted image 20250710192251.png]]
图中信息分别为:组名:组认证(显示x):组ID

9. 权限信息

![[Pasted image 20250710192752.png]]

其中第一列所展示的权限信息格式为:

![[Pasted image 20250710193044.png]]

即除首字母外,每3个字母表示所属用户、所属用户组、其它用户的权限信息r: read; w: write; x: executive

  • r:针对文件或文件夹可以查看内容。
  • w:针对文件或文件夹可以修改。
  • x:针对文件可将其作为程序执行;针对文件夹可更改工作目录到此文件夹。

10. 权限修改

10.1 chmod命令:修改文件/文件夹的读写等权限

语法chmod [-R] 权限 文件或文件夹

  • 选项-R,对文件夹内全部内容应用相同操作
    注:只对文件/文件夹的所属用户或root用户有权执行该命令。

对文件或文件夹单独修改:
![[Pasted image 20250717192403.png]]

对文件夹及其内部所有文件修改:
![[Pasted image 20250717192606.png]]

其中u表示所属用户user,g表示group,o表示其他用户other。

此外,chmod还有一种快捷写法:利用二进制xxx转为的十进制0-7的数来表示对应用户权限,如:chmod 751 hello.txt,其中711151011001
![[Pasted image 20250717193605.png]]

10.2 chown命令:修改文件/文件夹的所属用户或用户组

语法chown [-R] [用户][:][用户组] 文件或文件夹

  • 选项-R,对文件夹及其内部所有文件进行相同操作
  • 选项用户,修改所属用户
  • 选项用户组,修改所属用户组
  • :用于分隔用户和用户组

注:普通用户无法修改所属用户或用户组,即此命令只适用于root用户

将test文件夹的所属用户修改为root:
![[Pasted image 20250717194855.png]]

再将所属用户组修改为root:
![[Pasted image 20250717195104.png]]

重置test权限并用-R再次演示:
![[Pasted image 20250717195204.png]]

11. systemctl命令:控制软件启动、停止等

Linux中很多内置或第三方软件均支持使用systemctl命令控制:启动、停止、开机启动。能够被systemctl管理的软件一般称为:服务

语法systemctl start | stop | status | enable | disable 服务名

  • start:启动。
  • stop:关闭。
  • status:查看状态。
  • enable:开启开机自启。
  • disable:关闭开机自启。

Linux内置服务比较多,比如:

  • NetworkManager:主网络服务。
  • network:副网络服务。
  • firewalld:防火墙服务。
  • sshdssh服务,FinalShell远程登陆Linux使用的就是这个服务。

查看firewalld状态
![[Pasted image 20250726203450.png]]

关闭firewalld
![[Pasted image 20250726203829.png]]

注:能够通过systemctl管理的第三方软件是因为安装后会自动集成到systemctl中,而部分软件安装后不会自动集成到其中,此时我们需要手动添加。

11. ln命令:创建软链接

软链接类似于windows系统中的”快捷方式“,可将文件、文件夹链接到其他位置。

语法ln -s 参数1 参数2

  • 选项-s,创建软链接。
  • 参数1,被链接的文件或文件夹。
  • 参数2,软链接目标位置。

将etc下的文件yum.conf链接到根目录下
![[Pasted image 20250729154845.png]]

软链接信息:l 表示快捷方式
![[Pasted image 20250729154929.png]]

链接文件夹
![[Pasted image 20250729155112.png]]

12. 日期和时区

12.1 date命令:查看系统时间

语法date [-d] [+格式化字串]

  • 选项-d,按照给定的字串计算并显示日期,一般用于日期计算。
    • year:年。
    • month:月。
    • day:天。
    • hour:小时。
    • minute:分钟。
    • second:秒。
  • 格式化字串,通过特定的字串标记,控制显示的日期格式。
    • %Y:年。
    • %y:年份后两位数字。
    • %m:月份。
    • %d:日。
    • %H:小时。
    • %M:分钟。
    • %S:秒。
    • %s:自 1970-01-01 00:00:00 UTC 到现在的秒数。

直接查看
![[Pasted image 20250729155742.png]]

按照年-月-日查看日期
![[Pasted image 20250729155927.png]]

更详细的时间,日期和时间
![[Pasted image 20250729160144.png]]
可以看到,若字串中存在空格,需要用双引号将选项包围。

查看一天后的日期
![[Pasted image 20250729160722.png]]

12.2 修改时区

中国的时区应是东八区(CST),Linux默认的时区可能不准确,此时需要修改系统时区。

方法:切换到root用户,删除etc下的localtime,将/usr/share/zoneinfo/Asia/Shanghai通过软链接,链接到/etc/localtime即可。

![[Pasted image 20250729161752.png]]

12.2.1 ntp程序:自动校准系统时间

  1. 安装:yum -y install ntp
  2. 启动并开启开机自启:
    • systemctl start ntpd
    • systemctl enable ntpd

启用后ntpd将定期联网校准系统时间。

此外也可通过ntpd手动实现校准(root权限):ntpdate -u ntp.aliyun.com,即通过阿里云提供的服务网址配合ntpdate命令自动校准
![[Pasted image 20250729162442.png]]

13. IP地址和主机名

13.1 IP地址

每台联网的电脑都会有一个地址,用于和其它计算机进行通讯。
IP地址主要有两个版本,v4和v6版本,其中v6很少用。

IPv4的地址格式是:a.b.c.d,其中abcd分别表示0~255的数字符,如192.168.88.101就是一个IP地址。

13.2 ifconfig命令:查看IP地址

Linux中使用ifconfig命令查看本机的IP地址。
如无法使用ifconfig,可以安装:yum -y install net-tools
![[Pasted image 20250805153420.png]]

13.3 特殊IP地址

除几个标准IP地址外,有几个特殊的IP地址需了解:

  • 127.0.0.1:这个IP地址用于指代本机.
  • 0.0.0.0:特殊IP地址。
    • 可以用于指代本机
    • 可以在端口绑定中用于确定绑定关系
    • 在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问。

13.2 主机名

电脑除了对外联络地址(IP)外,也可以有一个名字,称之为主机名。无论是Windows还是Linux系统,都可以给系统设置主机名。

Linux系统主机名用hostname查看:
![[Pasted image 20250805153937.png]]

13.2.1 修改主机名

通过命令:hostnamectl set-hostname 主机名实现主机名的修改。
![[Pasted image 20250805154217.png]]

![[Pasted image 20250805154228.png]]

13.3 域名解析

由数字组成的IP地址实在难以记忆,通常使用字符化的地址去访问服务器,如百度的地址:www.baidu.com,这样的地址我们称之为域名
![[Pasted image 20250805154738.png]]即当我们想要访问百度www.baidu.com时,会先查看本地记录中是否存在该域名对应的IP地址,如果没有则会向DNS服务器进行询问。

类似的我们可以在hosts文件中建立Linux虚拟机IP与主机名的映射,在hosts文件中添加如下内容
![[Pasted image 20250805155247.png]]
此时FinalShell可以通过主机名centos而不是IP地址来远程连接对应虚拟机。

14. 配置固定IP

14.1 为什么要固定IP

没有配置固定IP时,我们虚拟机的IP地址是通过DHCP服务来获取的。
DHCP服务:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更。
由于我们需要远程连接Linux,此时如果IP频繁变更我们就要频繁修改配置,并且如果我们配置了虚拟机IP与主机名的映射,也需要频繁修改映射关系,因此我们需要将IP固定。

14.2 VMware Workstation配置固定IP

第一步:
打开编辑->虚拟网络编辑器
![[Pasted image 20250805160431.png]]

第二步:
设置子网IP子网掩码子网掩码的作用是设置IP范围,如图中就是192.168.183.0192.168.183.254。
![[Pasted image 20250805161436.png]]
子网IP改为192.168.88.0,然后打开NAT设置
![[Pasted image 20250805162015.png]]
确保网关IP后缀为88.2

第三步:
回到Linux,使用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件,注意使用root用户
![[Pasted image 20250805163451.png]]

拼写错误:是NETMASK不是NETMACK。

第四步:执行systemctl restart network,重启网络。

15. 网络请求和下载

15.1 Ping命令

功能:检查指定的网络服务器是否为可联通状态。
语法ping [-c num] ip或主机名

  • 选项-c,检查的次数,不使用则将无限次持续检查。
  • 参数ip或主机名,被检查的服务器的ip地址或主机名。

检查3次baidu.com
![[Pasted image 20250805170539.png]]

15.2 wget命令

功能:wget是非交互式的文件下载器,可以在命令行内下载网络文件。
语法wget [-b] url

  • 选项-b,可选,后台下载,将日志写入当前工作目录的wget-log文件
  • 参数url,下载链接
    注意:无论下载是否完成,都会生成要下载的文件。

15.3 curl命令

功能:发送http网络请求,可用于下载文件、获取信息等。
语法curl [-O] url

  • 选项-O,用于下载文件,当url是下载链接时,使用此选项保存文件。
  • 参数url,要发起请求的网络地址。

向cip.cc发送网络请求
![[Pasted image 20250805171457.png]]
注:curl命令本质上与浏览器访问网站是一样的。

16. 端口

16.1 什么是端口

端口是设备与外界通讯交流的出入口。
端口分为物理端口虚拟端口

  • 物理端口:又称接口,是可见的端口,如USB接口、RJ45网口等。
  • 虚拟端口:指计算机内部的端口,不可见,用来操作系统和外部进行交互使用的。

虚拟端口的作用:计算机只能通过IP锁定计算机,而不能锁定具体的程序。通过端口可以锁定计算机具体的程序,确保程序间进行沟通。类比的话就是,IP相当于小区地址,而端口则是各个住户的门牌号。

16.2 端口

Linux系统支持65535个端口,这些端口分为3类进行使用:

  1. 公认端口1~1023通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口、HTTPS服务的443端口等,非特殊需要,不要占用这个范围的端口
  2. 注册端口1024~49151,通常可以随意使用用于松散的绑定一些程序或服务
  3. 动态端口49152~65535通常不会固定绑定程序,而是当程序对外进行网络连接时临时使用

16.3 namp命令:查看端口占用

使用该命令需要先安装nmap:yum -y install nmap
功能:查看端口的占用情况。
语法nmap 被查看的IP地址

查看本机的端口占用
![[Pasted image 20250805173408.png]]

16.4 netstat命令:查看指定端口的占用

使用该命令需先安装net-tools:yum -y install net-tools
功能:查看指定端口的占用情况。
语法netstat -anp | grep 端口号
其中netstat -anp输出所有端口占用,通过管道符和grep从中过滤出指定端口。

查看端口111的占用
![[Pasted image 20250805174436.png]]

17. 进程管理

17.1 进程的概念

程序在运行时,是被操作系统所管理的。为管理运行的程序,每个程序运行的时候,都被操作系统注册为系统的一个进程,并为每个进程都分配一个独有的进程ID(进程号)。

17.2 ps命令:Linux查看进程

语法ps [-e -f]

  • 选项-e,显示全部进程。
  • 选项-f,已完全格式化的形式展示信息(展示全部信息)。

一般的用法就是ps -ef列出全部进程的全部信息。
![[Pasted image 20250812152543.png]]

  • UID:进程所属用户ID。
  • PID:进程号ID。
  • PPID:进程的父ID(启动此进程的其它进程)。
  • C:此进程的CPU占用率。
  • STIME:进程的启动时间。
  • TTY:启动此进程的终端序号,如显示?,表示非终端启动。
  • TIME:进程占用CPU的时间。
  • CMD:进程对应的命令或进程启动的路径或启动命令。

17.3 kill命令:Linux关闭进程

语法kill [-9] 进程ID

  • 选项-9,表示强制关闭。否则向进程发送信号要求其关闭,是否关闭看进程自身的处理。
    注:不使用-9关闭进程,进程状态变为为Terminated;否则就是killed

18. 主机状态监控

18.1 top命令:查看系统资源占用

功能:查看CPU、内存使用情况,类似Win的任务管理器。
语法top
注:默认每5秒刷新一次,按dctrl+c退出。

![[Pasted image 20250812154524.png]]
其中包含许多信息。
第一行:

  • top:命令名称。
  • 15:45:03:当前系统时间。
  • up 25 min:启动了25分钟。
  • 3 users:3个用户登录。
  • load average:分别是1、5、15分钟的平均负载。
    第二行:
  • Tasks:进程数。
  • 1 running:1个进程在运行。
  • 199 sleeping:199个在睡眠。
  • 0 stopped:0个停止进程。
  • 0 zombie:0个僵尸进程。
    第三行:
  • %cpu(s):CPU使用率。
  • us:用户CPU使用率。
  • sy:系统PCPU使用率。
  • ni:高优先级进程占用CPU时间百分比。
  • id:空闲CPU率。
  • wa:IO等待CPU占用率。
  • hi:CPU硬件中断率。
  • si:CPU软件中断率。
  • st:强制等待CPU占用率。
    第四五行:
  • Kib Mem:物理内存。
  • KibSwap:虚拟内存(交换空间)。
  • total:总量。
  • free:空闲。
  • used:使用中。
  • buff/cache:buff和cache占用。
  • avail Mem:可用内存。

而关于进程的信息包括:

  • PID:进程ID。
  • USER:进程所属用户。
  • PR:进程优先级,与小越高。
  • NI:负值表示高优先级,否则为低优先级。
  • VIRT:进程使用虚拟内存,单位KB。
  • RES:进程使用物理内存,单位KB。
  • SHR:进程使用共享内存,单位KB。
  • S:进程状态(S休眠,R运行,Z僵死状态,N负数优先级,I空闲)。
  • %CPU:进程占用CPU率。
  • %MEM:进程占用内存率。
  • TIME+:进程使用CPU总时间,单位10毫秒。
  • COMMAND:进程的命令或名称或程序文件路径。

top支持的其他选项:
![[Pasted image 20250812160200.png]]

以交互式运行时的选项:
![[Pasted image 20250812160601.png]]

18.2 df命令:磁盘信息监控

功能:查看磁盘的使用情况。
语法df[-h]

  • 选项-h,以更加人性化的单位显示。

![[Pasted image 20250812160938.png]]

18.3 iostat命令:查看CPU、磁盘信息

主要是查看磁盘速率等信息。
语法iostat [-x] [-num1] [num2]

  • 选项-x,显示更多信息。
  • num1,刷新间隔。
  • num2,刷新次数。

![[Pasted image 20250812161158.png]]
其中tps设备每秒的传输次数

详细信息:
![[Pasted image 20250812161358.png]]
其中比较重要的是:

  • rKB/s:每秒发送到设备的读取请求数。
  • wKB/s:每秒发送到设备的写入请求数。
  • %util:磁盘利用率。

18.4 sar命令:网络监控

功能:查看网络的相关统计(由于该命令非常复杂,这里仅简单学习)。
语法sar -n DEV num1 num2

  • 选项-n,查看网络;DEV表示查看网络接口。
  • num1,刷新间隔。
  • num2:刷新次数。

![[Pasted image 20250812161833.png]]

其中的信息分别是:

  • IFACE:本地网卡接口的名称。
  • rxpck/s:每秒接受的数据包。
  • txpck/s:每秒发送的数据包。
  • rxKB/s:每秒接收的数据包大小,单位KB。
  • txKN/s:每秒发送的数据包大小,单位KB。
  • rxcmp/s:每秒接受的压缩数据包。
  • txcmp/s:每秒发送的压缩包。
  • rxmcst/s:每秒接受的多播数据包。

19. 环境变量

19.1 环境变量的作用

Linux命令实际上就是一个个可执行程序。
如:cd ./Desktop/cd/usr/bin/cd

Linux如何知道cd表示什么含义?
环境变量是一种key-value型结构,其中存储了用于辅助系统运行的一系列关键信息,如:HOME:/home/joseUSER:jose
使用env可查看环境变量。
![[Pasted image 20250813155458.png]]

19.2 环境变量:PATH

我们知道Linux无论在当前工作目录是什么都能够执行cd命令,即/usr/bin/cd程序,其实就是借助了环境变量中的PATH项目。
![[Pasted image 20250813155757.png]]

PATH中记录了系统执行任何命令的搜索路径,当想要执行任何命令时,系统按照顺序搜索对应命令程序。

19.3 $符号:获取环境变量的值

LInux中想要某个环境变量的value时,使用该符号可实现。
语法$环境变量名
如:
![[Pasted image 20250813160119.png]]

或者
![[Pasted image 20250813160208.png]]
这里被遮住了,是bin/ans
当和其他内容混在一起时,使用{}包围环境变量。

19.4 配置环境变量

环境变量可由用户自行设置,分为临时设置永久设置
临时设置export 变量名=变量值
永久设置
export命令添加到对应文件中,

  • 针对当前用户:配置在~/.bashrc文件中。
  • 针对所有用户:配置在~/etc/profile文件中。
  • 默认重启生效,使用source 配置文件完成立刻生效。

如:
使用vim进入.bashrc文件
![[Pasted image 20250813161324.png]]

添加命令
![[Pasted image 20250813161312.png]]

令配置生效
![[Pasted image 20250813161438.png]]

结果
![[Pasted image 20250813161511.png]]

19.4.1 配置PATH

通过PATH使文件在任意工作目录下均能执行对应文件。
步骤:

  1. 创建文件,在其中加入命令。
  2. 为文件赋予execute权限。
  3. 将文件路径添加到PATH中:export PATH=$PATH:文件路径

注意:不能将第3步写为export PATH=文件路径,会将原有内容覆写。:是文件内部用于分隔路径的,表示将原有内容接上:文件路径

20. Linux文件的上传和下载

20.1 FinalShell中的上传、下载

finalshell的下方有文件视图,通过它可以很方便地进行上传和下载:
![[Pasted image 20250813162638.png]]

注:想要视图中显示root下的文件内容,需在配置中修改账户为root。
下载:右键对应文件以下载到本地电脑。
上传:将本地电脑文件通过拓展进入,或将文件拖拽进对应目录即可。

20.2 rz、sz命令:命令行上传下载

除了通过finalshell实现外,还能够使用rz/sz实现文件传输。
使用前需要安装服务:yum -y install lrasz

rz命令:上传,直接输入rz即可。
sz命令:下载,语法是sz 下载文件
注:文件会自动下载到fsdownload文件中。

21. 压缩和解压

21.1 压缩格式

![[Pasted image 20250813163601.png]]

21.2 tar命令:处理tar、gzip文件

Linux和Mac系统常用的2中压缩格式是:

  • .tar:称为tarball,归档文件,即简单地将文件组装到一个.tar文件中,没有太多的体积减少(封装)
  • .gz:或.tar.gz,gzip格式压缩文件,使用gzip压缩算法将文件压缩到一个文件内,可以极大地减少压缩后的体积

.tar可被看作整合文件,.gz可看作压缩文件。

针对这两种格式,都可使用tar命令进行压缩和解压地处理。
语法tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数N

  • 选项-c创建压缩文件,用于压缩模式。
  • 选项-v显示压缩、解压过程,用于查看进度。
  • 选项-x用于解压模式
  • 选项-f要创建的文件或要解压的文件,必须位于选项中的末尾
  • 选项-zgzip模式,不使用则为tarball模式。
  • 选项-C,选择解压目的地,用于解压模式

注:-C建议单独使用。

21.2.1 常用压缩组合

f1 f2 f3.txt文件压缩到test.tar文件:

tar -cvf test.tar f1.txt f2.txt f3.txt

![[Pasted image 20250813164900.png]]

f1 f2 f3.txt文件压缩到test.tar.gz文件则是:

tar -zcvf test.tar.gz f1.txt f2.txt f3.txt

21.2.2 常见解压组合

test.tar解压至当前目录:

tar -xvf test.tar

test.tar解压至指定目录:

tar -xvf test.tar -C /home/jose

test.tar.gz解压至指定目录:

tar -zxvf test.tar.gz -C /home/jose

21.3 zip、unzip命令:处理zip文件

21.3.1 zip命令:压缩文件

功能:将文件压缩为.zip压缩包。
语法zip [-r] 压缩文件名 参数1 参数2 ... 参数N

  • 选项-r,用于被压缩文件包含文件夹时。

21.3.2 unzip命令:解压文件

语法unzip [-d] 参数

  • 选项-d,指定解压的位置。

注:同名内容会自动被替换。

http://www.dtcms.com/a/411568.html

相关文章:

  • 【星海出品】RabbitMQ 死信
  • 平面设计师常用的网站wordpress 页面模板插件
  • 如何把网站做的好看.net 网站开发视频教程
  • 【python】python进阶——Redis模块
  • 免费网站建设专业服务平台广州企业网站开发
  • STM32项目分享:基于STM32的渔场水质监测系统设计与实现
  • 百度怎样发布作品百度seo排名优化软件
  • 2025-2031年全球工业高温电热元件市场全景分析报告
  • 手机常用网站两学一做专栏网站
  • CentOS 7上离线部署MySQL 8.0.X操作指南(二进制压缩包部署+独立目录部署,不在自动默认路径配置下安装)
  • 花卉网站建设策划方案百度推广的定义
  • 一万并发量的视频网站建设女生学网站建设好学吗
  • 涪陵网站设计wordpress插表格
  • 大凤号 网站建设Wordpress热门评论插件
  • 手机免费建设网站社交网站建设需求分析
  • 文献阅读笔记:机载火控雷达工作模式
  • 【MySQL_SpringBoot】mysql删除表中所有数据但不删除表结构以及表中id自增跳跃较大数字问题解决
  • 网站的建设与规划wordpress无辜跳出广告
  • 个人做论坛网站有哪些常用的网站推广
  • 【读书笔记】架构整洁之道 P6 实现细节
  • 古籍版面分析新SOTA:HisDoc-DETR如何助力AI赋能古籍数字化难题
  • 浙江省网站icp备案多久oa协同办公系统
  • 伊朗声称以色列核计划数据遭重大泄露
  • 自适应平台(Adaptive Platform)标准 ——Specification of Sensor Interfaces
  • LeetCode热题--200. 岛屿数量--中等
  • 营销型网站试运营调忧北京海淀房管局网站
  • 网站建设与制作与维护ppt网站百度排名怎么做快
  • SSM飞机售票管理系统63z52(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
  • [论文阅读] 人工智能 + 软件工程 | 当传统调试遇上LLM:CodeHinter为新手程序员打造专属辅助工具
  • 亚马逊网站做外贸网站是可以做的吗