新聞中心
在Linux系統(tǒng)中,打包文件是一種非常常見的操作。打包文件可以將多個文件或目錄打包成一個單獨的文件。這可以使文件的傳輸和備份變得更加方便。在Linux中,有很多種不同的打包工具可供選擇,例如tar、zip、gzip等工具。本文將介紹如何使用tar來打包文件并保留原文件。

成都創(chuàng)新互聯(lián)專注于企業(yè)成都全網營銷、網站重做改版、海寧網站定制設計、自適應品牌網站建設、成都h5網站建設、成都商城網站開發(fā)、集團公司官網建設、外貿營銷網站建設、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為海寧等各大城市提供網站開發(fā)制作服務。
1. 打包文件
我們需要使用tar命令來創(chuàng)建一個打包文件。tar命令可以將多個文件或目錄打包成一個.tar文件。在終端中輸入以下命令:
tar -cvf [打包文件名] [要打包的文件或目錄]
在這里,“-c”表示創(chuàng)建一個新的打包文件,“-v”表示在終端中輸出詳細信息,“-f”表示指定打包文件的文件名。例如,要將文件夾“myfolder”打包成一個名為“myfolder.tar”的文件,可以在終端中輸入以下命令:
tar -cvf myfolder.tar myfolder
2. 查看打包文件中的內容
要查看打包文件中包含的文件或目錄,可以使用以下命令:
tar -tvf [打包文件名]
在這里,“-t”表示列出打包文件中包含的文件或目錄的名稱。例如,要查看打包文件“myfolder.tar”中包含的文件或目錄,可以在終端中輸入以下命令:
tar -tvf myfolder.tar
3. 解包打包文件
要解包打包文件,可以使用以下命令:
tar -xvf [打包文件名]
在這里,“-x”表示從打包文件中提取文件或目錄。例如,要解包打包文件“myfolder.tar”,可以在終端中輸入以下命令:
tar -xvf myfolder.tar
4. 保留原文件
默認情況下,在創(chuàng)建打包文件時,tar命令將從文件系統(tǒng)中刪除要打包的文件或目錄。但是,如果您希望保留原文件,則可以使用“–remove-files”選項。例如,要將文件夾“myfolder”打包成一個名為“myfolder.tar”并保留原文件,可以在終端中輸入以下命令:
tar -cvf –remove-files myfolder.tar myfolder
在這里,“–remove-files”選項表示創(chuàng)建打包文件后從文件系統(tǒng)中刪除要打包的文件或目錄。請注意,使用這個選項需要謹慎,因為一旦文件被刪除,您將無法恢復它們。
在Linux系統(tǒng)中,使用tar命令打包文件是一種非常有用的工具。本文介紹了如何使用tar來打包文件并保留原文件。您還可以使用其他命令行選項來自定義打包文件的應用程序。嘗試使用這些命令行選項來滿足您的特殊需求,使打包文件變得更加靈活和強大。
相關問題拓展閱讀:
- linux下tar的打包使用
- Linux 解壓縮的命令怎么用?
linux下tar的打包使用
打包指令——tar
gzip 或 bzip2 帶有多個文件作為參數時,執(zhí)行的操作是將各個文件獨立壓縮,而不是將其放在一起進行壓縮。這樣就無法產生類似于Windows環(huán)境下的文件夾打包壓縮的效果。
(gzip與bzip2也可以使用文件夾作為參數,使用 -f 選項,但升嘩也是將其中的每個文件獨立壓縮)。為了實悶攜現(xiàn)打包壓縮的效果,可以使用命令 tar 進行文件的打包操作(archive),再進行壓縮。
tar 指令可以將文件打包成文件檔案(archive)存儲在磁盤/磁帶中,打包操作一般伴隨壓縮操作,也可以使用 tar 指令對打包壓縮后的文件解壓。
tar 常用命令參數如下:
解壓命令:
當用戶在某一目錄如/home/haha目錄下進行解壓操作時,tar會將解壓出來的文件路徑與當前目錄拼接,即為 /home/haha/etc/emacs,從而將文件解壓在當前目錄下。
(如果還有印象,目錄名也可以使用 -C 選項指定)但若是打包壓縮時不取出文件路徑的根目錄,則會按照存儲的絕對路徑如/etc/emacs解壓文件,可能將/etc文件下的相應文件覆蓋掉,當然在進行備份和恢復時該操作是有效的。tar提供 -P選項來保留文件路徑的根目錄。
擴展資料:
可以使用unzip命令對zip文件進行相關的操作。
(1)查看壓縮文件的所有文件名(注意 -Z 選項表示之后所有的參數被視為 zipinfo 的參數螞笑伏并輸出相應結果) -> unzip -Z1 file.zip
(2)測試文件的完整性 -> unzip -t file.zip
(3)將文件解壓至當前用戶的主目錄 -> unzip -q file.zip -d 。
參考資料:
百度百科LINUX
Linux 解壓縮的命令怎么用?
用法如下:
gzip,壓縮帶粗文件名:zip或gz,解壓命令:unzip
bzip2,壓縮文件名:bz,解壓命令;bzip2 -d
上面兩個是最常用的壓縮方式,一般在linux下可以通過tar命令實現(xiàn)打包和壓縮(或解壓)。例如:
tar -zcvf file file.tar.gz打包并壓縮成gzip格式,其中-c命令是創(chuàng)建tar包,-z參數是指定壓縮成gzip格式;
tar -zxvf file.tar.gz解蠢褲鎮(zhèn)包命令,其中-x是解包命令,-z指定解壓縮格式是gzip
tar -jcvf file file.tar.bz2 打包并壓縮成bzip2格式,其中-c是創(chuàng)建tar包,-j參數指定壓縮成bzip2格式;純滾
tar -jxvf file.tar.gz解包命令,其中-x是解包命令,-j指定解壓縮格式是bzip2
# tar
文件與目錄 ….
參數:
c :建立一個壓縮文件的參數指令(create 的意思);
x :解開一個壓縮文件的參數指令!
t :查看 tarfile 里面的文件!
特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在!
因為不可能同時壓縮與解壓縮。
z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?
j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?
v :壓縮的過程中顯示文件!這個常用,但不建議用在背景執(zhí)行過程!
f :使用檔名,請留意,在 f 之后要立即接檔名喔!不要再加參數!
例如使用『 tar -zcvfP tfile sfile』就是錯誤的寫法,要寫成
『 tar -zcvPf tfile sfile』才對喔!
p :使用原文件的原來屬性(屬性不會依據使用者而變)
P :可以使用絕對路徑來壓縮!
N :比后面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的文件中!
exclude FILE:在壓縮的過程中,不要將 FILE 打包!
范例:
范例一:將整個 /etc 目錄下的文件全部打包成為 /tmp/etc.tar
# tar -cvf
/tmp/etc.tar /etc tar -zcvf
/tmp/etc.tar.gz /etc
# tar -jcvf
/tmp/etc.tar.bz2 /etc
# 特別注意,在參數 f 之后的文件檔名是自己取姿清稿的,我們習慣上都用
.tar 來作為辨識。
# 如果加 z 參數,則以 .tar.gz 或 .tgz 來代表 gzip 壓縮過的 tar file ~
# 如果加 j 參數,則以 .tar.bz2 來作為跡孝附檔名啊~
# 上述指令在執(zhí)行的時候,會顯示一個警告訊息:
# 『tar: Removing leading `/’ from member names』那是關於絕對路徑的特殊設定。
范例二:查閱上述 /tmp/etc.tar.gz 文件內有哪些文件?
# tar -ztvf
/tmp/etc.tar.gz
# 由於我們正頃使用 gzip 壓縮,所以要查閱該 tar file
內的文件時,
# 就得要加上 z 這個參數了!這很重要的!
范例三:將 /tmp/etc.tar.gz 文件解壓縮在
/usr/local/src 底下
# cd /usr/local/src
# tar
zxvf /tmp/etc.tar.gz
# 在預設的情況下,我們可以將壓縮檔在任何地方解開的!以這個范例來說,
# 我先將工作目錄變換到 /usr/local/src 底下,并且解開 /tmp/etc.tar.gz
,
# 則解開的目錄會在 /usr/local/src/etc 呢!另外,如果您進入 /usr/local/src/etc
# 則會發(fā)現(xiàn),該目錄下的文件屬性與 /etc/ 可能會有所不同喔!
范例四:在 /tmp 底下,我只想要將 /tmp/etc.tar.gz
內的 etc/passwd 解開而已
# cd /tmp
# tar
zxvf /tmp/etc.tar.gz etc/passwd
# 我可以透過 tar -ztvf 來查閱 tarfile
內的文件名稱,如果單只要一個文件,
# 就可以透過這個方式來下達!注意到! etc.tar.gz 內的根目錄 / 是被拿掉了!
范例五:將 /etc/ 內的所有文件備份下來,并且保存其權限!
# tar -zxvpf
/tmp/etc.tar.gz /etc
# 這個 -p 的屬性是很重要的,尤其是當您要保留原本文件的屬性時!
范例六:在 /home 當中,比 2023/06/01 新的文件才備份
# tar -N
’2023/06/01’ -zcvf home.tar.gz /home
范例七:我要備份 /home, /etc ,但不要 /home/dmtsai
# tar –exclude
/home/dmtsai -zcvf myfile.tar.gz /home/* /etc
范例八:將 /etc/ 打包后直接解開在 /tmp 底下,而不產生文件!
# cd /tmp
# tar
cvf – /etc | tar -xvf –
# 這個動作有點像是 cp -r /etc /tmp 啦~依舊是有其有用途的!
# 要注意的地方在於輸出檔變成 – 而輸入檔也變成 – ,又有一個 | 存在~
# 這分別代表 standard output, standard input 與管線命令啦!
# 這部分我們會在 Bash shell 時,再次提到這個指令跟大家再解釋?!
gzip, zcat 命令
~># gzip 檔名
# zcat 檔名.gz
參數:
c :將壓縮的資料輸出到螢幕上,可透過資料流重導向來處理;
d :解壓縮的參數;
t :可以用來檢驗一個壓縮檔的一致性~看看文件有無錯誤;
# :壓縮等級,-1 最快,但是壓縮比最差、-Array 最慢,但是壓縮比更好!預設是 -6 ~
范例:
范例一:將 /etc/man.config ?制到 /tmp
,并且以 gzip 壓縮
# cd /tmp
# cp /etc/man.config
.
# gzip man.config
# 此時 man.config 會變成 man.config.gz
!
范例二:將范例一的文件內容讀出來!
# zcat man.config.gz
# 此時螢幕上會顯示 man.config.gz 解壓縮之后的文件內容??!
范例三:將范例一的文件解壓縮
# gzip -d man.config.gz
范例四:將范例三解開的 man.config 用更佳的壓縮比壓縮,并保留原本的文件
# gzip -Array -c
man.config > man.config.gz
bzip2, bzcat 命令
# bzip2
檔名
# bzcat 檔名.bz2
參數:
c :將壓縮的過程產生的資料輸出到螢幕上!
d :解壓縮的參數
z :壓縮的參數
# :與 gzip 同樣的,都是在計算壓縮比的參數, -Array 更佳, -1 最快!
范例:
范例一:將剛剛的 /tmp/man.config 以 bzip2
壓縮
# bzip2 -z man.config
# 此時 man.config 會變成 man.config.bz2
!
范例二:將范例一的文件內容讀出來!
# bzcat man.config.bz2
# 此時螢幕上會顯示 man.config.bz2 解壓縮之后的文件內容!!
范例三:將范例一的文件解壓縮
# bzip2 -d man.config.bz2
范例四:將范例三解開的
man.config 用更佳的壓縮比壓縮,并保留原本的文件
# bzip2 -Array -c
man.config > man.config.bz2
compress 命令
# compress
文件或目錄
參數:
d :用來解壓縮的參數
r :可以連同目錄下的文件也同時給予壓縮呢!
c :將壓縮資料輸出成為 standard output (輸出到螢幕)
范例:
范例一:將 /etc/man.config ?制到 /tmp ,并加以壓縮
# cd /tmp
# cp /etc/man.config
.
# compress man.config
# ls -l
rw-r–r– 1 root root 2605 Jul 27 11:43 man.config.Z
范例二:將剛剛的壓縮檔解開
# compress -d
man.config.Z
范例三:將 man.config 壓縮成另外一個文件來備份
# compress -c
man.config > man.config.back.Z
# ll man.config*
rw-r–r– 1 root root 4506 Jul 27 11:43 man.config
rw-r–r– 1 root root 2605 Jul 27 11:46 man.config.back.Z
# 這個 -c 的參數比較有趣!他會將壓縮過程的資料輸出到螢幕上,而不是寫入成為
# file.Z 文件。所以,我們可以透過資料流重導向的方法將資料輸出成為另一個檔名。
# 關於資料流重導向,我們會在 bash shell 當中詳細談論的啦!
dd 命令
~># dd if=”input_file”
of=”outptu_file” bs=”block_size”
\
count=”number”
參數:
if :就是 input file ?~也可以是裝置喔!
of :就是 output file 喔~也可以是裝置;
bs :規(guī)劃的一個 block 的大小,如果沒有設定時,預設是 512 bytes
count:多少個 bs 的意思。
范例:
范例一:將 /etc/passwd 備份到 /tmp/passwd.back
當中
# dd if=/etc/passwd
of=/tmp/passwd.back
3+1 records in
3+1 records out
# ll /etc/passwd
/tmp/passwd.back
-rw-r–r– 1 root root 1746 Aug 25 14:16 /etc/passwd
-rw-r–r– 1 root root 1746 Aug 2Array 16:57 /tmp/passwd.back
# 仔細的看一下,我的 /etc/passwd 文件大小為
1746 bytes,因為我沒有設定 bs ,
# 所以預設是 512 bytes 為一個單位,因此,上面那個 3+1 表示有 3 個完整的
# 512 bytes,以及未滿 512 bytes 的另一個 block 的意思啦!
# 事實上,感覺好像是 cp 這個指令啦~
范例二:備份 /dev/hda 的 MBR
# dd if=/dev/hda
of=/tmp/mbr.back bs=512 count=1
1+0 records in
1+0 records out
# 這就得好好?解一下?~我們知道整顆硬盤的 MBR 為
512 bytes,
# 就是放在硬盤的之一個 sector 啦,因此,我可以利用這個方式來將
# MBR 內的所有資料都紀錄下來,真的很厲害吧! ^_^
范例三:將整個 /dev/hda1 partition
備份下來。
# dd if=/dev/hda1
of=/some/path/filenaem
# 這個指令很厲害??!將整個 partition 的內容全部備份下來~
# 后面接的 of 必須要不是在 /dev/hda1 的目錄內啊~否則,怎么讀也讀不完~
# 這個動作是很有效用的,如果改天你必須要完整的將整個 partition 的內容填回去,
# 則可以利用 dd if=/some/file of=/dev/hda1 來將資料寫入到硬盤當中。
# 如果想要整個硬盤備份的話,就類似 Norton 的 ghost 軟體一般,
# 由 disk 到 disk ,嘿嘿~利用 dd 就可以啦~厲害厲害!
cpio 命令
~># cpio -covB >
# cpio -icduv
參數:
o :將資料 copy 輸出到文件或裝置上
i :將資料自文件或裝置 copy 出來系統(tǒng)當中
t :查看 cpio 建立的文件或裝置的內容
c :一種較新的 portable format 方式儲存
v :讓儲存的過程中文件名稱可以在螢幕上顯示
B :讓預設的 Blocks 可以增加至 5120 bytes ,預設是 512 bytes !
這樣的好處是可以讓大文件的儲存速度加快(請參考 i-nodes 的觀念)
d :自動建立目錄!由於 cpio 的內容可能不是在同一個目錄內,
如此的話在反備份的過程會有問題! 這個時候加上 -d 的話,
就可以自動的將需要的目錄建立起來了!
u :自動的將較新的文件覆蓋較舊的文件!
范例:
范例一:將所有系統(tǒng)上的資料通通寫入磁帶機內!
# find / -print |
cpio -covB > /dev/st0
# 一般來說,使用 SCSI 介面的磁帶機,代號是 /dev/st0
喔!
范例二:檢查磁帶機上面有什么文件?
# cpio -icdvt
# cpio -icdvt /tmp/content
# 之一個動作當中,會將磁帶機內的檔名列出到螢幕上面,而我們可以透過第二個動作,
# 將所有的檔名通通紀錄到 /tmp/content 文件去!
范例三:將磁帶上的資料還原回來~
# cpio -icduv
# 一般來說,使用 SCSI 介面的磁帶機,代號是 /dev/st0
喔!
范例四:將 /etc 底下的所有『文件』都備份到 /root/etc.cpio
中!
# find /etc -type
f | cpio -o > /root/etc.cpio
# 這樣就能夠備份?~您也可以將資料以 cpio -i
如燃慶鬧果是gzip壓縮文件:
tar zxvf x.tar.gz
如果是bzip2壓縮的
tar jxvf x.tar.bz2
有時擴展名命名不規(guī)范,需要用file確定目皮罩標文件的屬性,比如x.abcde
$ file x.abcde
x.abcde: gzip compressed data, from Unix, last modified: Thu Jun 26 02:24:
這個輸出結果就可以看到這個文件是gzip壓縮的,就用tar zxvf了差型
linux里面的壓縮文件,一般是遲明扒tar.gz 或者是zip文碼昌件;rar文件槐磨時沒法解壓縮的。
1、tar.gz 文件:tar zxvf 文件.tar.gz文件會直接加壓到當前目錄
2、zip文件: unzip 文件.tar.gz文件會直接加壓到當前目錄
tar -zvxf xxxxx.tar.gz
tar -jvxf xxxxx.tar.bz2
unrar -x xxxxxx.rar
關于linux打包保留原文件的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網、IDC服務、應用軟件開發(fā)、網站建設推廣的公司,為客戶提供互聯(lián)網基礎服務!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務器和獨立服務器。創(chuàng)新互聯(lián)成都老牌IDC服務商,專注四川成都IDC機房服務器托管/機柜租用。為您精選優(yōu)質idc數據中心機房租用、服務器托管、機柜租賃、大帶寬租用,可選線路電信、移動、聯(lián)通等。
分享名稱:如何使用Linux打包并保留原文件?(linux打包保留原文件)
轉載來源:http://fisionsoft.com.cn/article/dpscipi.html


咨詢
建站咨詢
