UP | HOME

命令行Shell 笔记

Table of Contents

命令速记

Tricks

  • 删掉路径下大小为0的文件
find . -name "*" -type f -size 0c | xargs -n 1 rm -rf
  • 拷贝目录包括隐藏文件
tar cvf - . | (cd /dest/dir; tar xvf -)

which tars up the current directory to stdout then pipes it to a subshell that first cd's to the destination directory before untarring stdin. Simple, direct, extensible - consider what happens when you replace the () with an ssh to another machine. Or to answer your question you might do:

tar cvf - .* --exclude=\. --exclude=\.\. | (cd /dest/dir; tar xvf -)

From:

  1. http://serverfault.com/questions/3154/recursively-copying-hidden-files-linux
  2. http://superuser.com/questions/61611/how-to-copy-with-cp-to-include-hidden-files-and-hidden-directories-and-their-con

压缩文件

基本语法:

tar option(s) archive_name file_name(s)

打包(.tar):

tar -cf file.tar file1 file2 file3 #把 file1,2,3 打包为 file.tar,-c (compress)为压缩,-f 指定压缩后文件的名称
tar -cvf Pro.tar /home/lin/Pro   #将/home/lin/Pro文件夹下的所有文件打包成Pro.tar, -v 显示压缩的文件列
tar -cvf dir.tar dir1 dir2 #压缩多个文件夹到一个文件中
tar -cf * #使用通配符匹配文件进行压缩

压缩格式参数:

-j #bzip2
-z #gzip
-Z #compress
#例如
tar -cvjf files.tar.bz2 file4 file5 file6

解压:

tar -xvf file.tar #-x (extract) 为解压
tar -tvzf file.tar.gz #解压使用 -z 参数压缩的文件
tar -xjvf files.tar.bz2 #解压使用 -j 参数压缩的文件

增加新的文件到压缩文件:

tar -rf file.tar file7 #-r 参数把 file7添加道 file.tar 中

从压缩文件中删除某些文件:

tar -f file.tar --delete file1 file2

列出压缩文件中内容但是不解压:

tar -tf file.tar

参数说明:

c   创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
x   从档案文件中释放文件。
v   详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
z   用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
f   使用档案文件或设备,这个选项通常是必选的。

分割压缩文件:

压缩:

tar cvzf - dir/ | split --bytes=200MB - sda1.backup.tar.gz.

解压:

cat sda1.backup.tar.gz.* | tar xzvf

来自:http://unix.stackexchange.com/questions/61774/create-a-tar-archive-split-into-blocks-of-a-maximum-size

Shell

Links

Date: 2015-09-16

Author: 马楠

Created: 2015-12-31 四 16:50

Emacs 24.3.1 (Org mode 8.2.10)

Validate