집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux 압축 명령(요약)
Linux 압축 명령
Linux의 일반적인 압축 형식에는 .zip, .gz, .bz2, .tar, .tar.gz, .tar.bz2가 포함됩니다. 일반적으로 사용되는 압축 명령에는 zip 및 tar가 포함됩니다. 다음은 각 압축 명령의 사용 예입니다. 더 많은 사용법을 보려면 --help 명령을 사용하십시오.
권장: "Linux Tutorial"
zip
형식:
zip [options] 目标压缩包名称 待压缩源文件 unzip [-Z] [options] 待压缩源文件 [list] [-x xlist] [-d exdir]
공통 명령:
# 压缩文件 zip myfile.zip myfile # 压缩文件夹(包含子目录) zip -r mydir.zip mydir # 压缩当前目录所有文件 zip mydir.zip * # 解压文件 unzip mydir.zip
zip 추가 매개변수:
-v 显示操作详细信息 -d 从压缩包里删除文件 -m 将文件剪切到压缩包里,源文件将被删除 -r 递归压缩 -x 排除文件 -c 加一行备注 -z 加备注 -T 测试压缩包完整性 -e 加密 -q 安静模式 -1, --fast 更快的压缩速度 -9, --best 更好的压缩率 --help 查看帮助 -h2 查看更多帮助
unzip 추가 매개변수:
-v 显示操作详细信息 -l 查看压缩包内容 -d 解压到指定文件夹 -x 排除压缩包内文件 -t 测试压缩包文件内容 -z 查看备注 -o 覆盖文件无需提示 -q 安静模式 --help 查看帮助
예:
$ ls t.md t.php t.php.zip
# 创建压缩包 $ zip -v myfile.zip t.* adding: t.md (in=8121) (out=1051) (deflated 87%) adding: t.php (in=740) (out=319) (deflated 57%) adding: t.php.zip (in=1666) (out=1666) (stored 0%) total bytes=10527, compressed=3036 -> 71% savings # 测试压缩包完整性 $ zip -T myfile.zip test of myfile.zip OK # 测试压缩包文件内容 $ unzip -t myfile.zip Archive: myfile.zip testing: t.md OK testing: t.php OK testing: t.php.zip OK No errors detected in compressed data of myfile.zip. # 查看压缩包里内容 $ unzip -l myfile.zip Archive: myfile.zip Length Date Time Name --------- ---------- ----- ---- 8121 06-08-2016 17:03 t.md 740 06-08-2016 17:02 t.php 1666 07-30-2016 17:38 t.php.zip --------- ------- 10527 3 files # 从压缩包里删除文件t.php.zip $ zip -d myfile.zip t.php.zip deleting: t.php.zip # 从压缩包里删除文件t.php $ zip -d myfile.zip t.php deleting: t.php # 添加文件到压缩包里 $ zip -u myfile.zip t.php adding: t.php (deflated 57%) # 给压缩包添加注释 $ zip -z myfile.zip enter new zip file comment (end with .): test . # 查看压缩包注释 $ unzip -z myfile.zip Archive: myfile.zip test # 解压到指定文件夹 $ unzip myfile.zip -d my Archive: myfile.zip test . inflating: my/t.md inflating: my/t.php # 排除文件不解压 $ unzip myfile.zip -x t.php -d my Archive: myfile.zip test . inflating: my/t.md
gz
형식:
gzip [options] 待压缩源文件 gunzip [options] 待解压文件
최종 압축 파일 이름을 작성할 필요가 없습니다. 끝에 자동으로 .gz 접미사가 추가되고 동시에 소스 파일이 삭제됩니다.
일반적으로 사용되는 명령:
# 压缩1.log,同时会自动删除源文件 gzip 1.log # 解压1.log.gz,同时会自动删除压缩包 gzip -d 1.log.gz # 压缩1.log,保留源文件 gzip -k 1.log # 解压1.log.gz,保留压缩包 gzip -dk 1.log.gz # 查看压缩包信息 gzip -l 1.log.gz # 递归的对目录里的每个文件单独压缩 gzip -r mydir
참고: gunzip과 gzip -d는 동일하며 gz 파일의 압축을 풀 수 있습니다.
추가 매개변수:
-c, --stdout 将压缩后的内容在标准输出显示出来,保留原文件 -1, --fast 更快的压缩速度 -9, --best 更好的压缩率
예:
# 压缩1.log为1.log.gz,保留源文件 gzip -c 1.log > 1.log.gz
bz2
형식:
bzip2 [options] 待压缩源文件 bunzip2 [options] 待解压文件
공용 명령:
# 压缩1.log bzip2 1.log bzip2 -k 1.log # 解压1.log.bz2 bzip2 -d 1.log.bz2 bzip2 -dk 1.log.bz2 bunzip2 1.log.bz2 bunzip2 -k 1.log.bz2
추가 매개변수:
-c, --stdout 将压缩后的内容在标准输出显示出来,保留原文件 -1, --fast 更快的压缩速度 -9, --best 更好的压缩率
tar
형식:
tar [options] 目标压缩包名称 待压缩源文件
Common 명령:
# 打包后,以gzip 压缩 tar zcvf test.tar.gz /test #压缩/test为test.tar.gz # 解压test.tar.gz tar zxvf test.tar.gz # 打包后,以bzip2 压缩 tar jcvf test.tar.bz2 /test #压缩/test为test.tar.bz2 # 解压test.tar.bz2 tar jxvf test.tar.bz2 # 仅打包,不压缩 tar cvf test.tar /test #压缩/test为test.tar # 解压test.tar tar xvf test.tar # 查看压缩包内容列表 tar tvf test.tar.gz # 解压到指定文件夹(目标文件夹必须存在) $ tar -zxvf all.tar.gz -C my/ # 压缩时排除某些目录 $ tar -zcvf tomcat.tar.gz --exclude=tomcat/logs tomcat $ tar -zcvf tomcat.tar.gz --exclude=tomcat/logs --exclude=tomcat/libs --exclude=tomcat/xiaoshan.txt tomcat
공통 매개변수 설명:
-c, --create: 建立压缩档案 -x, --extract, --get:解压 -t, --list:查看内容 -r, --append:向压缩归档文件末尾追加文件 -u, --update:更新原压缩包中的文件 -d, --diff, --compare 将压缩包里的文件与文件系统进行对比 --delete 从压缩包里删除
이 중 하나는 압축 및 압축 해제에 사용됩니다. 다른 명령과 함께 사용할 수 있지만 하나만 사용할 수 있습니다. 필요에 따라 아카이브를 압축하거나 압축을 풀 때 다음 매개변수는 선택 사항입니다.
-z, --gzip, --gunzip, --ungzip:有gzip属性的 -j, --bzip2:有bz2属性的 -Z, --compress, --uncompress:有compress属性的 -v, --verbose:显示所有过程 -O, --to-stdout:将文件解开到标准输出 -C, --directory=DIR:解压到指定文件夹
마지막 매개변수 -f는 필수입니다.
-f, --file=ARCHIVE: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
명령 도움말 보기:
tar --help tar -? tar --usage
추가 예:
# 比较压缩包里文件与源文件变动 $ tar --diff -vf 1.log.tar 1.log 1.log 1.log: Mod time differs 1.log: Size differs # 删除压缩包里的1.log $ tar --delete -vf 1.log.tar 1.log # 向压缩归档文件里追加文件 $ tar rvf 1.log.tar 1.log 2.log 1.log 2.log # 向压缩归档文件里更新文件 $ tar uvf 1.log.tar 1.log 2.log
설명: tar 추가 또는 업데이트와 함께 사용할 수 없습니다. .gz 및 tar.bz2의 파일:
$ tar zrvf all.tar.gz 3.log tar: Cannot update compressed archives Try 'tar --help' or 'tar --usage' for more information.
위 내용은 Linux 압축 명령(요약)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!