Linux下压缩隐藏文件

Linux下压缩文件

  之前在压缩文件的时候一直使用tar这个命令,因为一般压缩的时候都是对我们能“看见”的文件进行压缩,没有考虑过那些看不见的文件,即“隐藏”文件。

1
2
tar zcvf abc.tar.gz abc/*   // 压缩
tar zxvf abc.tar.gz // 解压

  最近在服务器上压缩文件时,需要用到里面的隐藏文件,想当然的进行了上面的压缩方式,解压之后发现找不到隐藏文件。一阵查找资料后才发想,上面的做法只是压缩指定文件夹下面的非隐藏文件与文件夹

  因此查找资料后发现,对于隐藏和非隐藏文件的压缩方式还有些不同。如果想要对隐藏的文件做处理,需要显示的指定出来才可以。我们都知道隐藏的文件或文件夹都是以“.”开头的。所以就需要用到正则表达式来处理了:

压缩非隐藏文件

  注意只压缩非隐藏文件,不包括文件夹的话是:

1
tar zcvf abc.tar.gz *.*   // 压缩当前文件夹下非隐藏文件不包括文件夹

  压缩所有的非隐藏文件,包括文件夹:

1
tar zcvf abc.tar.gz *       

压缩隐藏文件

  如果要压缩隐藏文件的话,要显示的指示出来

  压缩当前文件下的隐藏文件:

1
tar zcvf abc.tar.gz .[!.]*   // 只压缩当前文件夹下隐藏文件排除两个隐藏文件夹"."和“..”   

上面的.[!.]其实就是正则表达式,表示第一个字符是“.”,第二个字符不是".",第三个以及后面可以是任意字符。

  压缩当前文件夹下的所有文件夹以及隐藏的文件:

1
tar zcvf abc.tar.gz .[!.]* *  // 压缩当前文件夹下所有文件和目录包括隐藏文件  

这条命令比上一条命令多了一个*,表示当前文件夹下的所有文件以及文件夹。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!