Linux

tar 目錄到與目錄同名的存檔?

  • July 5, 2018

是否有一個優雅的單線來 tar/歸檔整個目錄並在之後刪除它?到目前為止,我想出了龐大的解決方案。

從:

# ls -la
drwxr-xr-x 3 root root 4096 Jul  4 15:01 .
drwxr-xr-x 6 root root 4096 Jul  4 14:54 ..
drwxr-xr-x 4 root root 4096 Jul  4 14:59 stresstest

到:

# ls -la
drwxr-xr-x 3 root root 4096 Jul  4 15:01 .
drwxr-xr-x 6 root root 4096 Jul  4 14:54 ..
drwxr-xr-x 4 root root 4096 Jul  4 14:59 stresstest.tar.gz

編輯#1

問題是我事先不知道目錄的名稱(它是動態創建的,所以下次會不同),但它永遠是這裡唯一的目錄。

$ for i in *;do tar zcvf ${i}.tgz $i; rm -fr $i;done

例子

$ for i in *;do tar zcvf ${i}.tgz $i; rm -fr $i;done
stresstest/
stresstest/file1
stresstest/file2
stresstest/file3

$ ll
total 4
-rw-r--r-- 1 root root 162 Jul  5 05:18 stresstest.tgz
(dir="stresstest"; tar zcvf ${dir}.tgz ${dir}; rm -rf $dir)

引用自:https://unix.stackexchange.com/questions/453560