簡體   English   中英

tar僅目錄中的文件

[英]tar only the file in the directory

如何僅壓縮目錄中存在的文件。 我曾嘗試將tar -cvf /tmp/test.tar /tmp/mylog.doc放在首頁目錄中,但是當我將其解壓縮時,其內容也包括tmp目錄。 我只需mylog.doc文件存在於tar文件中即可。 我看到了類似的查詢, 僅對目錄的文件進行批處理 但無法從中獲得很多幫助。

使用-C命令行參數指示您要使用的目錄。然后,您可以使用相對於此目錄包含的文件名。

tar -cvf /tmp/test.tar -C /tmp mylog.doc

請注意,這不適用於tar文件本身。

cd sourcedir ; tar cvf archive.tar ./file_to_tar

因為使用“ / path / to / file”或“ ./path/to/file”:會在生成的tar文件中添加“ path / to /”(除非特定的(也可能是非便攜式的)選項告訴tar)

注意:某些不太舊的生產系統在提取時仍然不能擺脫開頭的“ /”。

在那些“不太老”的系統上:

tar cvf /tmp/hosts-backup.tar /etc/hosts
cd /secure/location
tar xvf /tmp/hosts-backup.tar

覆蓋文件/ etc / hosts,而不是在/ secure / location下輸出“ ./etc/hosts”文件! (就像現在大多數“最近”的tar一樣:他們現在都默默地忽略了結尾的“ /”,使路徑相對而不是絕對,這是99.9%的人想要的)

我最近為此感到煩惱:想提取一個日志,該日志最終覆蓋了原始位置(因此覆蓋了那里較新的日志文件)。 首次在系統上使用tar之前,請務必進行檢查。 (有一些解決方法,但不太簡單:chroot和其他命令,例如“ sar”)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM