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

歡迎訪問 生活随笔!

生活随笔

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

linux

有类似split的命令吗_5分钟学linux命令之split

發布時間:2023/12/13 linux 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 有类似split的命令吗_5分钟学linux命令之split 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

情景介紹

平時工作中,我習慣使用rz從本地上傳文件到服務器,sz從服務器下載文件到本地,但對傳輸文件大小有限制,例如排查線上jvm的問題,需要生成了dump文件,可能有10G大,超過了限制,怎么下載呢?

拆分文件命令之split

語法

split [-<行數>][-l<行數>][-b<字節>][-C<字節>][要切割的文件][輸出文件名的前綴][-a<后綴長度>]-<行數>或-l<行數>:指定每多少行切成一個小文件
-b<字節>:指定每多少字節切成一個小文件,這里也可以指定K、M、G等單位
-C<字節>:與-b<字節>類似,但在切割時會盡量維持每行的完整性
輸出文件名的前綴:設置拆分后文件的名稱前綴,split會自動在前綴后面加上編號,默認從aa開始
-a<后綴長度>:默認后綴長度是2,即按 aa,ab,ac的順序排序

split命令和cat命令可以完成上面的難題,排查線上問題的現場已經沒有了,所以為了演示,用dd命令(對dd命令不了解的也可以學下,因為這次重點介紹split,所以dd暫且不介紹)創建一個400MB的文件,文件名是adsearch.hprof,這里假設400MB的大小就超過了服務器的下載限制

dd if=/dev/zero bs=1024 count=409600 of=adsearch.hprof

如圖所示,創建了一個400MB的文件

那我把adsearch.hprof文件按100MB大小拆分,可以拆分成4個文件

split -b 100M adsearch.hprof

可以看到在執行完split命令后,目錄下生成了四個相同大小 xaa、xab、xac、xad四個100MB的小文件。因為我們沒有指定前綴,就采用了默認的前綴x,后面跟著aa、ab、ac、ad。我們也可以指定前綴,比如我把剛剛生成的四個小文件刪掉,用下面的命令重新切分下

split -b 100M adsearch.hprof adsearch-

合并文件之cat

把大文件切分后,我們就可以把小文件下載到本地,然后把他們再拼接起來

// 用通配符的形式,要保證該目錄下沒有其他以adsearch-a為前綴的文件 cat adsearch-a* > adsearch.hprof // 或者指定文件進行拼接 cat adsearch-aa adsearch-ab adsearch-ac adsearch-ad > adsearch.hprof

備注

上面的操作我是在win本上的gitbash操作的,有cat命令

那如果沒有安裝gitbash只有cmd呢?

可以使用copy /b 命令來拼接,其中 /b 代表指定以二進制格式進行復制

copy /b adsearch-aa + adsearch-ab + adsearch-ac + adsearch-ad adsearch.hprof

校驗

經過拆分-合并后,兩個文件一樣嗎?這是我們主要關心的問題,我們對文件做一個md5,看結果是否相等,就可以判斷文件是否一樣了

原始文件的md5

合并后文件的md5(gitbash)

合并后文件的md5(cmd)

經過對前后文件的md5值比價,結果一致,說明我們的操作沒有問題

小結

當我們下載或上傳相對較大的文件時,可以使用split把大文件拆分成小文件,然后用cat命令把這些小文件重新拼接成大文件

總結

以上是生活随笔為你收集整理的有类似split的命令吗_5分钟学linux命令之split的全部內容,希望文章能夠幫你解決所遇到的問題。

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