分享

写回答

发帖

[提问] 关于打包的问题?

GoDaddy GoDaddy 847 人阅读 | 2 人回复

发表于 2010-8-2 12:11:19 | 显示全部楼层 |阅读模式

如图所示
截图1280722009.jpg

回答|共 2 个

sujian919

发表于 2010-8-2 12:26:41 | 显示全部楼层

或者把红色框的文件夹移动命令。

add.c

发表于 2010-8-2 13:53:23 | 显示全部楼层

mv命令

cqboy2003

发表于 2010-8-2 14:57:53 | 显示全部楼层

下午遇到一个小问题:文件目录结构如下

    /dir0-
           -/dir1         <---该文件很大,欲排除
           -/dir2         <---该文件很大,欲排除
           -/dir3         <---该文件很大,欲排除
           -/dir4         <---目标目录之一
           -index.php  <---目标文件之一
    .............以下省略N个子目录和子文件.............

目录下很多子目录,而我需要打包。目标是   /wwwroot 下所有子文件+/dir1+/dir2 ,于是那些多余的子目录就让我头疼,
怎样在不影响文件结构的情况下打包呢,很多人会用下面这个方法:

tar cvfz dir0.tar.gz test --exclude dir1 --exclude dir2

但是并不好,要是排除的部分是多出,语句该要写多久啊,还不如直接 MV 之后再打包,然后MV回来。
后来 嵩爷 说可以用 AWK 于是去搜索了一下,反复测试之后,可以这样写:

ls -l | grep "^-" | awk '{print $8}' | xargs tar cvfz dir0.tar.gz

这个语句很好理解:

ls -l 列出所有文件和目录;
grep "^-" 剔除其中的子目录;
awk '{print $8}'  获得排除子目录后的所有文件名;
xargs tar 把上一步得到的名称传参给tar命令。

子目录已排除,别的问题就迎刃而解,果断打包喽!

——————
转载,未测试有效性,希望对LZ有点用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则