博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
手把手教你Linux下的文件管理(二)
阅读量:5829 次
发布时间:2019-06-18

本文共 8230 字,大约阅读时间需要 27 分钟。

我的十大IT杰出博客参赛主页是:,请各位支持我,给我投上宝贵一票,谢谢!

 

 

随着Linux开源系统平台的不断发展,越来越多的开源软件可以提供给Linux用户使用,这样,也使得更多的文件“吞噬”着硬盘空间。作为一种优秀的开源操作系统,如何高效地管理系统中的软件是一个很重要的问题。Linux提供了多种方法,用户可以根据实际情况方便地对软件进行管理。比如,它提供了对文件打包的功能,用户可以使用其将若干文件或目录打成一个软件包;同时,它也提供了多种文件压缩工具,使得用户可以对某些文件进行压缩,以减小文件占用的硬盘空间或方便网络传输。本文将通过例子来介绍如何合理地利用这些方法来管理Linux系统中的软件。(更多全文请见:)

 

2、zip/unzip命令

zip程序位于/usr/bin目录中,可将文件压缩成.zip文件以节省硬盘空间,而当需要的时候又可将压缩文件解开。unzip命令用于将压缩文件解压。

(1)用zip命令压缩文件或文件夹

在Linux下输入man zip,系统显示zip的帮助文档。

zip命令的使用形式为:zip [选项] 压缩后文件名 待压缩文件或文件夹。

其中:参数选项表明要完成的操作类型,压缩后的文件名是某个合法的文件名,其后缀为zip,待压缩文件或文件夹指明须要进行压缩的文件或文件夹,可以是多个文件或文件夹。zip命令的参数选项如下:

  1. -1:最快压缩,压缩率最差。
  2. -9:最大压缩,压缩率最佳。
  3. -b:暂存文件的路径。该参数常用于zip文件存在而硬盘现有空间不足时。
  4. -c:替新增或更新的文件增加一行注解。
  5. -d:从zip文件移出一个文件。
  6. -D:不要在zip文件中储存文件的目录信息。
  7. -f:以新文件取代现有文件。
  8. -F:修复已经损毁的压缩文件。
  9. -g:将文件压缩附加到zip文件中。
  10. -h:显示辅助说明。
  11. -i:指定要加入的某些特定文件。
  12. -j:只储存文件的名称,不含目录。
  13. -m:将特定文件移入zip文件中,并且删除特定文件。
  14. -n:不压缩特定扩展名的文件。
  15. -o:将zip文件的时间设成最后修正zip文件的时间。
  16. -q:安静模式,不会显示相关讯息和提示。
  17. -r:包括子目录。
  18. -t:只处理mmddyy日期以后的文件。
  19. -T:测试zip文件是否正常。
  20. -u:只更新改变过的文件和新文件。
  21. -v:显示版本信息或详细资料。
  22. -x:不须要压缩的文件。
  23. -y:将symbolic link压缩,而不是压缩所连结到的文件。
  24. -z:为zip文件增加注解。
  25. -#:设定压缩速度。-0表示不压缩,-1表示最快速度的压缩,-9表示最慢速度的压缩(最佳化的压缩)。预设值为-6。
  26. ? -@:从标准输入读取文件名称。

注意:使用zip命令可以将许多文件压缩成一个文件,这与gzip是有区别的。

下面给出使用该命令压缩文件或文件夹的例子:

