Linux常用命令--文件的压缩和解压缩
在Linux系统中,我们通常使用的文件压缩命令有:bunzip2 , bzip2 , cpio , gunzip , gzip ,split(切割文件) , zgrep(在压缩文件中寻找匹配的正则表达式), zip ,unzip, tar ,rar。
最后四个是我比较常用的,今天的笔记就写这四个的好了。
1、tar:
tar命令:tar [选项...] [FILE]...
输入“tar -?”获取相关帮助信息,tar的帮助文档给出示例如下:
示例
  tar -cf archive.tar foo bar  # 从文件 foo 和 bar 创建归档文件archive.tar。
  tar -tvf archive.tar             # 详细列举归档文件 archive.tar中的所有文件。
  tar -xf archive.tar              # 展开归档文件 archive.tar中的所有文件。
如果是要压缩文件夹的话,输入:
tar -cvf dirArchive.tar /dirName
同样的,要将归档文件解压到特定文件夹的话,则是:
tar -xvf dirArchive.tar /dirName
下面复习一下。我们先人为做个文件夹出来,里面放置若干文件夹和文件:
我们首先创建一个tar文件,先压缩一个文件夹(testdir):
tar -cf testdir.tar testdir
然后列出该压缩包里的结构:
接着我们向这个压缩包追加文件:
当然了,上述单步操作没必要做了,压缩包里面已经有这个文件。
然后再看看这个压缩包里的结构:
如果使用示例中的-v选项,则会将压缩包里的文件属性全部列出。包括权限,创建人,字节大小,修改时间和文件名:
从tar压缩文件中解压并显示文件列表:
一般来说比较常用到的选项有主操作选项:
另外再练习一下其他的一些用法:
1、当压缩testdir目录的时候,需要将文件夹根路径内的test文件排除:
2、只压缩比指定时间更新的文件:
3、压缩所有文件名前缀为“te”的文件或文件夹(或者压缩后缀为“st”的文件):
最后补充一下常用的选项:
-p, --preserve-permissions, --same-permissions
                             保留解压文件权限信息(默认只为超级用户服务)
      --preserve             与 -p 和 -s 一样
      --same-owner           尝试解压时保持所有者关系一致(超级用户默认此项)
-r, --append                 追加文件至归档结尾
-u, --update               仅追加比归档中副本更新的文件
-k, --keep-old-files        解压时不要替换存在的文件
      --keep-newer-files
                             不要替换比归档中副本更新的已存在的文件
      --no-overwrite-dir     保留已存在目录的元数据
      --overwrite            解压时重写存在的文件
      --overwrite-dir
                             解压时重写已存在目录的元数据(默认)
                            
      --recursive-unlink     解压目录之前先清除目录层次
      --remove-files         在添加文件至归档后删除它们
-N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE 只保存比 DATE-OR-FILE 更新的文件
2、rar:
rar <command> -<switch 1> -<switch N> <archive> <files...><@listfiles...> <path_to_extract\>
Linux系统的默认软件包里是不包含rar压缩工具的,所以我们先安装rar:
sudo apt-get install rar 
<command>选项只可以从给出的选项中输入一个(且只能一个),我们看一下它提供的命令列表:
使用举例,比如说现在我们要进行文件压缩:
在完成压缩之后,我们可以通过命令l获取压缩文件内具体的结构信息:
甚至可以通过命令p将压缩文件内的所有信息输出到控制台:
<switch N>部分则提供了一些功能性的选项。
比如说以追加性的方式更新压缩文件可选用-ad:
或者说想把某个文件排除在外可以选用开关-x(注意,要排除的串要紧跟在x后面,不用加任何符号),比如我们这里想要将文件夹根路径下凡是“te”开头的文件都排除:
还有加密,用开关-p,同样的,密码紧随p后面即可:
如果相对文件进行解压或者直接打开文件,就会要求你输入密码:
除此之外,还有一些常用的选项有:
ag[format]    Generate archive name using the current date
cl                 Convert names to lower case
cu                Convert names to upper case
df                 Delete files after archiving
ed                Do not add empty directories
dw               Wipe files after archiving
其他的命令和开关可参照帮助手册。
3、zip , unzip:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
zip和unzip的使用方法是比较简单的,甚至连帮助文档都写得很简单,所以也就没什么笔记好写的了,直接看帮助文档即可。
Linux常用命令--文件的压缩和解压缩的更多相关文章
- Linux常用命令——文件搜索命令
		
Linux常用命令——文件搜索命令 Linux 以#号开头的内容都是内容描述或配置项 find 描述:文件搜索 语法:find [搜索范围] [范围条件] . 当前目录 示例:[root@local ...
 - Linux 常用命令——文件处理命令
		
