• ubuntu linux zip和unzip类命令详解


    1.zip
    $ zip -r myfile.zip ./*
    将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.
     
    2.unzip
    $ unzip -o -d /home/sunny myfile.zip
    把myfile.zip文件解压到 /home/sunny/
    -o:不提示的情况下覆盖文件;
    -d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;
     
    3.其他
    $ zip -d myfile.zip smart.txt
    删除压缩文件中smart.txt文件
    $ zip -m myfile.zip ./rpm_info.txt
    向压缩文件中myfile.zip中添加rpm_info.txt文件
     
    -------------------------------------------------------------------------------
     
    要使用 zip 来压缩文件,在 shell 提示下键入下面的命令:
     
    zip -r filename.zip filesdir
     
    在这个例子里,filename.zip 代表你创建的文件,filesdir 代表你想放置新 zip 文件的目录。-r 选项指定你想递归地(recursively)包括所有包括在 filesdir 目录中的文件。
     
    要抽取 zip 文件的内容,键入以下命令:
     
    unzip filename.zip
     
    你可以使用 zip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:
     
    zip -r filename.zip file1 file2 file3 /usr/work/school
     
    上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.zip 文件中。
     
    zip Linux上适用的参数:
    -1 : 最快压缩,压缩率最差。
    -9 : 最大压缩,压缩率最佳。
    -b : 暂存文件的路径。这个参数一般在要产生的 zip 文件存在,而硬盘现有空间不足时。
    -c : 替新增或更新的文件增加一行注解。
    -d : 从 zip 文件移出一个文件。
    -D : 不要在 zip 文件中储存文件的目录信息。
    -f : 以新文件取代现有文件。
    -F : 修复已经损毁的压缩文件。
    -g : 将文件压缩附加到 zip 文件中。
    -h : 显示辅助说明。
    -i : 指定要含入的某些特定文件。
    -j : 只储存文件的名称,不含目录。
    -k : 强迫使用 MSDOS 格式文件名。
    -l : 将 CR ( Carriage Return ) LF ( Line Feed ) 转换成 LF,一般是要将 MS-DOS 上的文本文件压缩后拿到 UNIX 下使用时才使用此参数。这只适用于文本文件 ( .txt ),如果用于二进制文件则会造成二进制文件损毁。
    -L : 显示 zip 命令的版权。
    -m : 将特定文件移入 zip 文件中,并且删除特定文件。
    -n : 不压缩特定扩展名的文件。
    -o : 将 zip 文件的时间设成最后修正 zip 文件的时间。
    -q : 安静模式,不会显示相关讯息和提示。
    -r : 包括子目录。
    -t : 只处理 mmddyy 日期以后的文件。
    -T : 测试 zip 文件是否正常。
    -u : 只更新改变过的文件和新文件。
    -v : 显示版本资讯或详细讯息。
    -x : 不需要压缩的文件。
    -y : 将 symbolic link 压缩,而不是压缩所连结到的文件。
    -z : 为 zip 文件增加注解。
    -# : 设定压缩速度,-0 表示不压缩,-1 表示最快速度的压缩,
    -9 表示最慢速度的压缩 ( 最佳化的压缩 ),预设值为 -6。
    -@ : 从标准输入读取文件名称。
     
    unzip Linux上适用的参数:
     
      -x 文件列表 解压缩文件,但不包括指定的file文件。
     
    -v 查看压缩文件目录,但不解压。
     
    -t 测试文件有无损坏,但不解压。
     
    -d 目录 把压缩文件解到指定目录下。
     
    -z 只显示压缩文件的注解。
     
    -n 不覆盖已经存在的文件。
     
    -o 覆盖已存在的文件且不要求用户确认。
     
    -j 不重建文档的目录结构,把所有文件解压到同一目录下。
     
    例1:将压缩文件text.zip在当前目录下解压缩。
     
    $ unzip text.zip
     
    例2:将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。
     
      $ unzip -n text.zip -d /tmp
     
    例3:查看压缩文件目录,但不解压。
     
    $ unzip -v text.zip
     
    zgrep命令
     
    这个命令的功能是在压缩文件中寻找匹配的正则表达式,用法和grep命令一样,只不过操作的对象是压缩文件。如果用户想看看在某个压缩文件中有没有某一句话,便可用zgrep命令。
     
    按照约定俗成,用 gzip 来压缩的文件的扩展名是 .gz;用 bzip2 来压缩的文件的扩展名是 .bz2;用 zip 压缩的文件的扩展名是 .zip。
     
    用 gzip 压缩的文件可以使用 gunzip 来解压;用 bzip2 压缩的文件可以使用 bunzip2 来解压;用 zip 压缩的文件可以使用 unzip 来解压。
    bzip2 和 bunzip2
     
    要使用 bzip2 来压缩文件,在 shell 提示下键入以下命令:
     
    bzip2 filename
     
    文件即会被压缩并被保存为 filename.bz2。
     
    要扩展压缩的文件,键入以下命令:
     
    bunzip2 filename.bz2
     
    filename.bz2 文件会被删除,而继之以 filename。
     
    你可以使用 bzip2 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:
     
    bzip2 filename.bz2 file1 file2 file3 /usr/work/school
     
    上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.bz2 文件中。
     
    gzip 和 gunzip
     
    要使用 gzip 来压缩文件,在 shell 提示下键入以下命令:
     
    gzip filename
     
    文件即会被压缩,并被保存为 filename.gz。
     
    要扩展压缩的文件,键入以下命令:
     
    gunzip filename.gz
     
    filename.gz 会被删除,而继之以 filename。
     
    你可以使用 gzip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:
     
    gzip -r filename.gz file1 file2 file3 /usr/work/school
     
    上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.gz 文件中。
       
     
    要获得有关这两个命令的详细信息,在 shell 提示下键入 man gzip 和 man gunzip 来阅读 gzip 和 gunzip 命令的说明书页。
    zip 和 unzip
     
    要使用 zip 来压缩文件,在 shell 提示下键入下面的命令:
     
    zip -r filename.zip filesdir
     
    在这个例子里,filename.zip 代表你创建的文件,filesdir 代表你想放置新 zip 文件的目录。-r 选项指定你想递归地(recursively)包括所有包括在 filesdir 目录中的文件。
     
    要抽取 zip 文件的内容,键入以下命令:
     
    unzip filename.zip
     
    你可以使用 zip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:
     
    zip -r filename.zip file1 file2 file3 /usr/work/school
     
    上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.zip 文件中。
  • 相关阅读:
    Shell之海量数据处理grep,cut,awk,sed
    [Linux] Migrate plugins and setting for vim
    [C++] Template
    c++ Dynamic Memory (part 2)
    Image process
    c++ Dynamic Memory (part 1)
    [Algorithm] A* Search Algorithm Basic
    [C++] Solve "No source available for main()" error when debugging on Eclipse
    [C++] Solve "Cannot run program "gdb": Unknown reason" error
    [C++] Solve "Launch Failed. Binary not found." error on Eclipse
  • 原文地址:https://www.cnblogs.com/it-tsz/p/13818462.html
Copyright © 2020-2023  润新知