大家好,作为一名以 Python 语言为主要开发语言的小伙伴来说,只会 Python 很难适用工作的需要,我们需要与SQL、Linux 等语言一起打交道来完成任务,本文就对最频繁使用的进行总结,喜欢本文记得点赞、收藏、关注。
注:资料、技术交流,文末获取。
一、Linux 终端命令格式
1.终端命令格式
command [-options] [parameter]
说明:
-
command : 命令名,相应功能的英文单词或单词的缩写 -
[-options] : 选项,可用来对命令进行控制,也可以省略 -
parameter : 传给命令的参数,可以是 零个、一个 或者 多个
1.1 常用 Linux 命令的基本使用
序号 | 命令 | 对应英文 | 作用 |
---|
01 | ls | list | 查看当前目录下的内容 | 02 | pwd | print working derectory | 查看当前所在文件夹 | 03 | cd [目录名] | change directory | 切换文件夹 | 04 | touch [文件名] | touch | 如果文件不存在,新建文件 | 05 | mkdir [目录名] | make directory | 创建目录 | 06 | rm [文件名] | remove | 删除指定的文件名 | 07 | clear | clear | 清屏 |
2.查阅命令帮助信息
因为一个命令有很多可选项,死记硬背肯定不行,所以需要借助手册查阅.
2.1 --help 帮助信息
command --help
说明:
缺点: 虽然可以查询命令的帮助信息,但是没有提供 翻页、搜索功能.
2.2 man 手册
man command
说明:
使用 man 时的操作键:
操作键 | 功能 |
---|
空格键 | 显示手册的下一屏 | Enter 键 | 一次滚动首页也得一行 | b | 回滚一屏 向上翻屏 | f | 前滚一屏 forward 向下翻屏 | q (quit) | 退出 | /word | 搜索 word 字符串 | n(next) | 搜索下一个 | N | 搜索上一个 |
二、文件和目录常用命令
1. 查看目录内容
1.1 终端使用技巧
1) 自动补全
2) 曾经使用过的命令
1.2 ls 命令说明
linux 下文件和目录的特点
演练目标:
创建文件夹: mkdir -p /export/servers
进入/export/servers文件夹
1 创建文件 01.txt touch 01.txt
2 创建隐藏文件 02.txt touch .02.txt
3 罗列非隐藏文件 ls
4 罗列非隐藏文件和隐藏文件 ls -a
1.3 ls 常用选项
如果 只使用 ls 命令 就只能看到当前目录下 非隐藏 文件。
如果想增强功能,就需要学习更多的选项
选项 | 英文 | 含义 |
---|
-a | all | 显示指定目录下所有子目录与文件,包含隐藏文件 | -l | | | 以列表方式显示文件的详细信息 | | | -h | human-readable | 配合 -l 以人性化的方式显示文件大小 |
演练目标:
1 切换到 /usr/tmp 清空内容 cd /usr/tmp rm -rf aaa/
2 创建隐藏文件 非隐藏文件 目录 mkdir aaa
3 查看当前目录内容 (缺点: 隐藏文件看不到) ls
4 查看当前目录所有内容 (既包含隐藏,也包含非隐藏) -a
5 查看目录内容的详细信息(查看文件类型、权限、大小等 缺点:文件大小没有单位) -l
6 简化合并 查看目录内容的详细信息 ls -alh
计算机中文件大小的表示方式(科普)
单温 | 英文 | 含义 |
---|
字节 | B(byte) | 在计算机中作为一个数字单元,一般为 8 位二进制数 | 千 | K(Kibibyte) | 1KB = 1024 B,千字节( 1024 = 2 的 10 次方) | 兆 | M(Mebibyte) | 1MB = 1024 KB,百万字节 | 千兆 | G(Gigabytee) | 1GB = 1024 MB,十亿字节,千兆字节 | 太 | T(Terabyte) | 1 TB = 1024 GB,万亿字节,太字节 | 拍 | P(Petabyte) | 1 PB = 1024 PB,百万亿字节,拍字节 |
1.4 ls 和通配符的使用
准备工作
cd /usr/tmp
rm -rf *
touch a23.txt 11.txt 111.txt 112.txt 123.txt 223.txt 323.txt 423.txt 523.txt
ls
通配符 | 含义 |
---|
* | 代表 任意个数 的字符 | ? | 代表任意一个字符,且只能是一个 |
需求 1:
1 查看以 1 开头的文件或目录 ls 1*
2 查看以 3.txt 结尾的 文件或目录 ls *3.txt
3 查看含有3的文件列表 ls *3*
4 查看第二个字符是2的文件 ls ?2*
通配符 | 含义 |
---|
[abc] | 匹配 a、b、c 中任意一个 | [a-f] | 匹配从 a 到 f 范围内的任意一个字符 |
需求 2:
1 查看 第一个字符是 1到5,以23.txt结尾 的 目录或文件名 ls [1-5]*23.txt
常用: ls -alh
ls -alh / 列出来/目录下面详细的文件及目录
2.切换目录
2.1 cd
命令 | 含义 |
---|
cd 目录 | 切换到指定目录下 | cd … | 切换到上级目录 | cd - | 可以在最近的两次目录之间切换 |
需求:
1 查看当前所在目录 pwd
2 切换到 /usr/local cd /usr/local/
3 切换到 上一级目录 /usr cd .. (..代表上一级目录)
4 后退到上一次访问的目录中 cd -
2.2 相对路径和绝对路径
2.2.1 目标 : 通过 路径 找到 目标
2.2.2 如何分步骤实现:
第一步: 使用相对路径定位目标
第二步: 使用绝对路径定位目标
2.2.3 第一步: 使用相对路径定位目标
-
特征: 相对路径 输入路径时,最前面不是以 “/” 开始的,表示相对 当前目录 所在的位置 -
缺点: 参照工作目录 发生变化 相对路径也要发生变化
需求1: 当前工作目录是 /usr,使用相对路径 切换到 /usr/tmp 目录下
需求2: 当前工作目录是 /root,使用相对路径 切换到 /usr/tmp 目录下 cd ../usr/tmp/
2.2.4 第二步: 使用绝对路径定位目标
-
特征: 绝对路径 在输入路径时,最前面是以 / 开始的,表示 从 根目录 开始的具体目录位置 -
优点: 定位准确,不会因为 工作目录变化 而变化
需求1: 当前工作目录是 /usr,使用相对路径 切换到 /usr/tmp 目录下
需求2: 当前工作目录是 /root,使用相对路径 切换到 /usr/tmp 目录下
2.2.5 小总结
3.创建和删除操作
3.1 touch
3.1.1 目标
3.1.2 路径
-
第一步: 创建一个空白文件 -
第二步: 修改文件的末次修改日期
3.1.3 实现
第一步: 创建一个空白文件
touch 不存在的文件
第二步: 修改文件的末次访问时间
touch 存在的文件
3.1.4 小结
通过 touch 文件名 创建文件 和 修改文件的末次访问时间
3.2 mkdir
3.2.1 目标:
3.2.2 路径:
-
第一步: 创建 没有层级关系的目录 -
第二步: 创建 有层级关系的目录
3.2.3 实现
yum -y install tree
第一步: 创建 没有层级关系的目录
mkdir 目录名
第二步: 创建 有层级关系 的目录
mkdir -p 目录1/目录2/目录3
3.2.4 小结
通过 mkdir -p 目录名 命令 创建目录
注意: 新建目录的名称 不能与当前目录中 已有的目录或文件 同名
3.3 rm
3.3.1 目标
通过 rm -rf 文件/目录 命令实现删除 文件和目录的功能,rm 对应的英文是 remove 含义: 删除
3.3.2 路径
3.3.3 实现
第一步: 删除文件 (有提示)
rm 文件
第二步: 删除文件 (取消提示)
rm -f 文件
参数 | 英文 | 含义 |
---|
-f | force (强制) | 强制删除,忽略不存在的文件,无需提示 |
第三步: 删除有内容的目录
rm -rf 目录
参数 | 英文 | 含义 |
---|
-r | recursive (递归) | 递归地删除目录下的内容,删除文件夹 时必须加此参数 |
第四步: rm 结合 通配符 * ? \[abc][a-z]
rm -rf *.txt
3.3.4 小结
04.拷贝和移动文件
序号 | 命令 | 对应英文 | 作用 |
---|
01 | tree [目录名] | tree | 以树状图 列出目录中的内容 | 02 | cp 源文件 目标文件 | copy | 复制文件或者目录 | 03 | mv 源文件 目标文件 | move | 移动文件或目录 或者 重命名 |
4.1 tree (扩展)
4.2.1 目标
4.2.2 路径
-
第一步: 以树形结构显示目录中的文件和目录 -
第二步: 只显示 当前目录中的目录 -
第三步: 显示指定的两层
4.2.3 实现
准备工作
mkdir -p /export/aaa/bbb/ccc
touch /export/aaa/01.txt /export/aaa/02.txt
touch /export/aaa/bbb/03.txt /export/aaa/bbb/04.txt
touch /export/aaa/bbb/ccc/05.txt /export/aaa/bbb/ccc/06.txt
默认没有安装 tree 组件,需要联网时安装:
yum -y install tree
yum -y remove tree
第一步: 以树形结构显示目录中的文件和目录
tree [目录]
-
如果指定目录,就显示指定目录的内容 -
如果不指定目录,就显示当前目录的内容
第二步: 只显示 当前目录中的目录
tree -d [目录]
选项 | 英文 | 含义 |
---|
-d | derictory (目录) | 只显示目录,不显示文件 |
第三步: 显示指定的两层
tree -L n [目录]
4.2.4 小结
- 通过
tree 目录 命令可以以树状图列出文件目录结构.
4.2 cp
4.2.1 目标
- 通过
cp 实现复制将指定的 文件 或 目录 复制到 两一个 文件 或 目录中
4.2.2 路径
-
第一步: 备份指定文件 -
第二步: 将文件复制到目录中 -
第三步: 将文件复制到另一个文件中,实现覆盖效果 -
第四步: 复制目录 到指定 目录中
4.2.3 实现
第一步: 备份指定文件
cp 文件1 备份文件名
第二步: 将文件复制到目录中
cp 文件1 目录/
第三步: 将文件复制到另一个文件中,实现覆盖效果
cp 文件1 文件2(存在的)
第四步: 复制目录 到指定 目录中
cp -r 目录1/ 目录2/
命令 | 英文 | 作用 |
---|
-r | recursive (递归) | 递归复制目标目录的内容 |
4.2.4 小结
- cp 命令的功能是将给出的 文件 或 目录 复制到另一个 文件 或 目录中
4.3 mv (move)
4.3.1 目标
- 通过
mv 命令可以用来 移动 文件 或 目录,也可以给 文件或目录重命名
4.3.2 路径
-
第一步: 将文件 移动 另一个目录中 -
第二步: 重命名 -
第三步: 将目录移动到 另一个目录中
4.3.3 实现
第一步: 将文件 移动 另一个目录中
mv 文件 目录/
第二步: 重命名
mv 旧文件名 新文件名
第三步: 将目录移动 到 另一个目录中
mv 被移动目录 目标目录
4.3.4 小结
mv 可以用来 移动 文件 或 目录,也可以给 文件或目录重命名
5. 查看文件内容
序号 | 命令 | 对应英文 | 作用 |
---|
01 | cat 文件名 | concatenate | 查看小文件内容 | 02 | less -N 文件名 | less | 分频 显示大文件内容 | 03 | head -n 文件名 | | | 查看文件的前一部分 | | | | 04 | tail -n 文件名 | | | 查看文件的最后部分 | | | | 05 | grep 关键字 文件名 | grep | 根据关键词,搜索文本文件内容 |
准备工作
cd /export/
rm -rf *
cp /etc/passwd /export/
cp /etc/profile /export/
tree /export
5.1 cat
5.1.1 目标
通过 cat 会一次显示所有的内容,适合 查看内容较少 的文本文件
5.1.2 路径
-
第一步: 显示文件内容 -
第二步: 显示文件内容(显示行号 包含空行) -
第三步: 显示文件内容(显示行号 排除空行)
5.1.3 实现
第一步: 显示文件内容(不显示行号)
cat 文件名
第二步: 显示文件内容(显示行号 包含空行)
cat -n 文件名
第三步: 显示文件内容(显示行号 排除空行)
cat -b 文件名
参数 | 英文 | 含义 |
---|
-b | number-nonblank | 非空行 显示行号 |
命令 | 英文 | 含义 |
---|
nl 文件 | number lines of files | 查看文件内容 且 非空行显示行号 |
5.1.4 小结
重定向:
> : 覆盖形式
>> : 追加的形式
cat /etc/profile >> /export/01.txt
cat /etc/profile >> /export/01.txt
cat /etc/profile >> /export/01.txt
cat /etc/profile >> /export/01.txt
cat /etc/profile >> /export/01.txt
5.2 less
5.2.1 目标
5.2.2 路径
-
第一步 : 分屏显示文件内容 -
第二步 : 根据关键词搜索内容
5.2.3 实现
第一步 : 分屏显示文件内容
命令 | 作用 |
---|
less -N 文件名 | 分屏展示文件内容,适合 大文件 |
参数 | 英文 | 含义 |
---|
-N | number | 显示文件内容 且 显示行号 |
使用 less 的操作键:
操作键 | 功能 |
---|
空格键 | 显示手册页的下一屏幕 | Enter 键 | 一次滚动手册页的一行 | b | 回滚一屏 向上翻屏 | f | 向前一屏 向下翻屏 | q | 退出 | /word | 搜索 word 字符串 |
第二步: 根据关键词 搜索
# 根据关键词搜索
/word
5.2.4 小结
more 01.txt 分屏显示文件的内容 向上翻屏 向下翻屏
# 准备一个26个字母的文件,使用 WINscp客户端 上传到 /export/ 目录下
5.3 head
5.3.1 目标
5.3.2 路径
5.3.3 实现
第一步:查看文件的前 5 行内容
head -n 数字 文件
5.3.4 小结
5.4 tail
5.4.1 目标
5.4.2 路径
5.4.3 实现
tail -10 文件
-
第二步: 动态显示文档的最后内容,一般用来查看日志
tail -f 文件名
tail -100f 文件名
5.4.4 小结
- 通过
tail -10f 文件 命令 查看文档(日志)的后几行内容
5.5 grep
5.5.1 目标
5.5.2 路径
5.5.3 实现
第一步: 搜索 存在关键字 的行
grep 关键字 文件名
第二步: 搜索 存在关键字 的行 且 显示行号
grep -n 关键字 文件名
第三步: 忽略大小写 搜索 存在关键字 的行
grep -i 关键字 文件名
第四步: 搜索 不存在关键字 的行
grep -v 关键字 文件名
选项 | 英文 | 含义 |
---|
-v | invert-match | 显示 不包含关键字 的所有行 |
第五步: 搜索 以关键字开始 的行 或 以关键字结尾 的行
grep 正则 文件名
参数 | 含义 |
---|
^a | 行首,搜索以 a 开头的行 | ke$ | 行尾,搜索以 ke 结束的行 |
5.3.4 小结
6. 其他
6.1 管道 |
6.1.1 目标
- 通过
命令1 | 命令2 可以将命令 1 的结果 通过 命令 2 作进一步的处理
6.1.2 路径
6.1.3 实现
第一步: 过滤 /etc/ 目录下 以 pro 开头的文件
ls /etc/ | grep ^pro
第二步: 搜索存在关键字的行数
ls /etc | grep ^pro | wc -l
| | 英文 | 作用 | | — | — | — | | 命令: wc [参数] [文件] | | 打印文件的行数,单词数,字节数 | | 参数: -l | line 行 | 显示 行数 |
6.1.4 小结
- 通过
命令1 | 命令2 可以将命令 1 的结果 通过 命令 2 作进一步的处理
6.2 echo 文字内容
echo string 将字符串输出到控制台 , 通常会和 重定向 联合使用
echo hello
echo "hello world"
6.3 重定向 >(覆盖) 和 >>(追加)
6.3.1 目标
-
默认情况下 命令的结果 输出到 控制台 -
通过 重定向 可以将结果 输出到文件
6.3.2 路径
6.3.3 实现
echo 2222 > 01.txt
命令 | 作用 |
---|
结果 > 文件名 | > 表示输出,会覆盖文件的原有内容 |
echo 3333333 >> 01.txt
命令 | 作用 |
---|
命令 >> 文件名 | >> 表示追加,会将内容追加到已有文件的末尾 |
-
第三步: 将 命令的失败结果 追加 指定文件的后面
cat 不存在的目录 &>> error.log
或者
cat 不存在的文件 2>&1 error.log
命令 | 作用 |
---|
命令 &>> 文件 | &>> 表示不区分错误类型 通通放到 日志中 |
6.3.4 小结
-
通过 命令 > 文件 将命令的成功结果 覆盖 指定文件内容 -
通过 命令 >> 文件 将命令的成功结果 追加 指定文件的后面 -
通过 命令 &>> 文件 将 命令的失败结果 追加 指定文件的后面
6.4 && 和 ||
6.4.1 目标
-
如果 创建 目录 成功, 就提示 创建成功 -
如果 创建 目录 失败, 就提示 创建失败
6.4.2 实现
第一步: 如果 创建 目录 成功, 就提示 创建成功
命令 | 作用 |
---|
命令 1 && 命令 2 | 如果 命令1 执行成功了,才执行 命令2 |
mkdir -p 正确目录 && echo "提示创建目录成功"
第二步: 如果 创建 目录 失败, 就提示 创建失败
mkdir 错误目录 || echo "提示创建目录失败"
6.4.3 小结:
准备工作
0 清空/export目录中内容
cd /export && rm -rf *
mkdir -p /export/aaa/bbb/ccc/ddd/eee
touch /export/aaa/bbb/ccc/ddd/eee/01.txt /export/aaa/bbb/ccc/ddd/eee/02.txt
6.5 软链接(类似与 快捷方式)
- 在 linux 中 文件名 和 内容 是两个文件,分开的!!
6.5.1 目标
- 因为 某些文件和目录 的 路径很深,所以 需要增加 软链接(快捷方式)
6.5.2 实现
语法如下:
命令 | 英文 | 作用 |
---|
ln -s 目标文件绝对路径 快捷方式路径 | link | 给目标文件增加一个软链接,通俗讲就是快捷方式 |
6.5.3 小结
推荐文章
技术交流
欢迎转载、收藏、有所收获点赞支持一下!数据、代码可以找我获取
目前开通了技术交流群,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友
- 方式①、发送如下图片至微信,长按识别,后台回复:加群;
- 方式②、添加微信号:dkl88191,备注:来自CSDN
- 方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群
|