//显示当前目录下所有文件和文件夹#ll总用量 9drwx------    1 root     root         4096  10月 15 19:45 gzipdrwx------    1 root     root            0  10月 12 21:25 smart-rwx------    1 root     root           26  10月 13 22:51 smart.txt-rwx------    1 root     root          226  10月 13 22:51 tar_create.txt-rwx------    1 root     root         7433  10月 13 22:51 tar.txtdrwx------    1 root     root         4096  10月 13 22:13 xplns //将当前目录下的所有文件和文件夹全部压缩成gong.zip压缩文件,-r表示递归压缩子目录下所有文件# zip -r gong.zip ./*adding: gzip/ (stored 0%)adding: gzip/gong.tar.gz (stored 0%)adding: smart/ (stored 0%)adding: smart/smartsuite-2.1-2.i386.rpm (deflated 5%)adding: smart.txt (stored 0%)adding: tar_create.txt (deflated 44%)adding: tar.txt (deflated 68%)adding: xplns/ (stored 0%)adding: xplns/xplns-cat-3.3.1-1.i386.rpm.gz (deflated 0%)adding: xplns/xplns-elm-3.3.1-1.i386.rpm.gz (deflated 0%)adding: xplns/xplns-img-3.3.1-1.i386.rpm.gz (deflated 0%) //再显示当前目录下所有文件,可以发现压缩文件gong.zip已经生成#ll总用量 1621-rwx------1 root  root  3301222 10月 15 19:49 gong.zipdrwx------1 root  root  4096 10月 15 19:45 gzipdrwx------1 root  root     0  10月 12 21:25 smart-rwx------1 root  root    26  10月 13 22:51 smart.txt-rwx------1 root  root   226  10月 13 22:51 tar_create.txt-rwx------1 root  root  7433 10月 13 22:51 tar.txtdrwx------1 root  root  4096 10月 13 22:13 xplns

用带-v参数选项可以查看zip文件的内容,这点类似于带t参数选项的tar命令。只不过前者用于显示压缩的zip文件的内容,后者用于显示tar文件的内容。与带t参数选项的tar命令类似,带v参数选项的zip命令实际上并不解压缩文件。用带-v参数选项的zip命令举例如下:

//显示当前目录下所有文件,从显示结果可以看出,当前目录下只有一个gong.zip文件# ll 总用量 1612-rwx------    1 root     root      3301222  10月 15 19:49 gong.zip //查看gong.zip文件的内容# zip -v gong.zipzip info: local extra (21 bytes) != central extra (13 bytes): gzip/zip info: local extra (21 bytes) != central extra (13 bytes): gzip/gong.tar.gzzip info: local extra (21 bytes) != central extra (13 bytes): smart/zip info: local extra (21 bytes) != central extra (13 bytes): smart.txtzip info: local extra (21 bytes) != central extra (13 bytes): tar_create.txtzip info: local extra (21 bytes) != central extra (13 bytes): tar.txtzip info: local extra (21 bytes) != central extra (13 bytes): xplns/

用带-d参数选项的zip命令可以从zip压缩文件中删除某个文件,而使用带-m的zip命令可以向zip压缩文件添加某个文件,对带-d和-m参数选项的zip命令举例如下:

# zip -v gong.zip    //显示压缩文件gong.zip的文件内容zip info: local extra (21 bytes) != central extra (13 bytes): free.txtzip info: local extra (21 bytes) != central extra (13 bytes): smart.txtzip info: local extra (21 bytes) != central extra (13 bytes): tar_create.txtzip info: local extra (21 bytes) != central extra (13 bytes): tar.txt //删除压缩文件中smart.txt文件# zip -d gong.zip smart.txtdeleting: smart.txt //再显示压缩文件内容,可以发现文件删除成功# zip -v gong.zipzip info: local extra (21 bytes) != central extra (13 bytes): free.txtzip info: local extra (21 bytes) != central extra (13 bytes): tar_create.txtzip info: local extra (21 bytes) != central extra (13 bytes): tar.txt //向压缩文件中gong.zip中添加rpm_info.txt文件# zip -m gong.zip ./rpm_info.txt adding: rpm_info.txt (deflated 75%) //再显示压缩文件内容,可以发现文件添加成功# zip -v gong.zipzip info: local extra (21 bytes) != central extra (13 bytes): free.txtzip info: local extra (21 bytes) != central extra (13 bytes): tar_create.txtzip info: local extra (21 bytes) != central extra (13 bytes): tar.txtzip info: local extra (21 bytes) != central extra (13 bytes): rpm_info.txt

