日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux下tar包追加与其他压缩追加方式

發布時間:2025/3/21 linux 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux下tar包追加与其他压缩追加方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前提:公司日志文件每天產生幾十G又不能刪,而且要保存半年;那就只能壓縮,但文件是每天一加的,那就只能在壓縮文件中添加/更新文件?

目錄

1.tar包解決的問題

2.Linux zip命令 語法

zip命令 示例

3.指定添加刪除釋放


1.tar包解決的問題

Linux系統下tar命令參數詳解:

-c :建立一個壓縮文件的參數指令(create 的意思);

-x :解開一個壓縮文件的參數指令;

-t :查看 tarfile 里面的文件;

-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮;

-j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮;

-v :壓縮的過程中顯示文件!這個常用,但不建議用在背景執行過程;

-f :使用檔名,請留意,在 f 之后要立即接檔名,不要再加參數;

-p :使用原文件的原來屬性(屬性不會依據使用者而變);

-N :比后面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的文件中;

--exclude FILE:在壓縮的過程中,不要將 FILE 打包。

Linux系統下操作tar壓縮包,需要用tar命令,追加參數用“-r"選項,取出參數用“-x”選項,案例如下:

如果有一個包 a.tar.gz?,需要把b.txt追加進去,就用命令:

tar -rvf a.tar.gz b.txt

從tar包zhidao.tar.bz2中取出file2.txt則用:

tar??-xvf??a.tar.gz?b.txt#tar?-xvf a.tar.gz?,后面不跟文件名,就會解壓整個zhidao.tar.bz2包。

?注:該追加參數必須是 “ -cvf ” ,才能用-rvf參數才生效;

否則報錯如下:

~]# tar -rcf a.tar.gz b.txt tar: You may not specify more than one `-Acdtrux' or `--test-label' option Try `tar --help' or `tar --usage' for more information.~]# tar -rzcf a.tar.gz b.txt tar: You may not specify more than one `-Acdtrux' or `--test-label' option Try `tar --help' or `tar --usage' for more information.~]# tar -zrcf a.tar.gz b.txt tar: You may not specify more than one `-Acdtrux' or `--test-label' option Try `tar --help' or `tar --usage' for more information.# 如果用這種方法相當與覆蓋壓縮了 ~]# tar -zcvf a.tar.gz b.txt b.txt

注:該方法不能達到要求,我發現他只是歸檔,而不壓縮,如果使用如下類似的方法,則意義不大;

gunzip archive.tar.gz #解壓 tar rf archive.tar data/data/com.myapp.backup/./files/settings.txt #歸檔 gzip archive.tar #再壓縮

既然tar不行,那就用其他壓縮命令

壓縮命令大全:Linux tar命令|極客筆記https://deepinout.com/linux-cmd/linux-archiving-and-compression-related-cmd/

2.Linux zip命令 語法

zip [選項] [壓縮文件]# 使用unzip命令可以解壓縮zip文件。

命令中各選項的含義如下表所示。?

?

  • -A 調整可執行的自動解壓縮文件。
  • -b<工作目錄> 指定暫時存放文件的目錄。
  • -c 替每個被壓縮的文件加上注釋。
  • -d 從壓縮文件內刪除指定的文件。
  • -D 壓縮文件內不建立目錄名稱。
  • -f 更新現有的文件。
  • -F 嘗試修復已損壞的壓縮文件。
  • -g 將文件壓縮后附加在既有的壓縮文件之后,而非另行建立新的壓縮文件。
  • -h 在線幫助。
  • -i<范本樣式> 只壓縮符合條件的文件。
  • -j 只保存文件名稱及其內容,而不存放任何目錄名稱。
  • -J 刪除壓縮文件前面不必要的數據。
  • -k 使用MS-DOS兼容格式的文件名稱。
  • -l 壓縮文件時,把LF字符置換成LF+CR字符。
  • -ll 壓縮文件時,把LF+CR字符置換成LF字符。
  • -L 顯示版權信息。
  • -m 將文件壓縮并加入壓縮文件后,刪除原始文件,即把文件移到壓縮文件中。
  • -n<字尾字符串> 不壓縮具有特定字尾字符串的文件。
  • -o 以壓縮文件內擁有最新更改時間的文件為準,將壓縮文件的更改時間設成和該文件相同。
  • -q 不顯示指令執行過程。
  • -r 遞歸處理,將指定目錄下的所有文件和子目錄一并處理。
  • -S 包含系統和隱藏文件。
  • -t<日期時間> 把壓縮文件的日期設成指定的日期。
  • -T 檢查備份文件內的每個文件是否正確無誤。
  • -u 與 -f 參數類似,但是除了更新現有的文件外,也會將壓縮文件中的其他文件解壓縮到目錄中。
  • -v 顯示指令執行過程或顯示版本信息。
  • -V 保存VMS操作系統的文件屬性。
  • -w 在文件名稱里假如版本編號,本參數僅在VMS操作系統下有效。
  • -x<范本樣式> 壓縮時排除符合條件的文件。
  • -X 不保存額外的文件屬性。
  • -y 直接保存符號連接,而非該連接所指向的文件,本參數僅在UNIX之類的系統下有效。
  • -z 替壓縮文件加上注釋。
  • -$ 保存第一個被壓縮文件所在磁盤的卷冊名稱。
  • -<壓縮效率> 壓縮效率是一個介于1-9的數值。

zip命令 示例

將/root/a.txt文件壓縮成/root/a.zip文件

~]# zip /root/a.zip /root/a.txt adding: /root/a (stored 0%)