Linux 常用命令 Linux Linux命令格式 命令格式:命令 [-选项] [参数] 例如:ls -a /etc 说明: 1.当有多个选项时,可以写在一起 2.简化选项等于完整选项 -a = - ...
 - Linux常用命令--文件(夹)查找之find命令
		
Linux系统用得越久,就会发现这真的是一个很优秀的系统,各种方便各种实用各种高效率. 晚饭前写一下find命令的笔记. 其实这篇笔记,也是看到一篇外文博客,写得不错,自己拿来练一练,然后才顺便写篇笔 ...
 - Linux常用命令--文件操作
		
常用Linux命令笔记(1) 1. 创建文件/文件夹 参考博客:https://www.cnblogs.com/lclq/p/5741852.html. 使用cat命令创建新文件: 输入命令 # ca ...
 - linux常用命令-文件搜索命令-locate,which,whereis,grep
		
locate 目录或文件名 -i 查找的时候不区分大小写 这个类似everything,速度比find快很多,因为这个命令搜索的是它维护的文件资料库,文件资料库是var/lib/mlocate/mlo ...
 - linux常用命令-文件搜索命令-find
		
find [目录] [选项] 文件名或者正则表达式 -name 根据文件名搜索 -iname 搜索文件名的时候忽略大小写 例:find /etc -name init find /etc -i ...
 - linux常用命令-文件处理命令
		
ls -a -l -d -h -i mkdir [-p] 创建目录,-p递归创建目录 rmdir 删除一个空目录 cp [-r,-p] -r,拷贝目录,-p,保持属性,新文件的修改时间为源文件的修改时 ...
 - linux笔记:linux常用命令-文件搜索命令
		
文件搜索命令:find(文件搜索) 一些示例: 注意:在以文件名为条件进行搜索时,支持通配符. 多条件搜索,以及直接对搜索到的文件进行操作: 文件搜索命令:locate(在文件资料库中查找文件) 文件 ...
 - linux笔记:linux常用命令-文件处理命令
		
文件处理命令:touch(创建空文件) 文件处理命令:cat(显示文件内容) 文件处理命令:more(分页显示文件内容) 文件处理命令:head(显示文件前面几行) 文件处理命令:tail(显示文件后 ...
 
随机推荐
- open和fopen的区别
			
open和fopen的区别: 1.缓冲文件系统缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”, 装满后再从内存“缓 ...
 - kafka监控之KafkaOffsetMonitor
			
参考自:http://www.cnblogs.com/sunxucool/p/3904850.html 流行的kafka监控有kafka-web-console.KafkaOffsetMonitor. ...
 - WPF 路由事件
			
最近想封装一个关于手势的控件,但是由其他的控件覆盖之后发现不能触发,据说是有一些事件在定义的时候就处理过e.Handle了. 定义的时候就处理了,就是为了控件能够正常的工作,别如Button.Mous ...
 - 亚马逊副总裁谈Marketplace平台的个性化服务
			
说到个性化,亚马逊无疑是挖掘与利用数据为消费者打造个性化网购体验的先驱之一.而现在,几乎所有的公司和网站都在利用更加个性化的推荐算法为用户提供更好的购物和浏览体验. 亚马逊近年来尤其重视将其个性化特性 ...
 - iOS 中的XML解析代码(SAX)
			
1.XML解析(SAX) NSXMLParser SAX 大文件 1)打开文档 - (void)parserDidStartDocument:(NSXMLParser *)parser 2)开始查找起 ...
 - android开发之路12(android四大组件&Fragment&AsyncTask类)
			
一.Activity组件1.简介:Activity组件是Android四大组件之一,通常一个Activity相当于一个用户界面,我们可以通过加载布局文件将Android提供的各种控件及自定义控件显示到 ...
 - XAMPP Apache服务器解析php页面汉字乱码的解决
			
XAMPP 的Apache服务器默认未设置缺省字体,导致php网页中的汉字总是显示为乱码,每次要在浏览器中选择字符编码为“简体中文”才可正常显示. 实际上可以修改php.ini文件,找到“;defau ...
 - 【AR】Vuforia App key is missing.Please get a valid key
			
在跑Vuforia 的sample android app 的时候报了下面这个错,找了半天才找到解决方法: "Vuforia App key is missing. Please get a ...
 - codeforces 590A A. Median Smoothing(思维)
			
题目链接: A. Median Smoothing time limit per test 2 seconds memory limit per test 256 megabytes input st ...
 - LC.exe exited with code -1 报错
			
vs项目运行是报LC.exe exited with code -1错误.现在什么鬼都能在度娘里面找到了. 删掉重新编译OK啦!