15 分鐘之后,我要去朋友家聚會(huì)。我打算從我的臺(tái)式機(jī)上把一部 700MB 大小的美國(guó)大片拷貝出來(lái),帶到朋友家去看,可是我的兩個(gè)優(yōu)盤(pán)都只有 512MB,這讓我如何是好?
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),建陽(yáng)企業(yè)網(wǎng)站建設(shè),建陽(yáng)品牌網(wǎng)站建設(shè),網(wǎng)站定制,建陽(yáng)網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,建陽(yáng)網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
別急,用 10 分鐘趕快來(lái)認(rèn)識(shí)一下我們的 split 拆分小能手,一切問(wèn)題將迎刃而解。當(dāng)遇到大文件而苦不堪言的時(shí)候,split 就會(huì)像天使一樣解救我們于水火之中。
合久必分
閑言少敘,我們現(xiàn)在就來(lái)介紹拆分的方法。先使用 dd 命令來(lái)生成一個(gè) 700MB 文件來(lái)作為我們的拆分對(duì)象:
美國(guó)大片的文件大小是 700MB,而我手邊僅有的兩個(gè)優(yōu)盤(pán),都是 512MB 大小的。我打算把文件以 400MB 作為一個(gè)拆分單位,來(lái)進(jìn)行拆分。這里使用到了 split 的-b選項(xiàng),來(lái)指定每個(gè)拆分文件的大小:
看!分身完畢!咦,怎么多出了 xaa 和 xab 兩個(gè)文件,這么奇怪的名字?
是的,你沒(méi)看錯(cuò),在沒(méi)有明確指定拆分后文件的命名方式的情況下,split 會(huì)默認(rèn)采用 x 字符作為文件前綴,采用類(lèi)似 aa、ab、ac 的字符串依次作為文件后綴。于是,就出現(xiàn)了我們上面看到的 xaa、xab 了。
從文件大小來(lái)看,如我們所愿,電影文件的確被切割成了一個(gè) 400MB 的文件、一個(gè) 300MB 的文件,終于可以裝到兩個(gè)優(yōu)盤(pán)里了。
知其然,知其所以然
知道了拆分命令后,我們來(lái)一起學(xué)習(xí)一下 split 的命令格式和常用選項(xiàng)。
split 的作用很好描述,就是將文件按照一定規(guī)則進(jìn)行拆分。一般情況下,我們可以按照文件大小來(lái)進(jìn)行拆分,如果是文本文件的話,還可以按照行數(shù)來(lái)進(jìn)行拆分,默認(rèn)是 1000 行作為一個(gè)拆分單位。
默認(rèn)情況下,分割后的文件的名稱(chēng)會(huì)以 x 作為前綴,以 aa、ab、ac 這樣的雙字母格式作為后綴,形成 xaa、xab 這樣的名稱(chēng)格式。
我們來(lái)一起看看 split 的命令格式:
split [-b ][-C ][-][-l ][要切割的文件][輸出文件名前綴][-a ]
最常用的選項(xiàng),都在這里了:
-b字節(jié):指定按多少字節(jié)進(jìn)行拆分,也可以指定 K、M、G、T 等單位。
-行數(shù)或-l行數(shù):指定每多少行要拆分成一個(gè)文件。
輸出文件名前綴:設(shè)置拆分后的文件的名稱(chēng)前綴,split 會(huì)自動(dòng)在前綴后加上編號(hào),默認(rèn)從 aa 開(kāi)始。
-a后綴長(zhǎng)度:默認(rèn)的后綴長(zhǎng)度是 2,也就是按 aa、ab、ac 這樣的格式依次編號(hào)。
分久必合
完成了美國(guó)大片的拆分,我趕赴朋友家,打開(kāi)他的電腦,優(yōu)盤(pán)插上,使用 cat 命令將拆分文件 xaa 和 xab 合并成一個(gè)文件,可以看出合并后的文件和源文件的大小是一致的:
對(duì)了,如果是在 Windows 下的話,我們要先運(yùn)行 cmd,然后用 copy 命令來(lái)進(jìn)行文件的合并:
copy /b xaa + xab king_of_ring.avi
格式上和 Linux 有些區(qū)別,但原理是一樣的。
設(shè)置拆分文件的名稱(chēng)前綴
上面例子中,我們沒(méi)有指定拆分文件的名稱(chēng)前綴,結(jié)果拆分后的文件名都是 aa、ab 這樣的名稱(chēng),這樣的名稱(chēng)既不達(dá)意也不美觀。
下面的例子,我們嘗試以 king_of_ring_part_ 作為拆分后文件的名稱(chēng)前綴:
[root@roclinux ~]$ split -b 400m king_of_ring.avi king_of_ring_part_
文件名的可讀性是不是提高了不少,從文件名稱(chēng)就可以看出來(lái)是美國(guó)大片的拆分文件啦。
設(shè)置數(shù)字后綴
如果大家看不慣以 aa、ab 這種字母作為文件后綴,我們還可以通過(guò)-d選項(xiàng)來(lái)指定數(shù)字形式的文件后綴:
[root@roclinux ~]$ split -b 400m -d king_of_ring.avi king_of_ring_part_
對(duì)于中國(guó)人來(lái)說(shuō),數(shù)字形式的后綴,增加了文件名稱(chēng)的可讀性。
按照行數(shù)進(jìn)行拆分
前面我們講的是按照文件大?。ㄈ?400MB)進(jìn)行文件拆分的方法,但是并非所有情況都適合于用文件大小作為拆分單元。比如,我們希望把 /etc/passwd 文件按照一個(gè)文件 10 行記錄的方式進(jìn)行拆分,又該怎么操作呢?
[root@roclinux ~]$ split -d -10 /etc/passwd my_passwd_
合并后的校驗(yàn)不可少
需要注意的是,在通過(guò)網(wǎng)絡(luò)來(lái)傳輸大文件,或者在設(shè)備之間復(fù)制大文件的時(shí)候,可能會(huì)出現(xiàn)傳輸前后數(shù)據(jù)不一致的情況。
使用 split 來(lái)拆分大文件僅僅是故事的開(kāi)始,操作完畢后化零為整、完璧歸趙才是完美的結(jié)局。因此需要在合并文件后進(jìn)行文件的完整性校驗(yàn),推薦使用 md5sum 來(lái)計(jì)算和比對(duì)前后兩個(gè)大文件的 md5 值。
如果前后一致,那么恭喜你,文件合并成功!
好了,split 學(xué)完了,我們也可以和朋友一起欣賞驚險(xiǎn)刺激的美國(guó)大片了!
1)按2行切割 -l 2
2)指定切割后的文件前綴名 data_
3)指定切割后的文件后綴名為數(shù)字 -d
4)指定切割后的文件后綴名數(shù)字的長(zhǎng)度? ? -a 4,即位寬(10進(jìn)制),這里長(zhǎng)度可根據(jù)切割出來(lái)的文件有多少估算,到底拆分為幾個(gè)文件,由總行數(shù),和每個(gè)文件的行數(shù)決定,不用指定。
如果為-a 4文件的后綴數(shù)字從0000開(kāi)始計(jì)算,依次為0001,0002,0003,0004
split -l 2 data.log -d -a 4 data_
將文件data.log進(jìn)行拆分,每個(gè)文件2行,如果文件總共有7行,則分為data_0000,data_0001,data_0002,data_0003
1、Linux里切割大文件的命令如下:
split?[OPTION]?[INPUT?[PREFIX]]?
選項(xiàng)如下:
-a :?指定后綴長(zhǎng)度
-b?:?每個(gè)文件多少字節(jié)
-d?:?使用數(shù)字后綴而不是字母
-l?:?指定每個(gè)文件的行數(shù)
2、比如我想讓后綴長(zhǎng)度為 2,即 -a 2。用數(shù)字后綴 -d。每個(gè)文件 10M,即 -b 10m。命令可以設(shè)計(jì)如下:
split?-a?2?-d?-b?10m?/var/lib/mysql/general.log?nowamagic
會(huì)在 /root 文件夾下生成下面的切割文件:
nowamagic00?
nowamagic01?
nowamagic02?
nowamagic03?
nowamagic04?
nowamagic05?
nowamagic06?
nowamagic07?
nowamagic08?
nowamagic09
linux有rz和sz命令,可以讓我們?cè)趙indow和本地虛擬機(jī)之間傳輸文件,但是有個(gè)麻煩的事情就是不能傳輸大于4G的文件
如果是傳送到linux,可以使用FileZilla軟件,那么從linux下拉到windows怎么解決呢,那就是使用split將文件拆分成小于4G的文件
上面講解了拆分,下面講講合并tar包
linux基本操作-----文件的排序+分割+合并+歸檔等1
sort
1
sort命令將輸入文件看做由多條記錄組成的數(shù)據(jù)流,而記錄由可變寬度的字段組成,以換行符作為定界符
2
sort的命令的基本格式
sort
選項(xiàng)
文件
3
sort命令選項(xiàng)及其意義
選項(xiàng)
意義
-c
測(cè)試文件是否已經(jīng)被排序
-k
指定排序的域
-m
合并兩個(gè)已排序的文件
-n
根據(jù)數(shù)字大小進(jìn)行排序
-o
輸出文件
將輸出寫(xiě)到指定的文件,相當(dāng)于將輸出重定向到指定的文件
-r
將排序結(jié)果逆向顯示
-t
改變域分割符
-u
去除結(jié)果中的重復(fù)行2
uniq
1
uniq命令是用于去除文本的重復(fù)行,這類(lèi)似于sort命令的-u選項(xiàng)
2
uniq命令的基本用法
uniq
選項(xiàng)
文件
3
uniq命令選項(xiàng)及其意義
選項(xiàng)
意義
-c
打印每行在文本中重復(fù)出現(xiàn)的次數(shù)
-d
只顯示有重復(fù)的記錄,每個(gè)重復(fù)記錄只出現(xiàn)一次
-u
只顯示沒(méi)有重復(fù)的記錄3
cut
1
cut命令用于從標(biāo)準(zhǔn)輸入或文本文件中按域或行提取文本
2
cut命令的基本格式
cut
選項(xiàng)
文件
3
cut選項(xiàng)及其意義
選項(xiàng)
意義
-c
指定提取的字符數(shù)或字符范圍
-f
指定提取的域或域的范圍
-d
改變域分割符4
tar
1
tar命令是linux的歸檔命令,通俗的說(shuō)tar命令實(shí)現(xiàn)了linux系統(tǒng)文件的壓縮和解壓縮
2
tar命令基本格式
tar
選項(xiàng)
文件名或目錄名
3
tar命令選項(xiàng)及其意義
選項(xiàng)
意義
-c
創(chuàng)建新的包
-r
為包添加新的文件
-t
列出包內(nèi)容
-u
更新包中的文件,若包中沒(méi)有此文件,則將文件添加進(jìn)包中
-x
解壓縮文件
-v
詳細(xì)報(bào)告tar處理的信息
-f
使用壓縮文件或設(shè)備,該選項(xiàng)通常是必選的
-z
用gzip壓縮和解壓縮文件,如果是.gz結(jié)尾的tar包那么該選項(xiàng)是必須的
4
解壓非gzip格式的壓縮包
tar
-xvf
包名
解壓gzip格式的壓縮包
tar
-zxvf
包名
1、連接上相應(yīng)的linux主機(jī),進(jìn)入到等待輸入shell指令的linux命令行狀態(tài)下。
2、在linux命令行下輸入shell指令:split -l 3 test.txt test。
3、最后,按下回車(chē)鍵執(zhí)行shell指令,此時(shí)會(huì)看到test.txt被成功拆分為了3個(gè)文件。
當(dāng)前題目:linux文件拆分命令 Linux文件拆分
文章路徑:http://aaarwkj.com/article30/hhhiso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、關(guān)鍵詞優(yōu)化、網(wǎng)站排名、域名注冊(cè)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容