(2)用unzip命令解压缩文件

unzip命令用于扩展名为zip的压缩文件的解压缩,同时,Windows下用压缩软件Winzip压缩的文件在Linux系统下也可以用unzip命令解压缩。unzip命令的语法如下:

unzip [参数选项] 压缩文件名.zip。

所有参数选项如下:

  1. -x:文件列表:解压缩文件,但不包括指定的file文件。
  2. -v:查看压缩文件目录,但不解压缩。
  3. -t:测试文件有无损坏,但不解压缩。
  4. -d:目录:把压缩文件解压缩到指定目录下。
  5. -z:只显示压缩文件的注解。
  6. -n:不覆盖已经存在的文件。
  7. -o:覆盖已存在的文件且不要求用户确认。
  8. -j:不重建文档的目录结构,把所有文件解压缩到同一目录下。

unzip命令的常用用法有:

简单解压缩文件:将压缩文件解压缩到当前目录下。

//显示当前目录下所有文件,从显示结果可以发现当前目录下只有一个文件gong.zip# ll总用量 7-rwx------    1 root     root        13512  10月 15 20:44 gong.zip //将gong.zip解压缩到当前目录# unzip gong.zipArchive:  gong.zipinflating: free.txtinflating: tar_create.txtinflating: tar.txtinflating: rpm_info.txt //再显示当前目录下所有文件,从显示结果可以发现,gong.zip压缩文件中所有文件已经成功解压缩到当前目录# ll总用量 32-rwx------    1 root     root          230  10月 15 21:03 free.txt-rwx------    1 root     root        13512  10月 15 20:44 gong.zip-rwx------    1 root     root        40833  10月 15 21:03 rpm_info.txt-rwx------    1 root     root          226  10月 15 21:03 tar_create.txt-rwx------    1 root     root         7433  10月 15 21:03 tar.txt

解压缩文件到指定目录:将压缩文件解压缩到指定的目录下,如果已有相同的文件存在,unzip命令不覆盖原来的文件。

 

3、bzip2命令

bzip2是一个无损压缩软件,具有高质量的数据压缩能力。它能将文件压缩到原来的10%到15%,而且压缩速度和解压缩速度都非常高,因此在Linux下得到广泛使用。

bzip2从命令行读入文件名和参数,每个文件都被名为“原始文件名.bz2”的压缩文件替换。每个压缩文件具有与原文件相同的修改时间和权限,如果可能的话,还具有相同的属主,因此在解压缩时这些特性将正确地恢复。

(1)bzip2命令参数选项

  1. -c:将数据压缩或解压缩至标准输出。
  2. -d:强制解压缩。bzip2、bunzip2和bzcat实际上是同一个程序,进行何种操作将根据程序名确定。指定该选项后将不考虑这一机制,强制bzip2解压缩。
  3. -z:和-d选项类似,强制进行压缩操作,而不管输入的是哪个程序名。
  4. -t:检查指定文件的完整性,但并不对其解压缩。实际上将对数据进行实验性的解压缩操作,而不输出结果。
  5. -f:强制覆盖输出文件。通常bzip2不会覆盖已经存在的文件。该选项还强制bzip2打破文件的硬链接,默认情况下bzip2不会这么做。
  6. -k:在压缩或解压缩时保留输入文件(不删除这些文件)。
  7. ? -s:在压缩、解压缩及检查时减少内存用量。采用一种修正的算法进行压缩和测试,每个数据块仅需要2.5个字节。这意味着任何文件都可以在2300k的内存中进行解压缩,尽管速度只有通常情况下的一半。在压缩时,-s将选定200k的块长度,内存用量也限制在200k左右,代价是压缩率会降低。总之,如果机器的内存较少(8兆字节或更少),可对所有操作都采用-s选项。
  8. -q:压制不重要的警告信息。属于I/O错误及其他严重事件的信息将不会被压制。
  9. -v:详尽模式--显示每个被处理文件的压缩率。命令行中更多的-v选项将增加详细的程度,使bzip2显示出许多主要用于诊断目的信息。
  10. -L:显示软件版本,许可证条款及条件。
  11. -1to-9:在压缩时将块长度设为100k、200k.、900k。对解压缩没有影响。

