LinuxShell脚本攻略--第六章 B计划

时间:2023-03-09 22:53:28
LinuxShell脚本攻略--第六章 B计划

tar

-A或--catenate:新增文件到以存在的备份文件;
-B:设置区块大小;
-c或--create:建立新的备份文件;
-C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-d:记录文件的差别;
-x或--extract或--get:从备份文件中还原文件;
-t或--list:列出备份文件的内容;
-z或--gzip或--ungzip:通过gzip指令处理备份文件;
-Z或--compress或--uncompress:通过compress指令处理备份文件;
-f<备份文件>或--file=<备份文件>:指定备份文件;
-v或--verbose:显示指令执行过程;
-r:添加文件到已经压缩的文件;
-u:添加改变了和现有的文件到已经存在的压缩文件;
-j:支持bzip2解压文件;
-v:显示操作过程;
-l:文件系统边界设置;
-k:保留原有文件不覆盖;
-m:保留文件不被覆盖;
-w:确认压缩文件的正确性;
-p或--same-permissions:用原来的文件权限还原文件;
-P或--absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;
-N <日期格式> 或 --newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里;
--exclude=<范本样式>:排除符合范本样式的文件。
$ tar -cf output.tar file1 file2      #-c创建文件 -f指定文件名 如果有f一定是最后一个参数
$ tar -tf archive.tar           #-t列出文件
$ tar -tvf archive.tar         #-v(verbose)列出文件权限等信息
$ tar -rvf original.tar new_file     #-r向归档中添加文件
$ tar -xf archive.tar           #提取到当前目录 -x表示提取
$ tar -xf archive.tar -C /path/to/extraction_directory  #-C指定提取的目录
$ tar -xvf file.tar file1 file4      #只提取file1 和 file4
$ tar -f archive.tar --delete f1 f2 #从归档中删除文件,也可以用下面方法
$ tar --delete --file archive.tar [FILE LIST]  
$ tar acvf archive.tar.gz filea fileb #压缩文件
$ tar -cf arch.tar * --exclude "*.txt" #压缩文件处了*.txt文件

gzip

$ gzip filename                       #压缩文件
$ gunzip filename.gz #解压缩
$ gzip -l test.txt.gz #列出文件的属性信息

zip

$ zip archive_name.zip [SOURCE FILES/DIRS]            #压缩
$ zip -r archive.zip folder1 folder2           #-r对文件夹递归
$ unzip file.zip                       #解压
$ zip file.zip -u newfile                 #更新压缩文件中内容
$ zip -d arc.zip file.txt                 #删除文件中的内容
$ unzip -l archive.zip                   #列出压缩文件中的内容

有的时候会碰见从windows系统向lunix系统传zip包用unzip解压出来乱码的问题。尝试用下面的命令;

$ unzip -O CP936 file.zip