1.tar命令进行文件的归档和压缩
作用:打包、压缩文件;tar 文件是把几个文件和(或)目录集合在一个文件里,该存档文件可以通过使用gzip、bzip2或xz等压缩工具进行行压缩后传输
用法:tar [OPTION...] [FILE]...
参数:
-c create创建文件
-x -extract [ˈekstrækt]提取解压还原文件
-v --verbose显示执行详细过程
-f --file指定备份文件
-t --list列出压缩包中包括哪些文件,不解包,查看包中的内容
-C (大写)--directory指定解压位置
例:给/boot/grub目录打包
[root@root opt]# tar -cvf grub.tar /boot/grub #tar的参数前可以不加“-”或
[root@root opt]# tar cvf grub.tar /boot/grub
[root@root opt]# tar xvf grub.tar #解压
注意:在使用绝对路径名归档文件时,将默认从文件名中删除该路径中前面的/ 符号。这样解压时,会直接解压到当前目录。 如果不移除/压缩时,当解包时,直接按绝对路径来释放,会覆盖原系统中此路径的文件。
例1:指定解压位置 -C
[root@root opt]# tar xf grub.tar -C /mnt
[root@root opt]# ls /mnt
boot
[root@root opt]# ls /mnt/boot/grub/splash.xpm.gz
/mnt/boot/grub/splash.xpm.gz
例2:把两个目录或多个目录+文件打包
[root@root opt]# mkdir dir1 dir2
[root@root opt]# touch a.txt b.txt c.txt d.txt
[root@root opt]# ls
a.txt b.txt c.txt dir1 dir2 d.txt grub-2.tar grub.tar rh
[root@root opt]# tar cf back.tar a.txt b.txt c.txt dir1 dir2
例3:不解包,查看tar包里面的内容
[root@root opt]# tar tf back.tar
a.txt
b.txt
c.txt
dir1/
dir2/
例4:解压指定的文件
[root@root opt]# tar xf etc.tar etc/kernel/postinst.d/51-dracut-rescue-postinst.sh
注意:后面的路径一定要跟tar tf查出来的路径
2.tar归档+压缩:
语法:tar czvf newfile.tar.gz SOURCE
常用参数:
-z, --gzip以gzip方式压缩 扩展名: tar.gz
-j : 以bz2方式压缩的 扩展名:tar.bz2
-J : 以xz 方式压缩 扩展名:tar.xz
tar cf a.tar a.txt
tar zcf a.tar.gz
tar jcf a.tar.bz2
tar Jcf a.tar.xz
例1:创建tar.gz包
[root@root ~]# tar cvf etc.tar /etc
[root@root test]# tar zcvf etc.tar.gz /etc #归档,注意备份的名字后缀
[root@root test]# tar zxvf etc.tar.gz #解压缩
例2:创建.tar.bz2包
语法:#tar jcvf newfile.tar.bz2 SOURCE
[root@root ~]# tar -jcvf etc.tar.bz2 /etc
[root@root ~]# tar -jxvf etc.tar.bz2 /etc #解压缩
[root@root ~]# tar jxvf etc.tar.bz2 -C /opt #解压到opt目录下
例3:归档的添加和删除
[root@root opt]# tar tf a.tar
a.txt
b.txt
c.txt
d.txt
[root@root opt]# tar rf a.tar hosts
[root@root opt]# tar tf a.tar
a.txt
b.txt
c.txt
d.txt
hosts
[root@root opt]# tar --delete -f a.tar a.txt
[root@root opt]# tar tf a.tar
b.txt
c.txt
d.txt
hosts
例4:创建.tar.xz包
[root@root ~]# tar -Jcvf etc.tar.xz /etc
[root@root ~]# tar -xvf etc.tar.xz #tar.xz 这类包,解压缩
或:
[root@root ~]# tar -Jxvf etc.tar.xz #
对比三种压缩方式后压缩比例:
[root@root ~]# ll -h etc.tar*
-rw-r--r-- 1 0 root 36M 5月 10 12:10 etc.tar
-rw-r--r-- 1 0 root 9.6M 5月 10 12:14 etc.tar.bz2 #这个常用
-rw-r--r-- 1 0 root 12M 5月 10 12:11 etc.tar.gz #这个常用
-rw-r--r-- 1 0 root 7.7M 5月 10 12:16 etc.tar.xz #这个压缩比例最高,压缩的时间是最长
3.zip管理压缩文件
zip软件包解压缩命令:
zip是压缩程序,unzip是解压程序。
例1:压缩文件:
[root@root ~]# zip a.zip /etc/passwd
例2:将所有.jpg的文件压缩成一个zip包
[root@root ~]# zip all.zip *.jpg 例3:压缩一个目录
[root@root ~]# zip -r grub.zip /boot/grub #一般不用
解压缩:
[root@root ~]# unzip grub.zip
[root@root ~]# unzip grub.zip -d /opt/ # -d 解压到指定的目标/opt
4.了解gzip-bzip2- xz管理压缩文件-file-sort查看文件
我们创建压缩的TAR存档,TAR命令它支持三种不同的压缩方式。
gzip压缩速度最快;
bzip2压缩生成的文件比gzip小,但使用不如gzip广;
xz压缩工具相对较新,但是会提供最佳的压缩率
压缩工具:gzip bzip2 zip xz
常见的压缩格式:.gz .bz2 .xz .zip
语法格式:
压缩
gzip 文件 ====》 gzip a.txt =====》 a.txt.gz
bzip2 文件 ===》 bzip2 b.txt =====》 b.txt.bz2
xz 文件 ===》xz c.txt ===》c.txt.xz
5.file查看文件
file命令
作用: file - determine file type #确定文件类型
注:linux系统不根据后缀名识别文件类型
用file命令查看文件的类型。
[root@root opt]# file /etc/passwd
/etc/passwd: ASCII text
[root@root opt]# file /etc
/etc: directory
[root@root opt]# file /dev/sda
/dev/sda: block special
6.按一定规则排序查看文件
查看文件:
[root@root ~]# ls -ltr 按时间排序 t 表示时间, -r 从小到大,不加r参数由大到小
[root@root ~]# ls -lSr 按大小排序 -r 从小到大
[root@root ~]# ls -lSrh 按大小排序 -r 从小到大 ,加-h 参数,看大小,更清楚
[root@root ~]# ls -lS 从大到小
查看目录:
[root@root ~]# du -sh /etc看某个目录大小
查看分区大小:
[root@root ~]# df -h 可以快速查看磁盘大小的存储空间
7.排序:处理大量数据时会用到的命令sort
例1:默认按字母规则进行排序
[root@root ~]# cat /etc/passwd | sort | more
例2: 按数据排序
[root@root ~]# vim file2 #每行随意写一些数字
例2: 按数据排序,默认从小到大
2
23
231
[root@root mnt]# sort -n file2 #-n默认从小到大
[root@root ~]# sort -r file2 #-r 反序排序(升序变成降序进行排序) 从大小到
例3:支持按月份排序
[root@root ~]# vim file3 #写入以下内容
January
March
April
February
[root@root ~]# sort -M file3
April
February
January
March
例4:组合使用
-t 指定一个用来区分键位置字符
-k 后面跟数字,指定按第几列进行排序
-r 反序排序(升序变成降序进行排序)
[root@root ~]# sort -t ":" -nk3 -r /etc/passwd | more #按: 做分隔符,以第3列,也就是用户UID,来从大到小排序
[root@root ~]# du -h /etc | sort -nr | more #把etc目录下所有文件,按从大到小排序