linux中tar命令打包目录与排除目录打包

打包压缩目录很简单如下

 代码如下 复制代码

tar -czf small.tar.gz small(目录名)  ;压缩并打包目录

更多示例

 代码如下 复制代码

示例一:将整个 /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』那是关於绝对路径的特殊设定。
tar示例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
# 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,
# 就得要加上 z 这个参数了!这很重要的!
tar示例三:将 /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/ 可能会有所不同喔!
tar示例四:在 /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 内的根目录 / 是被拿掉了!
tar示例五:将 /etc/ 内的所有文件备份下来,并且保存其权限!
[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc
# 这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!

tar示例六:在 /home 当中,比 2005/06/01 新的文件才备份
[root@linux ~]# tar -N ‘2005/06/01′ -zcvf home.tar.gz /home
tar示例七:我要备份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar –exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
tar示例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件!
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -cvf – /etc | tar -xvf -

tar 打包排除目录

测试通过
目录misc位于web目录,打包misc目录,但不要misc目录下的ckeditor目录,命令如下
(注意文件夹后面没有反斜杠,有和没有是绝对有区别的)

 代码如下 复制代码

cd /var/www/html/web/
tar -zcvf misc.tar.gz misc --exclude=misc/ckeditor

后面的内容不要看了 ^_^

因此需要排除一些目录
之前在网上看到一方法是这样

 代码如下 复制代码
tar -zcvf dayanmei.com.tar.gz ——exclude ./dayanmei.com/cache ./dayanmei.com/ 【 ——是两个’-'】

将需要排除的目录放在最后

 代码如下 复制代码
tar -zcvf dayanmei.com.tar.gz ./dayanmei.com/ ——exclude ./dayanmei.com/cache 【 ——是两个’-'】

tar示例七:我要备份 /home, /etc ,但不要 /home/dayanmei.com (排除多个目录需要在排除目录前加 –exclude)

 代码如下 复制代码
[root@linux ~]# tar ——exclude /home/dayanmei.com -zcvf myfile.tar.gz /home/* /etc

我是这样理解的:

参数的位置,前后并不重要,重要的是遵守命令格式

tar 后边跟的是tar的参数,然后是要压缩成的文件名;
exclude后边跟的是要忽略掉的目录

也就是,可以写成这样:

 代码如下 复制代码
tar zcvf myfile.tar.gz dir1 dir2 –exclude dir1/dir3 dir2/dir4

也可以写成这样:

 代码如下 复制代码
tar zcvf myfile.tar.gz –exclude dir1/dir3 dir2/dir4 dir1 dir2
时间: 2024-12-25 04:09:45

linux中tar命令打包目录与排除目录打包的相关文章

Linux中tar命令使用详解

tar 用来将多个文件或目录打包成一个大文件 1.将/tmp 打包并使用bzip2压缩 [root@localhost ~]# tar -cjvf ./tmp.tar.bz2 /tmp tar: Removing leading `/' from member names /tmp/ /tmp/man.config1.gz /tmp/man.config /tmp/.ICE-unix/ /tmp/man.config9.gz /tmp/man.config.bz2 -c 建立打包文件 -j 使用

linux中tar命令怎么解压.tgz与.tar.gz文件

如: 将文件解压在当前目录:  代码如下 复制代码 tar zxvf  MY_NAME.tgz  或者 tar zxvf  MY_NAME.tar.gz 例:查看usr.tar备份文件的内容,并以分屏方式显示在显示器上.  代码如下 复制代码 $ tar tvf usr.tar | more 例:把/home目录下包括它的子目录全部做备份文件,备份文件名为usr.tar.  代码如下 复制代码 $ tar cvf usr.tar /home 例:把/home目录下包括它的子目录全部做备份文件,并

linux中grep命令的使用

  linux中grep命令的使用 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.Unix的grep家族包括grep.egrep和fgrep. grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Pr

linux中ln命令的-T参数作用

问题描述 linux中ln命令的-T参数作用 我用man ln命令查看用法,其中对-T参数的解释是 -T, --no-target-directory treat LINK_NAME as a normal file 不明白它的意思,请大家可否举例说明下什么时候才会用到这个参数 解决方案 将链接名当作普通文件(在对目录进行符号链接时要用到此选项) 解决方案二: 我尝试在本目录下ln -s ../ link_a 和 ln -s -T ../ link_b,然后再用ls -al查看link_a和li

Linux中grep命令的12个实践例子

你是否遇到过需要在文件中查找一个特定的字符串或者样式,但是不知道从哪儿开始?那么,就请grep来帮你吧. grep是每个Linux发行版都预装的一个强有力的文件模式搜索工具.无论何种原因,如果你的系统没有预装它的话,你可以很容易的通过系统的包管理器来安装它(Debian/Ubuntu系中的apt-get和RHEl/CentOS/Fedora系中的yum). $ sudo apt-get install grep #Debian/Ubuntu $ sudo yum install grep #RH

Linux中service命令和/etc/init.d/的关系

Linux中service命令和/etc/init.d/的关系   service xxx启动 /etc/init.d/ 目录下的xxx脚本 如一个脚本名为 mysvc保存在/etc/init.d/下可以用 service mysvc 运行mysvc脚本 echo passed in option $0 $1   if [ $1 = "start" ] then         echo myservice started................................

Linux中patch命令的使用

下面我们来揭示一下Linux中patch命令的使用技巧. 语法是patch [options] [originalfile] [patchfile] 例如: patch -p[num] <patchfile -p参数决定了是否使用读出的源文件名的前缀目录信息,不提供-p参数,则忽略所有目录信息,-p0(或者-p 0)表示使用全部的路径信息,-p1将忽略第一个"/"以前的目录,依此类推.如/usr/src/linux-2.4.16/Makefile 这样的文件名,在提供-p3 参数

linux中cat命令的用法

今天需要用cat查看文件,无奈忘记如何使用,于是整理了一下 linux中cat命令的用法:  1.用cat命令查看文件:$ cat file1;  $ cat -n file1:在查看的时候加上行号: cat命令还可以使用通配符:$ cat -n file*,把所有的file文件都显示出来(顺序显示)  也可以这样:$ cat -n file1 file2 file3 ;结果用通配符输出结果是完全一样的  2.合并文件 可以用cat命令和重定向操作符(>>)来合并文件: $ cat file*

Linux中tail命令用法详解_Linux

tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linux tail命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux tail命令主要用来从指定点开始将文件写到标准输出.很多人喜欢使用tail –f 来监控日志文件. 一.Linux tail命令格式 Linux tail命令 格式如下所示 tail [OPTION]... [FILE]... Linux tail命令 参数如下所示 -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c