linux下的一些压缩和归档命令linux下的一些压缩和归档命令一、常见的压缩/解压缩工具compress
/
uncomprss
后缀:.zgzip
/
gunzip
后缀:.gzbzip2
/
bunzip2
后缀:.bz2zip
/
unzip
后缀:.zip注:第一种compress已经不太常见,后面三种都是现在比较流行的压缩/解压缩工具二、具体使用1)gzip$gzip
filename
//压缩一个文件,但是压缩后原来的文件会被删除$gunzip
fielname.gz
//解压后.gz文件会被删除$gzip
-d
filename.gz
//相当于gunzip
filename.gz$gzip
-c
filename
filename.gz
//用来实现既压缩原文件又保留原文件$gzip
-n
filename
//自定义压缩级别(级别1-9压缩比例由低到高,越高压缩速度越慢,默认为6)$zcat
filename.gz
//不解压的情况下查看压缩文件的内容注:gzip无法压缩目录(如果压缩目录,就对目录中的文件进行逐个压缩)2)bzip,压缩比相对gzip大一些,使用的格式和gzip类似,但有以下几个地方不同$bzip
-k
filename
//压缩后保留原文件$bzip2
-k
filname.bz2
//解压缩时保留原文件$bzcat
filename.bz2
//不用解压缩直接查看压缩文件的内容注:bzip也只能对单个文件压缩,不能压缩目录3)zip,可以同时归档并且压缩$zip
test.zip
filename1
filename2
filename3
//同时把几个文件压缩在一个文件里面(压缩不删除原文件 , 解压缩也不删除原压缩文件)注:zip可以对目录进行压缩,压缩后的文件名可以自定义4)tar,文件归档命令(本身不做任何压缩)$tar
-cf
test.tar
filename1
filename2
filename3
//必须指定归档后的文件名,-c:进行归档,-f:指定文件名$tar
-tf
test.tar
//查看归档文件的内容$tar
-xf
test.tat
//展开归档文件的内容$tar
-cvf
test.tar
filename1
filename2
filename3
//归档这三个文件,-v:显示归档过程信息$tar
-xvf
test.tar
//展开归档文件,并显示过程信息三、归档工具tar盒gzip,bzip2配合使用$tar
-zcvf
test.tar.gz
filename1
filename2
filename3
//归档并压缩这三个文件$tar
-zxvf
test.tar.gz
//解压缩并解档$tar
-jcvf
test.tar.bz2
filename1
filename2
filename3
//归档并压缩这三个文件$tar
-jxvf
test.tar.bz2
//解压缩并
解档$tar
-jxvf
test.tar.bz2
-C
/tmp
//-C:指定解压到的目录,默认为当前目录
Linux命令大全linux命令格式:
说明:command: 命令名,相应功能的英文单词或单词的缩写 [-options]:选项,可用来对命令进行控制,也可以省略,[]代表可选 parameter1 …:传给命令的参数:可以是零个一个或多个
一般是linux命令自带的帮助信息
如:
man是linux提供的一个手册,包含了绝大部分的命令、函数使用说明
该手册分成很多章节(section),使用man时可以指定不同的章节来浏览 。
例:man ls ; man 2 printf
man中各个section意义如下:
man是按照手册的章节号的顺序进行搜索的 。
man设置了如下的功能键:
在敲出命令的前几个字母的同时,按下tab键,系统会自动帮我们补全命令
当系统执行过一些命令后,可按上下键翻看以前的命令,history将执行过的命令列举出来
ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令 。
Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“..”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示 。
ls常用参数:
Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中 。
如:lstest.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 )
注意: 输出重定向会覆盖原来的内容,输出重定向则会追加到文件的尾部 。
查看内容时 , 在信息过长无法在一屏上显示时,会出现快速滚屏 , 使得用户无法看清文件的内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助 。
管道:一个命令的输出可以通过管道做为另一个命令的输入 。
管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读) 。
clear作用为清除终端上的显示(类似于DOS的cls清屏功能),也可使用快捷键:Ctrll ( “l” 为字母 ) 。
在使用Unix/Linux的时候,经常需要更换工作目录 。cd命令可以帮助用户切换工作目录 。Linux所有的目录和文件名大小写敏感
cd后面可跟绝对路径,也可以跟相对路径 。如果省略目录,则默认切换到当前用户的主目录 。
使用pwd命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可,后面不带参数 。
通过mkdir命令可以创建一个新的目录 。参数-p可递归创建目录 。
需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限 。
可使用rmdir命令删除一个目录 。必须离开目录,并且目录必须为空目录,不然提示删除失败 。
可通过rm删除文件或目录 。使用rm命令要小心,因为文件删除后不能恢复 。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件 。
常用参数及含义如下表所示:
Linux链接文件类似于Windows下的快捷方式 。
链接文件分为软链接和硬链接 。
软链接:软链接不占用磁盘空间,源文件删除则软链接失效 。
硬链接:硬链接只能链接普通文件,不能链接目录 。
使用格式:
如果没有-s选项代表建立一个硬链接文件 , 两个文件占用相同大小的硬盘空间 , 即使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式 。
注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径 。
Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找 。如果找到匹配模式 , grep打印包含模式的所有行 。
grep一般格式为:
在grep命令中输入字符串参数时,最好引号或双引号括起来 。例如:grep‘a ’1.txt 。
常用选项说明:
find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件 。
常用用法:
cp命令的功能是将给出的文件或目录复制到另一个文件或目录中 , 相当于DOS下的copy命令 。
常用选项说明:
用户可以使用mv命令来移动文件或目录 , 也可以给文件或目录重命名 。
常用选项说明:
计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据 。
tar使用格式 tar [参数] 打包文件名 文件
tar命令很特殊 , 其参数前面可以使用“-”,也可以不使用 。
常用参数:
tar与gzip命令结合使用实现文件打包、压缩 。tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz 。
gzip使用格式如下:
gzip [选项] 被压缩文件
常用选项:
tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样) 。
tar只负责打包文件,但不压缩 , 用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz2 。
在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程 。
压缩用法:tar -jcvf 压缩包包名 文件...(tar jcvf bk.tar.bz2 *.c)
解压用法:tar -jxvf 压缩包包名 (tar jxvf bk.tar.bz2)
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip 。
压缩文件:zip [-r] 目标文件(没有扩展名) 源文件
解压文件:unzip -d 解压后目录文件 压缩文件
whoami该命令用户查看当前系统当前账号的用户名 。可通过cat /etc/passwd查看系统用户信息 。
由于系统管理员通常需要使用多种身份登录系统 , 例如通常使用普通用户登录系统,然后再以su命令切换到root身份对传统进行管理 。这时候就可以使用whoami来查看当前用户的身份 。
who命令用于查看当前所有登录系统的用户信息 。
常用选项:
如果是图形界面,退出当前终端;
如果是使用ssh远程登录 , 退出登陆账户;
如果是切换后的登陆用户,退出则返回上一个登陆账号 。
在Unix/Linux中添加用户账号可以使用adduser或useradd命令,因为adduser命令是指向useradd命令的一个链接,因此,这两个命令的使用格式完全一样 。
useradd命令的使用格式如下:
useradd [参数] 新建用户账号
在Unix/Linux中 , 超级用户可以使用passwd命令为普通用户设置或修改用户口令 。用户也可以直接使用该命令来修改自己的口令,而无需在命令后面使用用户名 。
可以通过su命令切换用户,su后面可以加“-” 。su和su –命令不同之处在于 , su -切换到对应的用户时会将当前的工作目录自动转换到切换后的用户主目录:
注意:如果是ubuntu平台,需要在命令前加“sudo”,如果在某些操作需要管理员才能操作,ubuntu无需切换到root用户即可操作,只需加“sudo”即可 。sudo是ubuntu平台下允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,减少了root 用户的登陆和管理时间,提高了安全性 。
方法一:
方法二:
groupadd 新建组账号 groupdel 组账号 cat /etc/group 查看用户组
使用方法:usermod -g 用户组 用户名
新创建的用户,默认不能sudo,需要进行一下操作
-g用来制定这个用户默认的用户组
-G一般配合'-a'来完成向其它组添加
chmod 修改文件权限有两种使用格式:字母法与数字法 。
字母法:chmod u/g/o/a/-/= rwx 文件
cal命令用于查看当前日历 , -y显示整年日历
设置时间格式(需要管理员权限):
date [MMDDhhmm[[CC]YY][.ss]]format
CC为年前两位yy为年的后两位,前两位的mm为月,后两位的mm为分钟,dd为天,hh为小时,ss为秒 。如: date 010203042016.55 。
显示时间格式(date ' %y,%m,%d,%H,%M,%S'):
进程是一个具有一定独立功能的程序,它是操作系统动态执行的基本单元 。
ps命令可以查看进程的详细状况,常用选项(选项可以不加“-”)如下:
top命令用来动态显示运行中的进程 。top命令能够在运行后,在指定的时间间隔更新显示信息 。可以在使用top命令时加上-d 来指定显示信息更新的时间间隔 。
在top命令执行后,可以按下按键得到对显示的结果进行排序:
kill命令指定进程号的进程,需要配合 ps 使用 。有些进程不能直接杀死,这时候我们需要加一个参数“ -9 ”,“ -9 ” 代表强制结束.
使用格式:
kill [-signal] pid
df命令用于检测文件系统的磁盘空间占用和空余情况 , 可以显示所有文件系统对节点和磁盘块的使用情况 。
du命令用于统计目录或文件所占磁盘空间的大小,该命令的执行结果与df类似,du更侧重于磁盘的使用状况 。
du命令的使用格式如下: du [选项] 目录或文件名
linux文件归档是什么意思?linux文件归档的意思是为文件或目录备份,建立归档文件
tar命令可以为linux的文件和目录创建档案 。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件 , 或者向档案中加入新的文件 。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案 。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件 , 这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的 。
首先要弄清两个概念:打包和压缩 。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件 。
为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令) , 然后再用压缩程序进行压缩(gzip bzip2命令) 。
linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包 , tar包文件的命令通常都是以.tar结尾的 。生成tar包后,就可以用其它的程序来进行压缩 。
1.命令格式:
tar[必要参数][选择参数][文件]
2.命令功能:
用来压缩和解压文件 。tar本身不具有压缩功能 。他是调用压缩功能实现的
3.命令参数:
必要参数有如下:
-A 新增压缩文件到已存在的压缩
-B 设置区块大小
-c 建立新的压缩文件
-d 记录文件的差别
-r 添加文件到已经压缩的文件
-u 添加改变了和现有的文件到已经存在的压缩文件
-x 从压缩的文件中提取文件
-t 显示压缩文件的内容
-z 支持gzip解压文件
-j 支持bzip2解压文件
-Z 支持compress解压文件
-v 显示操作过程
-l 文件系统边界设置
-k 保留原有文件不覆盖
-m 保留文件不被覆盖
-W 确认压缩文件的正确性
可选参数如下:
-b 设置区块数目
-C 切换到指定目录
-f 指定压缩文件
--help 显示帮助信息
--version 显示版本信息
4.常见解压/压缩命令
tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩?。?
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知
.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
5.使用实例
实例1:将文件全部打包成tar包
命令:
tar -cvf log.tar log2012.log
tar -zcvf log.tar.gz log2012.log
tar -jcvf log.tar.bz2 log2012.log
输出:
[root@localhost test]# ls -al log2012.log
---xrw-r-- 1 root root 302108 11-13 06:03 log2012.log
[root@localhost test]# tar -cvf log.tar log2012.log
log2012.log
[root@localhost test]# tar -zcvf log.tar.gz log2012.log
log2012.log
[root@localhost test]# tar -jcvf log.tar.bz2 log2012.log
log2012.log
[root@localhost test]# ls -al *.tar*
-rw-r--r-- 1 root root 307200 11-29 17:54 log.tar
-rw-r--r-- 1 root root1413 11-29 17:55 log.tar.bz2
-rw-r--r-- 1 root root1413 11-29 17:54 log.tar.gz
说明:
tar -cvf log.tar log2012.log仅打包,不压缩!
tar -zcvf log.tar.gz log2012.log打包后,以 gzip 压缩
tar -zcvf log.tar.bz2 log2012.log打包后,以 bzip2 压缩
在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识 。如果加 z 参数 , 则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar包; 如果加 j 参数 , 则以 .tar.bz2 来作为tar包名 。
实例2:查阅上述 tar包内有哪些文件
命令:
tar -ztvf log.tar.gz
输出:
[root@localhost test]# tar -ztvf log.tar.gz
---xrw-r-- root/root302108 2012-11-13 06:03:25 log2012.log
说明:
由于我们使用 gzip 压缩的log.tar.gz,所以要查阅log.tar.gz包内的文件时,就得要加上 z 这个参数了 。
实例3:将tar 包解压缩
命令:
tar -zxvf /opt/soft/test/log.tar.gz
输出:
[root@localhost test3]# ll
总计 0[root@localhost test3]# tar -zxvf /opt/soft/test/log.tar.gz
log2012.log
[root@localhost test3]# ls
log2012.log
[root@localhost test3]#
说明:
在预设的情况下,我们可以将压缩档在任何地方解开的
实例4:只将 /tar 内的 部分文件解压出来
命令:
tar -zxvf /opt/soft/test/log30.tar.gz log2013.log
输出:
[root@localhost test]# tar -zcvf log30.tar.gz log2012.log log2013.log
log2012.log
log2013.log
[root@localhost test]# ls -al log30.tar.gz
-rw-r--r-- 1 root root 1512 11-30 08:19 log30.tar.gz
[root@localhost test]# tar -zxvf log30.tar.gz log2013.log
log2013.log
[root@localhost test]# ll
-rw-r--r-- 1 root root1512 11-30 08:19 log30.tar.gz
[root@localhost test]# cd test3
[root@localhost test3]# tar -zxvf /opt/soft/test/log30.tar.gz log2013.log
log2013.log
[root@localhost test3]# ll
总计 4
-rw-r--r-- 1 root root 61 11-13 06:03 log2013.log
[root@localhost test3]#
说明:
我可以透过 tar -ztvf 来查阅 tar 包内的文件名称,如果单只要一个文件 , 就可以透过这个方式来解压部分文件!
实例5:文件备份下来,并且保存其权限
命令:
tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log
输出:
[root@localhost test]# ll
总计 0
-rw-r--r-- 1 root root0 11-13 06:03 log2014.log
-rw-r--r-- 1 root root0 11-13 06:06 log2015.log
-rw-r--r-- 1 root root0 11-16 14:41 log2016.log
[root@localhost test]# tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log
log2014.log
log2015.log
log2016.log
[root@localhost test]# cd test6
[root@localhost test6]# ll
[root@localhost test6]# tar -zxvpf /opt/soft/test/log31.tar.gz
log2014.log
log2015.log
log2016.log
[root@localhost test6]# ll
总计 0
-rw-r--r-- 1 root root 0 11-13 06:03 log2014.log
-rw-r--r-- 1 root root 0 11-13 06:06 log2015.log
-rw-r--r-- 1 root root 0 11-16 14:41 log2016.log
[root@localhost test6]#
说明:
这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时
实例6:在 文件夹当中,比某个日期新的文件才备份
命令:
tar -N "2012/11/13" -zcvf log17.tar.gz test
输出:
[root@localhost soft]# tar -N "2012/11/13" -zcvf log17.tar.gz test
tar: Treating date `2012/11/13' as 2012-11-13 00:00:000 nanoseconds
test/test/log31.tar.gz
test/log2014.log
test/linklog.log
test/log2015.log
test/log2013.log
test/log2012.log
test/log2017.log
test/log2016.log
test/log30.tar.gz
test/log.tar
test/log.tar.bz2
test/log.tar.gz
说明:
实例7:备份文件夹内容是排除部分文件
命令:
tar --exclude scf/service -zcvf scf.tar.gz scf/*
输出:
[root@localhost test]# tree scf
scf
|-- bin
|-- doc
|-- lib
`-- service
`-- deploy
|-- info
`-- product
7 directories, 0 files
[root@localhost test]# tar --exclude scf/service -zcvf scf.tar.gz scf/*
scf/bin/
scf/doc/
scf/lib/
在Linux 中如何归档文件和目录归档文件和目录最常见的程序是:
tarzip
这是一个很大的话题linux归档命令格式,所以,linux归档命令格式我将分两部分发表这篇文章 。在第一部分中,我们将看到如何使用 tar 命令来归档文件和目录 。
使用 tar 命令归档文件和目录
Tar 是一个 Unix 命令,代表 Tape Archive(磁带归档) 。它用于将多个文件(相同或不同大?。┳楹匣虼娲⒌揭桓鑫募?。在 tar 实用程序中有 4 种主要的操作模式 。
c – 从文件或目录中建立归档
x – 提取归档
r – 将文件追加到归档
t – 列出归档的内容
有关完整的模式列表,参阅 man 手册页 。
创建一个新的归档
为了本指南,我将使用名为 ostechnix 的文件夹,其中包含三种不同类型的文件 。
$ ls ostechnix/
file.odt image.png song.mp3
现在,让我们为 ostechnix 目录创建一个新的 tar 归档 。
$ tar cf ostechnix.tar ostechnix/
这里,c 标志指的是创建新的归档,f 是指定归档文件 。
同样,对当前工作目录中的一组文件创建归档文件,使用以下命令:
$ tar cf archive.tar file1 file2 file 3
提取归档
要在当前目录中提取归档文件,只需执行以下操作:
$ tar xf ostechnix.tar
我们还可以使用 C 标志(大写字母 C)将归档提取到不同的目录中 。例如,以下命令将归档文件提取到 Downloads 目录中 。
$ tar xf ostechnix.tar -C Downloads/
或者,转到 Downloads 文件夹并像下面一样提取其中的归档 。
$ cd Downloads/
$ tar xf ../ostechnix.tar
有时,你可能想要提取特定类型的文件 。例如 , 以下命令提取 “.png” 类型的文件 。
$ tar xf ostechnix.tar --wildcards "*.png"
创建 gzip 和 bzip 格式的压缩归档
默认情况下,tar 创建归档文件以 .tar 结尾 。另外 , tar 命令可以与压缩实用程序 gzip 和 bzip 结合使用 。文件结尾以 .tar 为扩展名使用普通 tar 来归档文件,文件以 tar.gz 或 .tgz 结尾使用 gzip 归档并压缩文件,文件以 tar.bz2 或 .tbz 结尾使用 bzip 归档并压缩 。
首先,让我们来创建一个 gzip 归档:
$ tar czf ostechnix.tar.gz ostechnix/
或者:
$ tar czf ostechnix.tgz ostechnix/
这里,我们使用 z 标志来使用 gzip 压缩方法压缩归档文件 。
你可以使用 v 标志在创建归档时查看进度 。
$ tar czvf ostechnix.tar.gz ostechnix/
ostechnix/
ostechnix/file.odt
ostechnix/image.png
ostechnix/song.mp3
这里,v 指显示进度 。
从一个文件列表创建 gzip 归档文件:
$ tar czf archive.tgz file1 file2 file3
要提取当前目录中的 gzip 归档文件,使用:
$ tar xzf ostechnix.tgz
要提取到其他文件夹 , 使用 -C 标志:
$ tar xzf ostechnix.tgz -C Downloads/
现在,让我们创建 bzip 归档 。为此,请使用下面的 j 标志 。
创建一个目录的归档:
$ tar cjf ostechnix.tar.bz2 ostechnix/
或
$ tar cjf ostechnix.tbz ostechnix/
从一个列表文件中创建归档:
$ tar cjf archive.tar.bz2 file1 file2 file3
或
$ tar cjf archive.tbz file1 file2 file3
为了显示进度,使用 v 标志 。
现在,在当前目录下,让我们提取一个 bzip 归档 。这样做:
$ tar xjf ostechnix.tar.bz2
或者 , 提取归档文件到其他目录:
$ tar xjf ostechnix.tar.bz2 -C Downloads
一次创建多个目录和/或文件的归档
这是 tar 命令的另一个最酷的功能 。要一次创建多个目录或文件的 gzip 归档文件,使用以下文件:
$ tar czvf ostechnix.tgz Downloads/ Documents/ ostechnix/file.odt
上述命令创建 Downloads、 Documents 目录和 ostechnix 目录下的 file.odt 文件的归档,并将归档保存在当前工作目录中 。
在创建归档时跳过目录和/或文件
这在备份数据时非常有用 。你可以在备份中排除不重要的文件或目录 , 这是 –exclude 选项所能帮助的 。例如你想要创建 /home 目录的归档 , 但不希望包括 Downloads、 Documents、 Pictures、 Music 这些目录 。
这是我们的做法:
$ tar czvf ostechnix.tgz /home/sk --exclude=/home/sk/Downloads --exclude=/home/sk/Documents --exclude=/home/sk/Pictures --exclude=/home/sk/Music
上述命令将对我的 $HOME 目录创建一个 gzip 归档,其中不包括 Downloads、Documents、Pictures 和 Music 目录 。要创建 bzip 归档,将 z 替换为 j,并在上例中使用扩展名 .bz2 。
列出归档文件但不提取它们
要列出归档文件的内容,我们使用 t 标志 。
$ tar tf ostechnix.tar
ostechnix/
ostechnix/file.odt
ostechnix/image.png
ostechnix/song.mp3
要查看详细输出,使用 v 标志 。
$ tar tvf ostechnix.tar
drwxr-xr-x sk/users 0 2018-03-26 19:52 ostechnix/
-rw-r--r-- sk/users 9942 2018-03-24 13:49 ostechnix/file.odt
-rw-r--r-- sk/users 36013 2015-09-30 11:52 ostechnix/image.png
-rw-r--r-- sk/users 112383 2018-02-22 14:35 ostechnix/song.mp3
追加文件到归档
文件或目录可以使用 r 标志添加/更新到现有的归档 。看看下面的命令:
$ tar rf ostechnix.tar ostechnix/ sk/ example.txt
上面的命令会将名为 sk 的目录和名为 exmple.txt 添加到 ostechnix.tar 归档文件中 。
你可以使用以下命令验证文件是否已添加:
$ tar tvf ostechnix.tar
drwxr-xr-x sk/users 0 2018-03-26 19:52 ostechnix/
-rw-r--r-- sk/users 9942 2018-03-24 13:49 ostechnix/file.odt
-rw-r--r-- sk/users 36013 2015-09-30 11:52 ostechnix/image.png
-rw-r--r-- sk/users 112383 2018-02-22 14:35 ostechnix/song.mp3
drwxr-xr-x sk/users 0 2018-03-26 19:52 sk/
-rw-r--r-- sk/users 0 2018-03-26 19:39 sk/linux.txt
-rw-r--r-- sk/users 0 2018-03-26 19:56 example.txt
TL;DR
创建 tar 归档:
普通 tar 归档: tar -cf archive.tar file1 file2 file3
Gzip tar 归档: tar -czf archive.tgz file1 file2 file3
Bzip tar 归档: tar -cjf archive.tbz file1 file2 file3
提取 tar 归档:
普通 tar 归档: tar -xf archive.tar
Gzip tar 归档: tar -xzf archive.tgz
Bzip tar 归档: tar -xjf archive.tbz
我们只介绍了 tar 命令的基本用法,这些对于开始使用 tar 命令足够了 。但是,如果你想了解更多详细信息,参阅 man 手册页 。
$ man tar
Linux基本操作-----文件的排序 分割 合并 归档等linux基本操作-----文件的排序 分割 合并 归档等1
sort
1
sort命令将输入文件看做由多条记录组成的数据流linux归档命令格式,而记录由可变宽度的字段组成linux归档命令格式,以换行符作为定界符
2
sort的命令的基本格式
sort
选项
文件
3
sort命令选项及其意义
选项
意义
-c
测试文件是否已经被排序
-k
指定排序的域
-m
合并两个已排序的文件
-n
根据数字大小进行排序
-o
输出文件
将输出写到指定的文件,相当于将输出重定向到指定的文件
-r
将排序结果逆向显示
-t
改变域分割符
-u
去除结果中的重复行2
uniq
1
uniq命令是用于去除文本的重复行,这类似于sort命令的-u选项
2
uniq命令的基本用法
uniq
选项
文件
3
uniq命令选项及其意义
选项
意义
-c
打印每行在文本中重复出现的次数
-d
只显示有重复的记录,每个重复记录只出现一次
-u
只显示没有重复的记录3
cut
1
cut命令用于从标准输入或文本文件中按域或行提取文本
2
cut命令的基本格式
cut
选项
文件
3
cut选项及其意义
选项
意义
-c
指定提取的字符数或字符范围
-f
指定提取的域或域的范围
-d
改变域分割符4
tar
1
tar命令是linux的归档命令 , 通俗的说tar命令实现了linux系统文件的压缩和解压缩
2
tar命令基本格式
tar
选项
文件名或目录名
3
tar命令选项及其意义
选项
意义
-c
创建新的包
-r
为包添加新的文件
-t
列出包内容
-u
更新包中的文件,若包中没有此文件 , 则将文件添加进包中
-x
解压缩文件
-v
详细报告tar处理的信息
-f
使用压缩文件或设备,该选项通常是必选的
-z
用gzip压缩和解压缩文件,如果是.gz结尾的tar包那么该选项是必须的
4
解压非gzip格式的压缩包
tar
-xvf
包名
解压gzip格式的压缩包
tar
-zxvf
包名
linux中对文件进行归档的命令为linux中对文件进行归档的命令为tar
tar命令
[root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ....
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中 , c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩 。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用 , 但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
『 tar -zcvPf tfile sfile』才对喔!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
范例:
范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc ==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc ==打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc ==打包后,以 bzip2 压缩
# 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识 。
# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
# 如果加 j 参数 , 则以 .tar.bz2 来作为附档名啊~
# 上述指令在执行的时候,会显示一个警告讯息:
# 『tar: Removing leading `/' from member names』那是关於绝对路径的特殊设定 。
范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
# 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,
# 就得要加上 z 这个参数了!这很重要的!
范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
# 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,
# 我先将工作目录变换到 /usr/local/src 底下 , 并且解开 /tmp/etc.tar.gz ,
# 则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc
# 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!
范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
# 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,
# 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!
范例五:将 /etc/ 内的所有文件备份下来 , 并且保存其权限!
[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc
# 这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!
范例六:在 /home 当中,比 2005/06/01 新的文件才备份
[root@linux ~]# tar -N '2005/06/01' -zcvf home.tar.gz /home
范例七:我要备份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件!
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -cvf - /etc | tar -xvf -
【linux归档命令格式 linux归档是什么意思】关于linux归档命令格式和linux归档是什么意思的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 如何做当代新媒体人才,如何做好一名新媒体工作者
- 航天模拟器战术策略游戏,航天模拟器玩法
- 个人如何做电商出口业务,电商出口流程
- 怎么删除oracle用户 怎样删除oracle用户
- 拍摄方法什么意思,拍摄方式是什么
- 仓颉起源区块链,仓颉历史
- 深圳龙华富士康gis事业群在那区,龙华富士康gis部门
- php带数据库的网页计数 php连接数据库实现网页内容增删改查
- c语言输出整数交换,c语言输出为整数