一、字符处理
-
sort 排序命令
默认是按ASCII码表里对应的大小进行排序 -n 依照数值的大小排序 -r 以相反的顺序来排序 -k 以某列进行排序 -t 指定分隔符,默认是以空格为分隔符
[root@localhost ~] cat abc.txt # 未排序前 c:10 b:5 a:6 d:3 e:7 f:1 [root@localhost ~] sort abc.txt # 排序后,只是将第一行进行了排序 a:6 b:5 c:10 d:3 e:7 f:1 # -t “:” 以冒号隔开分为两段,-k2 选中第二段(数字) -n 对数值进行排序 [root@localhost ~] sort -t ":" -k2 -n abc.txt f:1 d:3 b:5 a:6 e:7 c:10
-
uniq 命令
用于检查及删除文本文件中重复出现的行列,一般与sort命令结合使用 -c 在每列旁边显示该行重复出现的次数 -d 仅显示重复出现的行列 -u 仅显示出现一次的行列
[root@localhost ~] cat file.txt # 原文件内容 hello 123 hello 123 func hello [root@localhost ~] sort file.txt | uniq # 有重复的行会被删除 123 func hello [root@localhost ~] sort file.txt | uniq -c # 显示字符重复出现的次数 2 123 1 func 3 hello
-
cut 命令
cut命令用来显示行中的指定成分,删除文件中指定的字段 -d 指定字段的分隔符,默认的字段分隔符为‘TAB’; -f 显示指定字段的内容
[root@localhost ~] head -1 /etc/passwd root:x:0:0:root:/root:/bin/bash [root@localhost ~] head -1 /etc/passwd | cut -d ":" -f1,3,4,6 root:0:0:/root
-
tr 命令
tr 替换或删除 -d 删除字符
[root@localhost ~] head -1 /etc/passwd |tr "root" "ROOT" ROOT:x:0:0:ROOT:/ROOT:/bin/bash [root@localhost ~] head -1 /etc/passwd |tr -d "root" :x:0:0::/:/bin/bash
-
wc 命令
统计,计算数字 -c 统计文件的字数 -l 统计文件的行数 -w 统计文件中单词的个数,默认以空白字符做为分隔符(说白了只要没分隔的话就算一个单词)
[root@localhost ~] cat file.txt hello 123 hello 123 func hello 456
[root@localhost ~] wc file.txt 6(行数) 7(单词个数) 35(字数,包括换行符) file.txt
二、打包压缩
-
什么是打包压缩?
打包指的是将多个文件和目录合并为一个特殊文件
然后将该特殊文件进行压缩
最终得到一个压缩包 -
为什么使用压缩包
1.减少占用的体积
2.加快网络的传输 -
Windows的压缩和Linux的有什么不同
Windows:zip、rar(Linux不支持)
Linux:zip、tar.gz、tar.bz2、.gz
如果希望Windows的软件能被Linux解压,或者Linux的软件包被Windows能识别,选择zip
PS:压缩包的后缀不重要,但一定要携带 -
Linux下常见的压缩包类型
-
打包压缩的方法:
1、打包 [root@localhost test]# tar cvf etc_bak.tar /etc/ # c创建 v详细 f打包后文件的路径 2、压缩 [root@localhost test]# gzip etc_bak.tar # 文件体积变小,并且带上后缀.gz 3、上述两步可以合二为一 [root@localhost test]# tar czvf etc1_bak.tar.gz /etc/ # 选项z代表gzip压缩算法 [root@localhost test]# tar cjvf etc1_bak.tar.bz2 /etc/ # 选项j代表gzip2压缩算法 4.zip压缩 zip 压缩后保存的路径 压缩的文件 [root@localhost ~]# zip bak1.zip /etc/passwd /etc/hosts /etc/hostname
-
解压缩
1、针对xxx.tar.gz 或者 xxx.tar.bz2,统一使用 无需指定的解压算法,tar会自动判断 [root@localhost test]# tar xvf 压缩包 -C 解压到的路径 2、针对xxx.zip [root@localhost test]# unzip xxx.zip
-
拓展
有时打包压缩是用于备份文件,文件的名字必须见名知意,应该带上时间、主机名之类 时间命令 date [root@localhost ~]# tar cvzf `date "+ %Y_%m_%d_%H_%m_%S"`_etc_bak.tar.gz /etc/ [root@localhost ~]# ls 2020_10_27_21_10_42_etc_bak.tar.gz 使用 `` 获取date命令执行的结果 将文件名填写当前日期和时间