Directory
解壓tarball時創建目標目錄
是否可以創建一個目標目錄,類似於
mkdir -p
,我可以在我的 tar 命令中定義一個不存在的目標目錄,並且 tar 將為我創建目錄?我知道我可以使用 將輸出重定向到目錄
tar -C /target/dir
,但是如果目標目錄不存在,這將不起作用。
mkdir -p /target/dir && tar -C /target/dir
tar -xvf bash.html_node.tar.gz --one-top-level
從 tar 命令的手冊頁
**--one-top-level**[=*DIR*]
將所有文件提取到DIR中,或者,如果不使用參數,則提取到由存檔的基本名稱命名的子目錄中(減去可辨識的標準壓縮後綴
--auto-compress
)。
- 測試
測試 1
tar zxvf ../aaa.tgz --one-top-level aaa/ aaa/222 aaa/111 tree aaa aaa/ ├── 111 └── 222
// 如果 tgz 名稱與存檔的 root_dir 相同,則無其他影響
測試 2
mv ../aaa.tgz ../bbb.tgz tar zxvf ../bbb.tgz --one-top-level aaa/ aaa/222 aaa/111 tree bbb bbb └── aaa ├── 111 └── 222
// 如果 tgz 名稱與存檔的 root_dir 不同,則創建一個頂級目錄