1.History 指令
history - 显示当前系统已经执行过的所有的指令
#如果想要显示历史记录的时候显示指令执行的时间需要修改~/.bashrc文件:
export HISTTIMEFORMAT="[%y‐%m‐%d_%T] "
# 修改完成后需要通过指令: source ~/.bashrc 去执行这个配置文件, 最后历史记录的时间才会生效
2.硬链接和软连接
1.硬链接:ln 源文件路径 硬连接文件地址 - 给源文件在指定位置创建一个硬链接
硬链接的本质就是源文件内容的另外一个引用,所以删除或者移动源文件硬链接仍然有效,只是删除硬链接会变成普通文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DX2DugLZ-1683805431671)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510104229345.png)]
2.软连接:ln -s 源文件路径 软连接文件地址 - 给源文件在指定位置创建一个软连接(软连接本质就是用来保存源文件绝对地址的一个文件, 可以理解为windows中的快捷方式)
注意: 源文件路径必须写绝对路径
如果删除或者移动源文件,软连接会直接无效
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bf1HK4Ao-1683805431672)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510104633585.png)]
3.排序指令
sort - 从小到大排序(将一行内容作为一个字符串,按字符串大小对应内容进行排序,默认不区分大小写)
cat a.txt |sort # 对a.txt的文件内容从小到大排序显示
sort的参数:
-r - 逆序
-nk 1 - 数值大小排序
-nk 2 - 字符大小排序(默认)
cat a.txt|sort -nk 1 # 对a.txt的文件内容按数字大小从小到大排序
cat a.txt|sort -rnk 1 # 对a.txt的文件内容按数字大小从大到小排序
cat a.txt|sort -nk 2 # 对a.txt的文件内容按字符大小从小到大排序(默认)
cat a.txt|sort -rnk 2 # 对a.txt的文件内容按字符大小从大到小排序
1)字符串比较大小的规则: 比较第一对不相等的字符的大小
abc mn -> mn > abc
abc amn -> amn > abc
你好 如果 ->
1098 < 71
2)字符比较大小的规则:比较的是字符的编码值的大小
3)编码值
计算机只能保存数字(数字在计算机中的存储方式:二进制补码)
为了能够让计算机存储文字符号,给每个文字符号绑定了一个固定的数字,每次需要存符号的时候,就存储这个符号对应的那个数字。(符号对应的数字就是这个符号的编码值)
4)编码表(保存和记录了符号和数字之间的对应的关系)
ASCII码表
Unicode编码表
4.去重指令
去重uniq,直接使用只能去掉挨在一起的重复行
cat a.txt|uniq # 去掉a.txt文件内容中相邻重复的行
cat a.txt|sort|uniq # 去掉a.txt文件内容中所有重复的行
uniq的参数
-c - 重复次数
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hFNwUGad-1683805431672)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510142320851.png)]
可以加上sort一起使用先进行排序,将所有重复行放在一起,再去重。管道符可以在一个指令中多次使用,第一个管道符针对的是前面的text.txt文件进行操作,第二个管道符是对排完序的文件进行操作。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KMxNV7xy-1683805431673)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510142357061.png)]
加上-c之后可以显示出,字符出现的次数。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4gDikubN-1683805431674)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510142547481.png)]
举例:最常用的3个指令及使用次数
history |awk '{print $3}' |sort |uniq ‐c | sort ‐nk 1 -r | head ‐3 # 统计最常用的3个指令及其使用次数
#先展示出所有的历史指令,取出指令所在的列,将所有重复的指令放在一起,去重,按照数字从大到小将内容排序,只取前三行。
1.取到历史记录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hvgNtrOF-1683805431675)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510145226532.png)]
2.取到指令行[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ajymYNlC-1683805431676)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510145247530.png)]
3.排序且去重
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-El5tpIdP-1683805431677)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510145321876.png)]
4.按数量从大到小排序
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JgBF0h88-1683805431678)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510145401883.png)]
5.得到最终使用次数最多的3个指令
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NfZhYgQR-1683805431679)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510151532933.png)]
5.获取列
awk ‘{print $N}’ - 获取内容中第N列的数据
history|awk '{print $2}' # 获取历史记录第2列的内容
history|awk '{print $2,$3}' # 获取历史记录第2列和第3列的内容
6.重定向 输出重定向 - > / >> (将指令的打印结果保存包文件中)
执行有打印结果的指令 > 文件地址 - 将指定指令执行的结果保存到指定文件中(先清除原文件内容再添加)
执行有打印结果的指令 >> 文件地址 - 将指定指令执行的结果保存到指定文件中(直接将结果追加到原文件中)
对相同文件操作最后重定向必须保存到另一个文件中。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NNJbVXPt-1683805431679)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510153340912.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kOSJrE7K-1683805431680)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510153238354.png)]
6.统计指令
wc -c/-w/-l 文件地址 - 统计指定文件中字符/单词/行的数量 (注意:统计字符数量的数,会比实际的字符数多1,多的\0这个字符串结束标志)
有打印结果的指令 | wc -c/-w/-l
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iTdl0Ooz-1683805431680)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510154324818.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FLLCyYBt-1683805431681)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510154354355.png)]
wc也可以和管道使用
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ggBFrS73-1683805431682)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510154556584.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-34G7xFR9-1683805431682)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510154718517.png)]
7.查找指令
1.grep - 找内容
grep 内容 文件地址 - 在指定文件中查找指定内容(返回文件中所有包含指定内容的行)
grep you a.txt # 获取a.txt中包含you的所有的行
grep的参数:
-n - 显示结果的时候显示行号
-i - 查找内容的时候忽略大小写
-E - 按正则表达式进行匹配
使用方法: grep -E '正则表达式' 文件
注意: Linux操作系统中正则表达式不支持:\d,\D,\w,\W,\s,\S,\b,\B; 其他语法都支持
-v - 忽略字段
grep you a.txt -v # 获取a.txt中不包含you的所有的行
执行有打印结果的指令 |grep 内容 - 在指令执行结果中查找指定内容
grep -r 内容 文件夹地址 -在指定文件夹中所有的文件中查找指定内容
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SqPT4EMs-1683805431683)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510160324187.png)]
查找时显示行号
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BcibB23j-1683805431683)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510160446568.png)]
查找时忽略字符大小写
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4ttDiiPa-1683805431684)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510160523022.png)]
忽略字段,即查找没有0的行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZPprFZRq-1683805431684)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510160624367.png)]
和管道一起用
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3pkfR7Fi-1683805431685)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510160829780.png)]
2.查找文件
find 文件夹路径 -name 文件名 - 在指定文件夹下按文件名找指定文件
# 找指定文件名
find dir1 -name 'test1.py' # 在文件夹dir1找名字是test1.py的文件
find dir1 -name '*.txt' # 在文件夹dir1找后缀是txt的所有文件
find dir1 -name 'test*.txt'
find dir1 -name 'test*'
find dir1 -name '*c.txt'
find 文件夹路径 -size +/-文件大小 - 在指定文件夹下找文件大小满足条件的所有的内容(包含文件和文件夹)
find dir1 -size +4k # 查找在文件夹dir1中所有大于4k的文件
find dir1 -size -4k # 查找在文件夹dir1中所有小于4k的文件
find dir1 -size +5k -size -10k # 查找在文件夹dir1中所有大于5k并且小于10k的文件(文件大小如果是小数,算的时候向上取整)
find dir1 -size +4k -name '*.txt' # 查找在文件夹dir1中所有大于4k的txt文件
查找文件 -以名字查找
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vFWABlZw-1683805431686)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510164403397.png)]
查找以’text’为开头的文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ngkaDQFw-1683805431686)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510164457044.png)]
查找所有后缀是’txt’的文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ubS2QSJc-1683805431687)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510164545840.png)]
查找以’text’开头,'txt’结尾的文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x3W0AJfw-1683805431687)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510164614259.png)]
按文件大小查找
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3Z4rddZ9-1683805431688)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510165028275.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XnCIXLRN-1683805431689)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510165059464.png)]
有小数点,向上取整
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RdXw3sJw-1683805431690)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510165115478.png)]
按照名字后缀为’txt’和文件大小小于30kb的文件。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8IQKTZNt-1683805431690)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510165641065.png)]
8.归档和解归档
tar -cvf 归档文件地址 需要归档的原文件夹地址 - 将文件进行归档操作(既可以对文件进行归档也可以对文件夹归档)
tar -xvf 需要解归档文件地址 - 将指定的归档文件解归档
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Dfo3tdE-1683805431691)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510171419854.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hV8lSekn-1683805431691)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510171455884.png)]
9.压缩和解压缩
gzip 文件地址 - 压缩指定文件(压缩后会生成一个gz文件,并且会删除原文件)
gzip -c 文件地址 > 压缩文件地址
- 将指定文件压缩指定位置,并且保留原文件
gzip -d 压缩文件地址 - 解压指定文件(解压完成后会删除原压缩文件,解压后的文件直接放在被解压的压缩文件所在的位置)
gzip -l 压缩文件地址 - 列出压缩文件中的内容
压缩只能对文件
gunzip 压缩文件地址 - 解压指定文件(解压完成后会删除原压缩文件)
xz 文件地址 - 压缩指定文件(压缩文件后缀是xz)
xz -d 压缩文件地址 - 解压指定文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dwmhg2Tl-1683805431692)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510171711912.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7Dp8LvTK-1683805431693)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510171828726.png)]
保留原文件
删除原压缩文件,解压后的文件直接放在被解压的压缩文件所在的位置)
gzip -l 压缩文件地址 - 列出压缩文件中的内容
压缩只能对文件
gunzip 压缩文件地址 - 解压指定文件(解压完成后会删除原压缩文件)
xz 文件地址 - 压缩指定文件(压缩文件后缀是xz)
xz -d 压缩文件地址 - 解压指定文件
[外链图片转存中…(img-Dwmhg2Tl-1683805431692)]
[外链图片转存中…(img-7Dp8LvTK-1683805431693)]
保留原文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jOYoGITs-1683805431694)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20230510172027383.png)]