tar命令的一些問題記錄筆記

**

問題一:tar: Removing leading `/’ from member names

**

這是tar命令不建議使用絕對路徑,用相對路徑。
若一定要使用絕對路徑的話加大寫P參數。

之所以不建議絕對路徑是因爲還有一個問題,如果打包含有絕對路徑,加壓的時候回創建絕對路徑裏面的那些多層目錄。例如:
我的打包命令是這樣的,裏面包含了絕對路徑:

tar --warning=no-file-changed -czPf /mnt/oradata/datagroup/edudatalog/h5eduaction/history_file/h5eduaction_`date +%Y%m%d`.tar.gz /mnt/oradata/datagroup/edudatalog/h5eduaction/history_file/*

看看解壓縮後的情況,可以看到創建了絕對路徑的目錄。
在這裏插入圖片描述
這個問題的解決辦法是:
一、使用-C這個參數,臨時切換目錄去壓縮文件,這樣解壓出來的就沒有問題。
二、在shell腳本中,先切換到當前目錄下,再去壓縮。
··········································································
問題二、tar出現錯誤 file changed as we read it

這個屬於warning的控制輸出信息,經常接觸Makefile的人可能會注意到warning級別和error級別的信息輸出。
解決方法,在命令中加入下面這個參數:

--warning=no-file-changed
完整命令示例:tar --warning=no-file-changed -czPf XXX xxx

tar命令的一些用法:
1、壓縮

打包:tar cvf FileName.tar DirName
解包:tar xvf FileName.tar
PS:這只是打包而已,並沒有壓縮,大小不會發生變化

gz格式的壓縮
壓縮:tar zcvf FileName.tar.gz file
解壓:tar zxvf FileName.tar.gz
指定目錄加-C,不指定則是在當前目錄
例如解壓到AA文件夾下:tar zxvf FileName.tar.gz -C AA/

bz2格式
壓縮:tar jcvf FileName.tar.bz2 file
解壓:tar jxvf FileName.tar.bz2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章