文件打包压缩与远程传输
在文件的傳輸以及文件的整理過程中我們經常會用到壓縮。雖然linux下文件名與文件的屬性沒有多大關系,但是為了輔助我們人腦的記憶方式,通常在壓縮文件時會以不同的擴展名來命名壓縮文件。常見的擴展名有:
*.Z #compress程序壓縮的文件 *.gz #gzip程序壓縮的文件 *.bz2 #bzip2程序壓縮的文件 *.zip #zip程序壓縮的文件 *.xz #xz程序壓縮的文件 *.tar #tar程序打包的數據,并沒有壓縮過 *.tar.gz #tar程序打包的文件,經過gzip的壓縮 *.tar.bz2 #tar程序打包的文件,經過bzip2的壓縮linux上最常見的壓縮命令就是gzip與bzip2了,不管是compress還是gzip或是bzip2這些壓縮命令都只能針對一個文件來壓縮與解壓縮,這樣一來每次壓縮與解壓縮都要一大堆文件,非常的不方便。
tar可以將很多文件打包成一個文件,甚至可以是目錄。單純的tar功能僅僅是”打包”,就是將文件集結成一個文件,事實上并沒有提供壓縮的功能。將tar和壓縮命令結合起來使用實現強大的打包壓縮功能。
這是一個非常老舊的命令現在已經很少用了,而且gzip也可以解開compress壓縮的文件。但是我們還是來學習一下這個命令的使用。
yum intsall ncompress -y 安裝這個命令
可以看到壓縮后文件明顯變小了,源文件會不見,新壓縮文件生成,而且擴展名是.Z,用uncompress再解壓就行了,-c這個參數會將壓縮過程寫入到標準輸出,而不是寫入成為.Z的壓縮文件。所以我們可以通過輸出重定向將數據輸出成為另一個文件名。
2.gzip與zcat
gzip可以解開compress,zip與gzip等軟件所壓縮的文件
gzip [-vdtv] 文件名 zcat 文件名.gz 參數: -c : 將壓縮的數據輸出到屏幕上,可通過數據流重定向來處理 -d :解壓縮的參數 -t :可以用來檢驗一個壓縮文件的一致性,看看文件有無錯誤 -v :可以顯示出原文件/壓縮文件的壓縮比等信息 -# :壓縮等級,-1最快,但是壓縮比差,-9最慢,壓縮比最好默認是-6
zcat 會將gzip壓縮的文件解壓之后的內容讀出來顯示到屏幕上,(cat可以讀取純文本文件,zcat可以讀取純文本被壓縮后的壓縮文件)
相比compress gzip提供了更好的壓縮比,而且gzip也能解壓compress壓縮的文件,從而取代了compress,使用gzip壓縮的文件還可以被windows下的WRAR解壓
3 . bzip2,bzcat
這個命令的壓縮比要比gzip更好,用法幾乎和gzip相同
bzcat可以將壓縮文件的內容讀出來,如果我們僅想讀取文件的內容,那我們大可不必解壓縮,直接用bzcat來查看文件的內容就可以了。
注意:不管是gzip還是bzip2解壓都不僅可以使用-d參數還可以使用
gunzip 和bunzip2來進行比如:
4.tar打包
如前所述,打包就是將很多文件整合成一個文件,雖然gzip與bzip2也能對目錄進行壓縮,但是,這兩個命令也只不過是對目錄下的所有文件分別進行壓縮,而不像在windows下我們可以用WinRAR,7zip等軟件將好多文件打包成一個文件。在linux下,我們用tar這個命令可以將多個目錄或文件打包成一個大文件,同時支持gzip/bzip2將該文件進行壓縮。由于這個命令使用廣泛,目前windows的WinRAR也支持tar.gz文件名的解壓縮。
tar [-j][-z][cvf] 指定生成的文件名 需要打包壓縮的文件名或目錄 參數:-f ##指定生成包的名字 -c ##創建包 -v ##顯示創建過程 -t ##查看包中內容 -x ##解包 -r ##添加文件到包中 --delete filename ##刪除包中指定文件 --get filename ##取出包中指定文件示例:
gzip gzip xxxx.tar ##壓縮=====>xxxx.gz gunzip xxxx.tar.gz ##解壓=====>xxxx.tar tar zcvf xxxx.tar.gz 目標文件 ##打包壓縮文件 tar zxvf xxxx.tar.gz ##解包解壓縮xxxx.tar.gz===>xxxxbz2 bzip2 xxxx.tar ##壓縮=====>xxxx.bz2 bunzip2 xxxx.tar.bz2 ##解壓=====>xxxx.tar tar jcvf xxxx.tar.bz2 目標文件 ##打包壓縮文件 tar jxvf xxxx.tar.bz2 ##解包解壓縮xxxx.tar.bz2===>xxxxxz xz xxxx.tar ##壓縮=====>xxxx.xz unxz xxxx.tar.xz ##解壓=====>xxxx.tar tar Jcvf xxxx.tar.xz 目標文件 ##打包壓縮文件 tar Jxvf xxxx.tar.xz ##解包解壓縮xxxx.tar.xz===>xxxxzip zip -r xxx.tar.zip ##壓縮=====> unzip xxx.tar.zip ##解壓=====>遠程文件傳輸
1.scp遠程復制,scp是基于ssh的登陸進行安全的遠程文件拷貝命令。
scp file user@ip:/directory ##上傳文件 scp -r dir user@ip:/directory ##上傳目錄 scp user@ip:/filename /direcotry ##下載文件 scp -r user@ip:/directory /direcotry ##下載目錄2.rsync
是一款實現遠程同步功能的軟件,它在同步文件的同時,可以保持原來文件的權限、時間、軟硬鏈接等附加信息。 rsync是用 “rsync 算法”提供了一個客戶機和遠程文件服務器的文件同步的快速方法,而且可以通過ssh方式來傳輸文件,這樣其保密性也非常好.
rsync file|direcotry user@ip:/directory rsync user@ip:/directory /directory-r ##同步目錄 -l ##不忽略鏈接 ##新建連接:ln -s 原文件 鏈接文件 -t ##不忽略時間戳 -p ##不忽略特殊權限 -g ##不忽略組id信息 -o ##不忽略用戶id信息 -D ##不忽略設備文件3.sftp 常用于文件推送
(安全文件傳輸協議)與ftp 有著幾乎一樣的語法和功能。但是與lftp不同的是它并不使用ftp的守護進程進行連接。sftp本身沒有單獨的守護進程,它必須使用sshd守護進程(端口號默認是22)來完成相應的連接操作。使用SFTP是非常安全的。但是,由于這種傳輸方式使用了加密/解密技術,所以傳輸效率比普通的FTP要低得多。
總結
以上是生活随笔為你收集整理的文件打包压缩与远程传输的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 与传统社区相比,快鲸智慧社区究竟好在哪里
- 下一篇: Paddle入门实战系列(二):基于Pa