(2)用bzip2命令压缩文件

//显示当前目录下所有文件# ll总用量 32-rwx------    1 root     root          230  10月 15 22:06 free.txt-rwx------    1 root     root        13512  10月 15 22:06 gong.zip-rwx------    1 root     root        40833  10月 15 22:06 rpm_info.txt-rwx------    1 root     root          226  10月 15 22:06 tar_create.txt-rwx------    1 root     root         7433  10月 15 22:06 tar.txt //用bzip2命令压缩当前目录下所有文件,用bunzip2 -z * 将获得相同的效果#bzip2 * //再显示当前目录下所有文件,从显示结果可以看出,所有文件都压缩成了原文件名加bz2后缀的形式# ll总用量 15-rwx------    1 root     root          157  10月 15 22:06 free.txt.bz2-rwx------    1 root     root        13824  10月 15 22:06 gong.zip.bz2-rwx------    1 root     root         9366  10月 15 22:06 rpm_info.txt.bz2-rwx------    1 root     root          165  10月 15 22:06 tar_create.txt.bz2-rwx------    1 root     root         2326  10月 15 22:06 tar.txt.bz2

(3)用bunzip2命令解压缩文件

//显示当前目录下所有文件# ll总用量 15-rwx------    1 root     root         230  10月 15 22:17 free.txt-rwx------    1 root     root       13824  10月 15 22:17 gong.zip.bz2-rwx------    1 root     root        9366  10月 15 22:17 rpm_info.txt.bz2-rwx------    1 root     root         165  10月 15 22:17 tar_create.txt.bz2-rwx------    1 root     root        2326  10月 15 22:17 tar.txt.bz2 //用bunzip2命令解压缩当前目录下所有文件,其中有一个文件free.txt不是以bz2为后缀//从显示结果可以看出,对free.txt文件解压缩时报错# bunzip2 *bunzip2: Can't guess original name for free.txt -- using free.txt.outbunzip2: free.txt is not a bzip2 file. //再显示当前目录下所有文件,从显示结果可以看出,所有bz2文件都解压缩成功# ll总用量 32-rwx------    1 root     root          230  10月 15 22:17 free.txt-rwx------    1 root     root        13512  10月 15 22:18 gong.zip-rwx------    1 root     root        40833  10月 15 22:18 rpm_info.txt-rwx------    1 root     root          226  10月 15 22:18 tar_create.txt-rwx------    1 root     root         7433  10月 15 22:18 tar.txt
本文转自samsunglinuxl51CTO博客,原文链接:http://blog.51cto.com/patterson/441782
,如需转载请自行联系原作者
你可能感兴趣的文章
Memcached安装与配置
查看>>
美团数据仓库的演进
查看>>
SAP被评为“大数据”预测分析领军企业
查看>>
联想企业网盘张跃华:让文件创造业务价值
查看>>
记录一次蚂蚁金服前端电话面试
查看>>
直播源码开发视频直播平台,不得不了解的流程
查看>>
Ubuntu上的pycrypto给出了编译器错误
查看>>
聊聊flink的RestClientConfiguration
查看>>
在CentOS上搭建git仓库服务器以及mac端进行克隆和提交到远程git仓库
查看>>
測試文章
查看>>
Flex很难?一文就足够了
查看>>
【BATJ面试必会】JAVA面试到底需要掌握什么?【上】
查看>>
CollabNet_Subversion小结
查看>>
mysql定时备份自动上传
查看>>
Linux 高可用集群解决方案
查看>>
17岁时少年决定把海洋洗干净,现在21岁的他做到了
查看>>
linux 启动oracle
查看>>
《写给大忙人看的java se 8》笔记
查看>>
倒计时:计算时间差
查看>>
Linux/windows P2V VMWare ESXi
查看>>