本文目录
  1. Linux基础命令【掌握】
    1. linux目录结构
    2. linux基础命令
      1. linux命令格式
      2. 基础四大命令
      3. ls命令
      4. cd和pwd和clear命令
      5. 相对路径和绝对路径
      6. 帮助手册
      7. mkdir命令
      8. touch命令
      9. cat_more_less命令
      10. cp命令
      11. mv命令
      12. rm命令【慎重使用】
      13. echo命令
      14. 重定向符号
      15. head和tail
      16. 管道符 |
      17. grep命令
      18. which和find
      19. 软连接/硬连接
    3. 压缩和解压缩
      1. tar命令【掌握】
      2. zip和unzip命令
    4. VI编辑器
      1. vi操作文件三大步
      2. 需求:
      3. vi其他命令
  2. Linux高级命令【熟悉】
    1. 用户基本操作
    2. 切换用户
    3. 用户授权
    4. sudo命令使用
    5. 用户组操作
    6. ll命令图解【掌握】
    7. 权限详解【掌握】
    8. chmod【掌握】
  3. 虚拟机的快照
    1. 拍摄快照
    2. 恢复快照

分类: linux | 标签: linux

Linux

发表于: 2026-05-16 23:33:28 | 字数统计: 5.2k | 阅读时长预计: 25分钟

Linux基础命令【掌握】

linux目录结构

Linux的目录结构: 是一个树型结构。没有盘符,也就是没有C盘、D盘等

Windows系统根目录:  可以拥有多个根目录, 如 C:/、D:/、E:/   举例: c:/目录1/目录2/文件

Linux系统根目录: 只有一个根目录 /, 所有文件都在它下面       举例: /目录1/目录2/文件

注意: 
    1- linux【绝对路径】中,第一个/代表根目录,后面其他的/代表两个目录之间的间隔符    举例: /home/zhangsan
    2- linux【相对路径,开头肯定不是/】
        2.1- ./ 表示当前目录
        2.2- ../ 表示上一级目录
    总结:Linux的【绝对路径一定是以/开头】。


常用命令[重要!!!多用!!!]:
    cd : 切换目录位置
    pwd: 打印当前所在位置的绝对路径   
    ls : 展示当前目录下所有文件
    clear: 清屏   快捷键:ctrl+L
    
     ~ : 家目录  普通用户的家目录是:/home/普通用户名   root用户的家目录是: /root
    快速回家: cd ~  注意: ~可以省略
    快速回到上一次所在的位置: cd -
    两个小技巧: tab补全文件名称   history或者↑和↓能够上下翻看历史命令

1778945760291

