【使用場景】
當我們需要將大文件/文件夾拷貝給其他人時(例如:安卓系統源碼),首先我們需要將文件進行壓縮,這樣拷貝速度纔會快,那麼問題來了,如果壓縮成單個文件,可能就無法用U盤作爲介質進行拷貝,因爲 U盤對於單個文件的大小有限制,所以這時候我們就會想,我們是不是可以先將單個大文件分成多個小文件,別人拿到所有的小文件後再合併成大文件不就可以了嗎?幸運的是,linux給我們提供了一些命令,使得這個想法成爲可能。
【壓縮】
假如我們有一個文件夾 test,文件夾裏面又有10個文件夾,如下圖:
執行如下命令壓縮:
tar -czf test.tar.gz test/
壓縮結果:
【分包】
將test.tar.gz文件分割成多個2M的文件,生成的文件前綴爲split.tar.gz, 可以用下面的命令
split -b 2m test.tar.gz split.tar.gz
完成後會產生下列文件:
壓縮&分包也可以用一個命令
tar -czf - test/ | split -b 2m - test.tar.gz
【合併】
拿到多個前綴爲split.tar.gz的文件後,執行如下命令進行文件合併:
cat split.tar.gza* > split.tar.gz
生成
【解壓】
tar -xzf split.tar.gz
生成
到此,liunx下文件的切分與合併就介紹完了,有看不懂的地方歡迎大家留言!!!