用于备份,比如D盘project目录下有很多个独立的项目,如果直接上传到网盘,文件数量可能会超过限制,上传速度也慢,其实也没有必要,在网盘上浏览单个文件也没有意义。
百度网盘限制一次上传5000个文件
但是,如果将整个project目录压缩,压缩包会比较大,想看单个项目时又需要将整个project压缩包下载下来,速度会比较慢。百度网盘的在线解压功能也有些鸡肋,貌似只能解压单个文件。所以最好的办法是将每个项目单独打包。shell脚本代码如下:
#!/bin/bashdirList=`ls -p $1 |grep / |tr -d /`#查看要压缩的文件夹for dir in $dirListdotar -zcvf $1/$dir.tar.gz $1/$dir/done
其中-p选项是在文件夹末尾增加“/”,配合grep / 目的是筛选出文件夹。 tr -d是删除文件夹末尾的 “/”。
如果文件夹下面有单个文件也想打包,修改代码:
dirList=`ls $1`
就可以了。
使用的时候要注意目录参数结尾不要加斜杠 / ,否则连续出现两个斜杠压缩时会有空白名文件夹:
$ bash tarsubfolder.sh /d/test/tar: Removing leading `/' from member names/d/test//1//d/test//1/1/tar: Removing leading `/' from member names/d/test//2//d/test//2/2.txt/d/test//2/3/tar: Removing leading `/' from member names/d/test//\320\302\275\250\316\304\261\276\316\304\265\265.txt
避免出现空白名文件夹也可以将$1/$dir之间的斜杠去掉,然后文件夹参数使用末尾带斜杠的方式。
用find配合exec也可以实现子文件夹单独打包:
find ./ -maxdepth 1 -type d \!! -name "." -exec tar -cf {}.tar {} \;
本文遵从CC版权协定,转载请以链接形式注明出处。本文链接地址: http://www.annhe.net/article-2490.html 没有行李,没有背包,不带电脑更不要手机,
相关文章:
你感兴趣的文章:
标签云:
亚洲高清电影在线,
免费高清电影,
八戒影院夜间,
八戒电影最新大片,
出轨在线电影,
午夜电影院,
在线影院a1166,
在线电影院,
在线观看美剧下载,
日本爱情电影,
日韩高清电影在线,
电影天堂网,
直播盒子app,
聚合直播,
高清美剧,
高清美剧在线观看
EhViewer-E站,
E站,
E站绿色版,
qqmulu.com,
qq目录网,
qq网站目录,