目录作用
/binBinaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令
/boot系统引导程序所需要的文件目录,存放的是启动 Linux 时使用的一些核心文件
/devDevice(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,磁盘,光驱
/etc用来存放所有的系统管理所需要的配置文件和子目录,系统配置,启动程序
/home普通用户的家目录,在 Linux 中,每个普通用户都有一个自己的目录,一般该目录名是以用户的账号命名的
/libLibrary(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
/mnt临时挂载储存设备的挂载点,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了
/optoptional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个MySQL数据库则就可以放到这个目录下。默认是空的。
/proc存储的是当前内核运行状态的一系列特殊文件。操作系统运行时,进程信息和内核信息存放在这里。
/rootLinux超级权限用户root的家目录
/sbin管理系统相关的命令【超级管理员用】
/tmp临时文件目录,这个目录被当作回收站使用
/usr用户或系统软件应用程序目录,类似于 windows 下的 program files 目录。

linux基础命令

linux命令格式

command [-options] [parameter]

说明:
- command : 命令名, 相应功能的英文单词或单词的缩写
- [-options] : 选项, 可用来对命令进行控制, 也可以省略
- parameter  : 传给命令的参数, 可以是 零个、一个 或者 多个

基础四大命令

ls: 查看当前目录了下所有内容。list
cd 目录名: 切换目录。change directory
pwd: 查看当前所在位置。print work directory
clear: 清屏

补充:
history 查看历史执行命令

ls命令

ls [-a -l -h] [路径] : 查看指定路径下文件列表  注意: 默认都是当前路径

参数 -a : 展示出隐藏文件/目录          注意: .开头就是隐藏文件
参数 -l : 以详细信息展示文件           注意: ls -l 可以简化为ll
参数 -h : 配合-l使用,人性化展示文件大小 

cd和pwd和clear命令

cd [你要去的路径] : 切换到指定路径下

家目录: 普通用户的家目录:/home/普通用户名     root用户的家目录:/root    

如何快速回家: cd ~    注意: ~可以省略

如何快速切回到刚才所在的位置: cd -


pwd : 查看当前路径 

clear:  清屏       快捷键: ctrl+L

相对路径和绝对路径

1. 相对路径和绝对路径
绝对路径: 以根目录'/'做起点,描述路径的方式,路径以/开头
相对路径: 以当前目录做起点,描述路径的方式,路径不需以/开头
你只要能够明确告诉命令你需要去什么地方,就可以了。

2. 特殊路径符有哪些?
.  表示当前目录,  比如:  cd .    或 cd ./Desktop
.. 表示上一级目录,比如: cd ..  或 cd ../..
总结:.或者..后面需要继续跟上其他路径,必须要使用/分隔

帮助手册

help查看帮助: 命令 --help       解释:会列出命令的帮助文档   
    举例: ls --help

man查看手册:  man  命令         解释: man(manual, 手册)命令查看详细手册
    举例: man ls
    按空格翻页,q退出帮助手册

mkdir命令

mkdir [-p] 目录路径 : 创建指定目录   
    -p:可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录

创建一级目录: mkdir 目录路径
创建多个同级目录: mkdir 目录路径1  目录路径2 ...
创建父子嵌套目录: mkdir -p 目录路径1/目录路径2/...

注意: mkdir只能用来创建文件夹,不能创建文件。

例如

mkdir a
mkdir b c
mkdir -p e/f

touch命令

touch 文件路径: 创建指定【空内容】的文件

创建一个文件: touch 文件路径
创建多个文件: touch 文件路径1  文件路径2 ...

例如

touch 1.txt
touch ./b/2.txt ./b/3.txt

cat_more_less命令

查看文件内容

cat [-n] 文件 :  cat查看文件内容,一般建议查看小文件
          -n :显示行号
          
more [-num] 文件:  more查看文件内容,一般建议查看大文件(可以翻页)
          按回车: 下一行
          空格: 下一页
          b  : 上一页
          q  : 退出。ctrl+C也可以
          -num: 展示条数  举例: more -10 文件
          
less [-N] 文件: less查看文件内容,一般建议查看大文件(可以翻页,可以搜索)
          -N : 显示行号
          空格: 下一页
          b  : 上一页
          q  : 退出
          /内容: 搜索指定内容,而且可以使用正则表达式    N: 下一个   shift+N:上一个
          
总结: 使用最多的情况
    1- 大文件,为了保险起见 more 文件路径
    2- 小文件(<=100MB)直接就  cat 文件路径

cp命令

复制的英文单词: ==copy==

cp [-r] 要复制的文件或者文件夹  目标位置    : 复制文件或者文件夹到指定目标位置

注意: 复制文件夹必须要加-r

注意: cp复制文件后,源文件依然存在

mv命令

移动的英文单词: ==move==

mv 要移动的文件或者文件夹  目标位置: 移动文件或者文件夹到指定目标位置

注意: 目标位置的文件/文件夹不存在就会直接改名    如果想要把文件移动到目录中,此目录一定要存在,否则当成了普通文件改名

注意: mv移动文件后,源文件不存在。类似Windows的剪切操作
总结: mv具备两个功能,1- 移动文件或文件夹到新的地方;2- 对文件或文件夹进行重命名的操作

rm命令【慎重使用】

移除的英文单词: ==remove==

rm [-r -f] 要删除的文件或者文件夹:  删除指定的文件或者文件夹

注意: -r 删除文件夹的时候必须要加该参数        -f: 主要用于强制删除文件或者文件夹
r:repeat循环;f:force强制

删除文件(有提示): rm 文件路径。不能用来删除文件夹
删除文件(无提示): rm -f 文件路径
删除目录(有提示): rm -r 目录路径
删除目录(无提示): rm -rf 路径

注意: 
    1- 实际工作一定要特别注意rm -rf的使用。Linux系统没有回收站
    2- 如果在提示中输入的内容出错,按住CTRL或者Shift键,然后按退格键Backspace去删除内容。y表示确认删除;n表示不删除

echo命令

echo 要打印的内容

注意: 默认打印到控制台,但是经常配合重定向符号使用

注意: echo配合反引号``可以先识别出关键字,然后把对应的内容输出

重定向符号

> : 覆盖写入。
>> : 追加写入。会自动的带上回车换行符

注意: 一般都是配合echo使用

演示案例:

echo "hello" > 1.txt
cat 1.txt
echo "hello python" >> 2.txt
echo "hello linux" >> 2.txt
cat 2.txt

head和tail

两个命令都是用来查看文件内容。

head [-num] 文件路径:  查看文件的头部几行   默认前10行   当然-num可以指定任意行数

tail [-num] 文件路径:  查看文件的尾部几行   默认后10行   当然-num可以指定任意行数

tail -f 文件路径:  持续跟踪查看指定文件内部变化。工作中一般用来查看日志文件的内容变化

案例

head -3 linux.md
tail -3 linux.md
tail -f 1.txt

管道符 |

管道使用格式:  命令1 | 命令2 | 命令3 ...

解释: 把命令1的结果传递给命令2,然后再把命令2的结果传递给命令3,依次类推...

注意: 管道一般配合grep命令使用较多

sort: 排序

grep命令

grep [-n] 关键字 文件路径: 在指定文件中搜索指定关键字。用来对内容进行搜索

注意: -n 主要用于显示搜索到结果的行号

注意: 管道|一般配合grep命令使用较多

示例:
grep linux a.txt | grep ip
先对a.txt文件内容搜索linux关键词,然后将搜索结果作为输入给到grep ip命令使用,也就是再搜索ip关键词

grep linux a.txt | wc -l
先对a.txt文件内容搜索linux关键词,然后将搜索结果作为输入给到wc -l命令使用,用来有多少行内容。wc是wordcount

cat a.txt | wc -l
统计a.txt文件有多少行

which和find

find不能查找文件内容,grep可以查找文件内容

which 命令:  查找命令所在位置

主要: find命令也可以结合通配符*使用,不加路径代表当前路径下查找

find [查找路径] -name 名称: 【掌握】,工作中主要使用它。根据文件名查找
find [查找路径] -size [+ -]大小: 根据文件大小查找。大小单位可以指定为k、M、G              
                    +: 大于     
                    -: 小于
例子:
find /a -size +2k
find /a -size +2M
                    
find [查找路径] -type [d f] -name 名称: 根据文件类型查找     
                    d: 文件夹    
                    f: 文件 

案例

# 查a开头的文件
find /a -type f -name a*
# 查a开头的文件夹
find /a -type d -name a*
# 查大于2k的文件
find /a -size +2k
# 查小于2M的文件
find /a -size -2M

软连接/硬连接

软连接(类似快捷方式): ln -s 要被连接文件或者目录的路径  存放软连接目标路径位置
作用:简化访问路径
注意: 
    如果软连接的被指向的源文件或者目录丢失,软连接就失效了
    **如果软连接与原始的文件或目录不在同一个地方,那么文件或目录的路径要写【绝对路径】



硬连接(类似复制备份): ln  要被连接文件或者目录的路径  存放的硬连接目标路径位置。【了解即可】
注意: 如果硬连接的被指向的源文件或者目录丢失,硬连接不受影响。作用类似cp复制文件/文件夹的命令

案例

# 软连接
ln -s /b/c/d/a.txt /a_link
# 硬链接
ln /b/c/d/b.txt /b_link

压缩和解压缩

tar命令【掌握】

普通打包

打包并使用gzip压缩

打包并使用bzip2压缩

参数

-c,创建压缩文件,用于压缩模式
-v,显示压缩、解压过程,用于查看进度
-x,解压模式
-f,要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个
-z,gzip模式,不使用-z就是普通的tarball格式
-C,选择解压的目的地,用于解压模式

# 工作中使用最多
gzip压缩格式:  tar -zcvf 包名.tar.gz 多个文件或者目录
gzip解压格式:  tar -zxvf 包名.tar.gz -C 目标位置路径

普通打包格式: tar -cvf 包名.tar 多个文件或者目录
普通解包格式: tar -xvf 包名.tar -C 目标位置路径
注意: 上面的命令并不会进行压缩,只是把文件或文件夹归集/收集到一起了

拓展:
bzip2压缩格式:  tar -cjvf 包名.tar.bz2 多个文件或者目录
bzip2解压格式:  tar -xjvf 包名.tar.bz2 -C 目标位置路径

zip和unzip命令

打包并使用zip压缩

参数

-r: 压缩目录的时候递归进入

-d: 选择解压的目的地

zip压缩格式:  zip -r 包名.zip 多个文件或者目录
zip解压格式:  unzip 包名.zip -d 目标位置路径

VI编辑器

vi: 是visual interface的简称, 是Linux中最经典的文本编辑器

vim:  编辑器是从vi发展出来的文本编辑器, 支持代码补全、编译及显示效果等方面编程的功能提别丰富, 在程序员中被广泛使用, 被称为编辑器之神。

查看文件内容:  cat 文件
修改文件内容:  vi 文件 或者 vim 文件

1778946895775

vi操作文件三大步

打开文件: vim 文件路径     注意: 如果文件存在就打开,不存在就创建

编辑文件: 输入i进入文件进行编辑

保存文件:
1.先进入命令模式: 按ESC键  
2.进入底线命令模式: 输入冒号:   
3.输入命令: 
    :q(退出): 只是对文件内容看了一下,没有做任何编辑(删除、修改、新增)操作
    :q!(强制退出): 我虽然对文件编辑了,但是编辑的内容不想要
    :wq(保存并退出): 使用最多。正常的保存然后退出
    :wq!(强制保存并退出): 我需要保存对文件的编辑内容,但是该文件是一个只读的文件。

需求:

使用vi编辑器,创建一个名称为hello.py文件,然后输入内容为: print(‘hello ai大模型’),最后wq保存

注意: 如果文件不存在,不会报错,会自动创建,编辑完内容后手动输入:wq保存即可

要求保存后再次使用vim命令查看内容是否保存成功,然后q退出

[root@localhost ~]# vi hello.py
# 输入i进入插入模式: 编写或者粘贴内容
print('hello ai大模型')
# 内容输入完后,按ESC退出到命令模式
# 然后在命令模式输入:wq保存并退出
:wq
"hello.py" 1L, 23C written

[root@localhost ~]# vim hello.py
print('hello bigdata')
# 如果仅查看了内容,没有修改,可以使用q直接退出,但是如果不小心修改了内容又不想保存,使用q!强制退出
:q
[root@localhost ~]# 

vi其他命令

VIM扩展教程:https://www.runoob.com/linux/linux-vim.html

复制一整行: yy
粘贴: p
删除一整行: dd



跳到文件的第一行: gg
跳到文件的最后一行: shift+G
撤销刚才的操作: u
如果vim没有正常的退出,也就是出现了隐藏的swap交换文件,如何解决:
1- 执行ll -a的命令,检查有没有隐藏文件
2- 执行 rm -rf 隐藏文件名称,手动删除隐藏文件
3- 重新正常的编辑原始文件即可

Linux高级命令【熟悉】

用户基本操作

需要在超级管理员root用户下操作

添加用户(不指定组): useradd 用户名 [-g 组名]       
    注意: 默认在/home目录下创建了一个以用户名命名的文件夹,此文件夹就是对应用户的家目录
    注意: 如果添加用户的时候没有指定所属组,默认自动生成了一个以此用户名命名的组

删除用户: userdel [-r] 用户名       
    注意: 如果不加-r,用户被删除后,它的家目录依然存在
    注意: 如果用户所属组是添加用户的时候自动生成的,那么删除用户的对应的组也会自动删除
    
查看所有用户普通方式: cat /etc/passwd    用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)
查看所有用户快捷方式: getent passwd  

拓展_如何在root用户下给普通用户添加密码:  passwd 用户名     
                             注意: 会提示输入2次密码

切换用户

在前面,我们接触过su命令切换到root账户。
su命令就是用于账户切换的系统命令,其来源英文单词:Switch User

-符号是可选的,表示是否在切换用户后加载环境变量(后续讲解),建议带上
参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl + d

切换到指定用户语法: su [-] 用户名
注意: 使用普通用户,切换到其它用户需要输入密码,如切换到root用户
注意: 使用root用户切换到其它用户,无需密码,可以直接切换

退出当前用户: exit 或者 ctrl+d

用户授权

在我们得知root密码的时候,可以通过su命令切换到root得到最大权限。
但是我们实际一般不知道root密码,即使知道也不建议长期使用root用户,避免带来系统损坏。

实际我们找到用户root权限的管理者,申请root权限后, 使用”sudo 命令”格式

root用户如何给普通用户授权?
1.root用户下打开sudoers文件
    进入/etc/sudoers普通方式: vi /etc/sudoers
    进入/etc/sudoers快捷方式: visudo
2.在文件最后添加以下内容并保存
    格式: 普通用户名    ALL=(ALL)    NOPASSWD:ALL
    举例: zhangsan     ALL=(ALL)   NOPASSWD:ALL
3.普通用户下使用root权限
    格式: sudo 其他命令      注意:即使前面授权了使用的时候,没有添加sudo,依然是权限不够

1778947000428

sudo命令使用

普通用户如何已经被root用户赋权,就可以用sudo临时使用root权限
格式: sudo 其他命令 注意:即使前面授权了使用的时候,没有添加sudo,依然是权限不够

用户组操作

添加用户组: groupadd 组名

删除用户组: groupdel 组名

查看所有用户组快捷方式: getent group  
查看所有用户组普通方式: cat /etc/group      组名称:组认证(显示为x):组ID

修改文件/目录的所属组: chgrp 组名 指定文件/目录路径

同时修改所属用户和所属组: chown 用户名:组名 要修改的文件
chown的各种使用:
    chown 用户名:组名 要修改的文件
    chown 用户名 要修改的文件
    chown :组名 要修改的文件

1778947085133

1778947108533

ll命令图解【掌握】

1778947132678

权限详解【掌握】

1778947145621

chmod【掌握】

修改权限

修改权限方式1: chmod [-R] u=rwx,g=rwx,o=rwx 文件或者目录    以符号方式给文件设置最高权限   -R: 对文件夹内的全部内容应用同样的操作

修改权限方式2: chmod [-R] +rwx 文件或者目录     注意: w只能给当前用户加上

【掌握】修改权限方式3,推荐: chmod [-R] 777 文件或者目录      以数字方式给文件设置最高权限

注意: 以上多种方式最常用的命令就是给一个文件添加执行权:  chmod +x 文件

1778947170389

虚拟机的快照

快照: 能把拍照当时的所有情况定格,方便以后恢复快照,恢复到当时的情况

建议: 拍摄快照的时候保持关机状态,因为这样会节省很多空间!!!

拍摄快照

1778947188447

恢复快照

1778947199637

------ 本文结束,感谢您的阅读 ------
本文作者: 程序员青阳
版权声明: 本文采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。