將/root/a文件壓縮成/root/a.zip文件,并指定加密密碼

~]# zip -e /root/a.zip /root/a.txt Enter password: //在這里輸入壓縮加密密碼 Verify password: //再一次輸入壓縮加密密碼adding: root/a (stored 0%)

測試壓縮文件/root/a.zip的完整性

~]# zip -T /root/a.zip test of /root/a.zip OK

將/root/a.txt文件壓縮成/root/a.zip文件,并且添加一行注釋

~]# zip -c /root/a.zip /root/a.txtadding: root/a (stored 0%) Enter comment for root/a: zip file //在這里添加注釋信息

更新/root/a.zip壓縮文件,添加/root/b.txt文件

[root@rhel ~]# zip -u /root/a.zip /root/b adding: root/b (stored 0%)

壓縮/root/a文件,生成的壓縮文件設置成和/root/a文件一樣的時間

[root@rhel ~]# zip -o /root/a.zip /root/a.txt adding: root/a (stored 0%)

將/home目錄壓縮成/root/home.zip文件

~]# zip -r /root/home.zip /home

壓縮/boot目錄,但是排除/boot/grub/grub.conf文件

~]# zip -r /root/boot.zip /boot -x /boot/grub/grub.conf adding: boot/ (stored 0%) adding: boot/config-2.6.32-358.el6.x86_64 (deflated 75%) adding: boot/vmlinuz-2.6.32-358.el6.x86_64 (deflated 1%) adding: boot/lost+found/ (stored 0%) adding: boot/.vmlinuz-2.6.32-358.el6.x86_64.hmac (deflated 22%) adding: boot/System.map-2.6.32-358.el6.x86_64 (deflated 79%) adding: boot/efi/ (stored 0%) adding: boot/efi/EFI/ (stored 0%) adding: boot/efi/EFI/redhat/ (stored 0%) adding: boot/efi/EFI/redhat/grub.efi (deflated 60%) adding: boot/initramfs-2.6.32-358.el6.x86_64.img (deflated 1%) adding: boot/symvers-2.6.32-358.el6.x86_64.gz (deflated 0%) adding: boot/grub/ (stored 0%) adding: boot/grub/splash.xpm.gz (deflated 88%) adding: boot/grub/fat_stage1_5 (deflated 38%) adding: boot/grub/ffs_stage1_5 (deflated 39%) adding: boot/grub/stage1 (deflated 17%) adding: boot/grub/iso9660_stage1_5 (deflated 38%) adding: boot/grub/e2fs_stage1_5 (deflated 40%) adding: boot/grub/jfs_stage1_5 (deflated 40%) adding: boot/grub/device.map (deflated 5%) adding: boot/grub/stage2 (deflated 45%) adding: boot/grub/ufs2_stage1_5 (deflated 39%) adding: boot/grub/vstafs_stage1_5 (deflated 39%) adding: boot/grub/reiserfs_stage1_5 (deflated 40%) adding: boot/grub/minix_stage1_5 (deflated 40%) adding: boot/grub/menu.lst (deflated 36%) adding: boot/grub/xfs_stage1_5 (deflated 39%) 查看壓縮包但不解壓 ~]# unzip -v a.zip Archive: a.zipLength Method Size Cmpr Date Time CRC-32 Name -------- ------ ------- ---- ---------- ----- -------- ---- 151005959 Defl:N 14387536 91% 12-02-2021 17:10 000983ad a.txt 127489195 Defl:N 11942580 91% 12-02-2021 17:13 5bb5d63f b.txt -------- ------- --- ------- 278495154 26330116 91% 2 files

測試文件內的文件是否正常

~]# unzip -t a.zip Archive: a.ziptesting: a.txt OKtesting: b.txt OK No errors detected in compressed data of a.zip.

在壓縮文件中刪除指定文件

~]# zip a.zip -d b.txt deleting: b.txt~]# unzip -v a.zip Archive: a.zipLength Method Size Cmpr Date Time CRC-32 Name -------- ------ ------- ---- ---------- ----- -------- ---- 151005959 Defl:N 14387536 91% 12-02-2021 17:10 000983ad a.txt -------- ------- --- ------- 151005959 14387536 91% 1 file

指定解壓路經

~]$ unzip -d /root a.zip Archive: a.zipinflating: /root/a.txt ~]# ls a.txt

3.指定添加刪除釋放

最后關鍵就是我們此次的需求

#指追添加 ~]# zip -g a.zip b.txt adding: b.txt (deflated 91%)~]# unzip -v a.zip Archive: a.zipLength Method Size Cmpr Date Time CRC-32 Name -------- ------ ------- ---- ---------- ----- -------- ---- 151005959 Defl:N 14387536 91% 12-02-2021 17:10 000983ad a.txt 127489195 Defl:N 11942580 91% 12-02-2021 17:13 5bb5d63f b.txt -------- ------- --- ------- 278495154 26330116 91% #指定刪除 ~]# zip a.zip -d b.txt deleting: b.txt~]# unzip -v a.zip Archive: a.zipLength Method Size Cmpr Date Time CRC-32 Name -------- ------ ------- ---- ---------- ----- -------- ---- 151005959 Defl:N 14387536 91% 12-02-2021 17:10 000983ad a.txt -------- ------- --- ------- 151005959 14387536 91% 1 file#指定解壓 ~]# unzip -d /root a.zip b.txt Archive: a.zipinflating: /root/b.txt ~]# ls /root b.txt

總結

以上是生活随笔為你收集整理的linux下tar包追加与其他压缩追加方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。