| 命令 | 说明 |
| — | — |
| clear | 清除终端内容 |
4. 小结
- ls和tree是我们查看目录信息最常用的命令
- ls只能查看一层目录信息
- tree可以查看多层目录信息。
六、切换目录命令
========
1. 切换目录命令的使用
| 命令 | 说明 |
| — | — |
| cd 目录 | 切换到指定目录 |
| cd ~ | 切换到当前用户的主目录 |
| cd … | 切换到上一级目录 |
| cd . | 切换到当前目录 |
| cd - | 切换到上一次目录 |
注意:
- cd命令切换目录时,这个目录必须存在。
- cd 后面不写目录等价于cd ~
2. 小结
- cd命令是完成目录切换操作的,当切换目录时,这个目录必须存在。
七、绝对路径和相对路径
===========
1. 绝对路径
从根目录算起的路径叫做绝对路径
例如:
- /home/python/Desktop
- /usr/bin
2. 相对路径
从当前目录算起的路径叫做相对路径
例如:
- ./test/hello
- …/static/images
3. 绝对路径和相对路径的使用
- 使用绝对路径切换到桌面
cd /home/python/Desktop
- 在下载目录以相对路径切换到桌面
cd Downloads
cd …/Desktop
- 在桌面使用相对路径切换到上一级目录的上一级目录 cd Desktop cd …/…/
4. 自动补全
- 当敲出 文件或者目录或者命令 的前几个字母之后,按下 tab 键,如果输入的没有歧义,系统会自动补全
- 当切换目录或者使用命令的时候,如果不确定当前目录下有那些子目录或者其它命令,可以通过两次tab键查看
5. 小结
- 绝对路径和相对路径是路径的两种表现形式,应遵循最短路径原则(使用最短的路径操作某个文件或者目录)。
- 如果切换的目录离当前目录近可以使用相对路径
- 如果切换的目录离根目录近可以使用绝对路径
- 如果切换的目录离根目录和当前目录都一样那么使用绝对路径,因为这样路径很清楚和明确,方便阅读。
八、创建、删除文件及目录命令
==============
1. 创建、删除文件及目录命令的使用
| 命令 | 说明 |
| — | — |
| touch 文件名 | 创建指定文件 |
| mkdir 目录名 | 创建目录(文件夹) |
| rm 文件名或者目录名 | 删除指定文件或者目录 |
| rmdir 目录名 | 删除空目录 |
说明:
rm命令想要删除目录需要加上-r选项,-r表示递归删除目录及其内容
2. 小结
- touch 表示创建文件
- mkdir 表示创建目录
- rm 表示删除文件或者目录,如果删除目录需要使用 -r 选项,-r 表示递归删除目录及其内容
- rmdir 表示删除空目录
九、复制、移动文件及目录命令
==============
1. 复制、移动文件及目录命令的使用
| 命令 | 说明 |
| — | — |
| cp | 拷贝文件、拷贝目录 |
| mv | 移动文件、移动目录、重命名 |
说明:
- 拷贝目录需要加上-r选项,-r表示递归拷贝目录及其内容
2. 小结
- cp:拷贝目录需要加上 –r 选项
- mv:移动目录不需要加选项
- mv:命令还可以重命名文件和目录
十、终端命令格式的组成
===========
1. 终端命令格式说明
command [-options] [parameter]
每项信息的说明:
- command:命令名, 比如: ls、pwd
- [-options]:选项,可以有零个、一个或者多个选项,多个选项可以合并,比如使用的 -r 就是选项。
- [parameter]:参数,可以有零个、一个 或者 多个参数, 比如: touch 文件名、mkdir 目录名、cd 目标目录(路径),这些文件名和目录名都是参数。
- []:代表可选
2. 小结
- 终端命令完整格式: 命令名 选项(可选) 参数(可选)
- 选项:用于调整命令的功能,比如:-r选项调整cp命令的功能。
- 选项可以分为短选项和长选项
- 短选项的格式: '-'后面接单个字母, 比如:-r
- 长选项的格式: '–'后面接单词, 比如:–help
- 参数:命令的操作对象,一般是文件名或者目录名。
- 对于命令,它的选项和参数一般情况下没有顺序要求,但是scp命令是必须先选项然后在跟上参数。
十一、查看命令帮助
=========
1. 查看命令帮助方式
- –help 使用说明: 命令 --help
- man 使用说明: man 命令
查看命令帮助的目的说明:
- 查看命令帮助目的是查看命令选项信息的
man命令的说明:
| 操作键 | 说明 |
| — | — |
| 空格 | 显示下一屏信息 |
| 回车 | 显示下一行信息 |
| b | 显示上一屏信息 |
| f | 显示下一屏信息 |
| q | 退出 |
2. 小结
- –help和man是查看命令帮助的两种方式,主要是查看命令所对应的选项信息
十二、ls命令选项
=========
1. ls命令选项使用
| 命令选项 | 说明 |
| — | — |
| -l | 以列表方式显示 |
| -h | 件大小单位显示,默认是字节 |
| -a | 显示隐藏文件和隐藏目录 |
2. 小结
- ls不同选项会呈现不同的显示方式,其中-l和-a选项最常用
十三、mkdir和rm命令选项
===============
1. mkdir命令选项
| 命令选项 | 说明 |
| — | — |
| -p | 创建所依赖的文件夹 |
2. rm命令选项
| 命令选项 | 说明 |
| — | — |
| -i | 交互式提示 |
| -r | 递归删除目录及其内容 |
| -f | 强制删除,忽略不存在的文件,无需提示 |
| -d | 删除空目录 |
3. 小结
- 创建嵌套文件夹使用 “mkdir –p” 嵌套目录
- 删除空目录使用 “rmdir 目录名” 或者 “rm –d 目录名”
- 删除非空目录使用 “rm –r 目录名”
十四、cp和mv命令选项
============
1. cp命令选项
| 命令选项 | 说明 |
| — | — |
| -i | 交互式提示 |
| -r | 递归拷贝目录及其内容 |
| -v | 显示拷贝后的路径描述 |
| -a | 保留文件的原有权限 |
-a选项说明:
- -a 选项还支持拷贝文件夹并且文件夹中的文件权限不丢失
2. mv命令选项
| 命令选项 | 说明 |
| — | — |
| -i | 交互式提示 |
| -v | 显示移动后的路径描述 |
3. 小结
- 拷贝文件防止覆盖使用 “cp –i” 操作
- 拷贝文件夹使用 “cp –r” 操作,拷贝文件夹并且文件权限不丢失使用 “cp –a” 操作。
- 移动文件防止覆盖使用 “mv –i” 操作
- 移动文件夹直接使用 “mv” 即可,“mv” 还可以给文件和文件夹重命名。
十五、重定向命令
========
1. 重定向命令的介绍
重定向也称为输出重定向,把在终端执行命令的结果保存到目标文件。
2. 重定向命令的使用
| 命令 | 说明 |
| — | — |
| > | 如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式 |
| >> | 如果文件存在会追加写入文件末尾,相当于文件操作中的‘a’ 模式 |
说明:
只要在终端能显示信息的命令都可以使用重定向,比如: tree
3. 小结
- 终端内容保存到文件使用重定向有两种方式: > 和 >>
- > 表示每次只写入最新的数据,原有数据不保留。
- >> 表示每次在原有数据的基础上进行追加,原有数据会保留。
十六、查看文件内容命令
===========
1. 查看文件内容命令的使用
| 命令 | 说明 |
| — | — |
| cat | 查看小型文件 |
| more | 分屏查看大型文件 |
说明:
- cat命令结合重定向可以完成多个文件的合并
- gedit 文件编辑命令,可以查看和编辑文件
当查看内容信息过长无法在一屏上显示时,可以使用 more 命令在终端分配显示文件内容。
操作键说明:
| 操作键 | 说明 |
| — | — |
| 空格 | 显示下一屏信息 |
| 回车 | 显示下一行信息 |
| b | 显示上一屏信息 |
| f | 显示下一屏信息 |
| q | 退出 |
2. 管道(|)命令的使用
管道(|):一个命令的输出可以通过管道做为另一个命令的输入,可以理解成是一个容器,存放在终端显示的内容。
说明:
管道(|)一般结合 more 命令使用,主要是分配查看终端显示内容。
3. 小结
- 查看小文件使用 cat 命令
- 分屏查看大型文件使用 more 命令,
- 查看终端显示内容并分屏展示,使用 管道(|) 结合 more 命令。
十七、链接命令
=======
1. 链接命令的介绍
链接命令是创建链接文件,链接文件分为:
- 软链接
- 硬链接
| 命令 | 说明 |
| — | — |
| ln -s | 创建软链接 |
| ln | 创建硬链接 |
2. 软链接
类似于Windows下的快捷方式,当一个源文件的目录层级比较深,我们想要方便使用它可以给源文件创建一个软链接。
注意点:
- 如果软链接和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
- 删除源文件则软链接失效
- 可以给目录创建软链接
3. 软链接小结
- 软链接的作用是方便文件的快速访问,比如:给一个复杂路径下的文件创建一个软链接,以后就可以通过软链接完成快速访问操作。
- 创建软链接命令格式: ln -s 源文件路径(使用绝对路径) 软链接
4. 硬链接
类似于源文件的一个别名,也就是说这两个名字指向的是同一个文件数据。
注意点:
- 创建硬链接使用相对路径和绝对路径都可以
- 删除源文件,硬链接还可以访问到数据。
- 创建硬链接,硬链接数会加1,删除源文件或者硬链接,硬链接数会减1。
- 创建软链接,硬链接数不会加1
- 不能给目录创建硬链接
硬链接数:
硬链接数就是文件数据被文件名使用的次数, 好比引用计数
5. 硬链接小结
- 硬链接的作用是可以给重要文件创建硬链接,能够防止文件数据被误删。
- 删除源文件,软链接失效,但是硬链接依然可以使用。
- 创建硬链接命令格式: ln 源文件路径 硬链接
十八、文本搜索命令
=========
1. grep命令的使用
| 命令 | 说明 |
| — | — |
| grep | 文本搜索 |
2. grep命令选项的使用
| 命令选项 | 说明 |
| — | — |
| -i | 忽略大小写 |
| -n | 显示匹配行号 |
| -v | 显示不包含匹配文本的所有行 |
3. grep命令结合正则表达式的使用
| 正则表达式 | 说明 |
| — | — |
| ^ | 以指定字符串开头 |
| $ | 以指定字符串结尾 |
| . | 匹配一个非换行符的字符 |
4. 扩展
- grep 命令还可以文本搜索管道中的内容,比如: ls / | grep ‘lib’
- 在使用 grep 命令的时候还可以省略搜索内容的引号,比如: ls / | grep lib, grep hello 1.txt
5. 小结
- grep 命令是完成文本搜索操作的
- 文本搜索的命令格式: grep 选项 文本搜索内容
十九、查找文件命令
=========
1. find命令及选项的使用
| 命令 | 说明 |
| — | — |
| find | 在指定目录下查找文件(包括目录) |
find命令选项:
| 选项 | 说明 |
| — | — |
| -name | 根据文件名(包括目录名)字查找 |
2. find命令结合通配符的使用
通配符:
是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件
| 通配符 | 说明 |
| — | — |
| * | 代表0个或多个任意字符 |
| |
| ? | 代表任意一个字符 |
扩展:
通配符不仅能结合 find 命令使用,还可以结合其它命令使用, 比如: ls、mv、cp 等,这里需要注意只有 find命令使用通配符需要加上引号。
3. 小结
- find命令是完成查找文件操作的
- 查找文件的命令格式: find 指定查找目录 -name “文件名”
二十、压缩和解压缩命令
===========
1. 压缩格式的介绍
Linux默认支持的压缩格式:
- .gz
- .bz2
- .zip
说明:
- .gz和.bz2的压缩包需要使用tar命令来压缩和解压缩
- .zip的压缩包需要使用zip命令来压缩,使用unzip命令来解压缩
压缩目的:
- 节省磁盘空间
2. tar命令及选项的使用
| 命令 | 说明 |
| — | — |
| tar | 压缩和解压缩命令 |
tar命令选项:
| 选项 | 说明 |
| — | — |
| -c | 创建打包文件 |
| -v | 显示打包或者解包的详细信息 |
| -f | 指定文件名称, 必须放到所有选项后面 |
| -z | 压缩或解压缩(.gz) |
| -j | 压缩或解压缩(.bz2) |
| -x | 解包 |
| -C | 解压缩到指定目录 |
3. zip和unzip命令及选项的使用
| 命令 | 说明 |
| — | — |
| zip | 压缩成.zip格式文件 |
| unzip | 解压缩.zip格式文件 |
unzip命令选项:
| 选项 | 说明 |
| — | — |
| -d | 解压缩到指定目录 |
说明:
- 压缩文件尽量使用.gz格式,因为占用空间较少
- 使用zip命令压缩的文件占用空间比较多, 当时比较通用,操作更加简单。
4. 小结
- .gz和.bz2的压缩文件使用tar命令来完成压缩和解压缩
- .zip的压缩文件使用zip和unzip命令来完成压缩和解压缩
二十一、文件权限命令
==========
1. chmod命令的介绍
| 命令 | 说明 |
| — | — |
| chmod | 修改文件权限 |
chmod修改文件权限有两种方式:
- 字母法
- 数字法
2. chmod 字母法的使用
角色说明:
| 角色 | 说明 |
| — | — |
| u | user, 表示该文件的所有者 |
| g | group, 表示用户组 |
| o | other, 表示其他用户 |
| a | all, 表示所有用户 |
权限设置说明:
| 操作符 | 说明 |
| — | — |
| + | 增加权限 |
| - | 撤销权限 |
| = | 设置权限 |
权限说明:
| 权限 | 说明 |
| — | — |
| r | 可读 |
| w | 可写 |
| x | 可执行 |
| - | 无任何权限 |
3. chmod 数字法的使用
数字法就是“rwx” 这些权限也可以用数字来代替
权限说明:
| 权限 | 说明 |
| — | — |
| r | 可读,权限值是4 |
| |
| w | 可写,权限值是2 |
| x | 可执行,权限值是1 |
| - | 无任何权限,权限值是0 |
4. 小结
- 利用 chmod 命令可以控制文件的操作权限。
- 字母法格式: chmod 不同角色设置的权限 文件
- 数字法格式: chmod 不同角色的权限值 文件名
二十二、获取管理员权限的相关命令
================
1. sudo命令的使用
| 命令 | 说明 |
| — | — |
| sudo -s | 切换到root用户,获取管理员权限 |
| sudo | 某个命令的执行需要获取管理员权限可以在执行命令前面加上sudo |
说明:
- 如果只是某次操作需要使用管理员权限建议使用 sudo , 也就是说临时使用管理器权限。
- 如果大量操作都需要使用管理员权限 sudo –s, 但是操作需谨慎。
2. whoami命令的使用
| 命令 | 说明 |
| — | — |
| whoami | 查看当前用户限 |
3. exit命令的使用
| 命令 | 说明 |
| — | — |
| exit | 退出登录用户 |
说明:
- 如果是切换后的登陆用户,退出则返回上一个登陆账号。
- 如果是终端界面,退出当前终端。
4. who命令的使用
| 命令 | 说明 |
| — | — |
| who | 查看所有的登录用户 |
5. passwd命令的使用
| 命令 | 说明 |
| — | — |
| passwd | 修改用户密码,不指定用户默认修改当前登录用户密码 |
6. which命令的使用
| 命令 | 说明 |
| — | — |
| which | 查看命令位置 |
7. 关机和重启命令的使用
| 命令 | 说明 |
| — | — |
| shutdown –h now | 立刻关机 |
| reboot | 重启 |
8. 小结
- sudo 是临时获取管理员权限
- sudo -s 是切换到管理员用户,一直使用管理员权限,需要谨慎操作。
- exit 是退出当前用户
- passwd 默认修改当前用户密码
二十三、用户相关操作
==========
1. 创建用户
| 命令 | 说明 |
| — | — |
| useradd | 创建(添加)用户 |
useradd命令选项:
| 选项 | 说明 |
| — | — |
| -m | 自动创建用户主目录,主目录的名字就是用户名 |
| -g | 指定用户所属的用户组,默认不指定会自动创建一个同名的用户组 |
说明:
- useradd 命令的使用需要使用管理员权限,前面需要加上 sudo
- 创建用户如果不指定用户组,默认会自动创建一个同名的用户组
- 查看用户是否创建成功,可以查看**/etc/passwd**这个文件
- 查看用户组是否创建成功,可以查看**/etc/group**这个文件
passwd文件中的每项信息说明,以root❌0:0:root:/root:/bin/bash为例:
- 第一个:用户名
- 第二个:密码占位符
- 第三个:uid, 用户id
- 第四个:gid, 用户所在组id
- 第五个:用户描述, 可选,
- 第六个:用户的主目录所在位置
- 第七个:用户所用 shell 的类型,一般由bash或者sh,默认不设置是sh类型
group文件中的每项信息说明, 以laowang❌1001:为例:
- 第一个:用户组名
- 第二个:用户组密码占位符,一般Linux系统的用户组都没有密码的
- 第三个:组id
id命令查看用户信息:
| 命令 | 说明 |
| — | — |
| id | 查看用户信息 |
每项信息说明:
uid=1001(laowang) gid=1001(laowang) 组=1001(laowang)
- 第一个: uid 表示用户id
- 第二个: gid 表示用户组id
- 第三个: 组 表示用户所在的用户组
2. 设置密码
给其它用户设置密码,需要使用: sudo passwd 用户名
3. 切换用户
| 命令 | 说明 |
| — | — |
| su | 切换用户 |
语法格式: su - 用户名
解决办法:
- 给laowang用户设置一个sudo附加组, 需要使用usermod修改用户信息
4. 修改用户信息
| 命令 | 说明 |
| — | — |
| usermod | 修改用户信息 |
usermod选项:
| 命令 | 说明 |
| — | — |
| -G | 设置一个附加组 |
| -g | 修改用户组 |
5. 扩展: 删除附加组