linux之truncate命令、split命令用法及說明
功能描述
truncate命令:
- Linux truncate命令通常用于將每個(gè)文件的大小縮小或擴(kuò)展到指定的大小。文件的最終大小取決于初始大小。
- 如果文件(例如存檔文件或日志文件)大于指定的大小,則會(huì)丟失額外的數(shù)據(jù),但如果文件較短,則會(huì)對(duì)其進(jìn)行擴(kuò)展,擴(kuò)展部分為零字節(jié)。
split命令:
- split命令是Linux系統(tǒng)中的一個(gè)用于拆分文件的命令。
- 它可以將一個(gè)大文件拆分成多個(gè)小文件,以便于傳輸、存儲(chǔ)或處理。
truncate命令
大多數(shù)Linux發(fā)行版附帶truncate命令。如果您的系統(tǒng)沒有truncate命令,
對(duì)于CentOS 7:
# yum provides truncate coreutils-8.22-18.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts Repo : base Matched from: Filename : /usr/bin/truncate
如果未安裝,請(qǐng)使用:
# yum-y install coreutils
truncate命令選項(xiàng)
用法:truncate 選項(xiàng)... 文件...
? -c, --no-create?? ?不創(chuàng)建文件 ? -o, --io-blocks?? ?將SIZE 視為IO 塊數(shù)而不使用字節(jié)數(shù) ? -r, --reference=RFILE ?base size on RFILE ? -s, --size=SIZE ? ? ? ?set or adjust the file size by SIZE bytes ? ? ? --help?? ??? ?顯示此幫助信息并退出 ? ? ? --version?? ??? ?顯示版本信息并退出
使用truncate時(shí),SIZE參數(shù)必須是整數(shù)和可選單位(例如:10K是10*1024)。使用的單位是K、M、G、T、P、E、Z、Y(1024的冪)或KB、MB、…(1000的冪)。
SIZE參數(shù)的前綴也可以是以下修改字符之一:“+”擴(kuò)展“,-”減少“,”<”最多“,>”至少“/”向下舍入到“%”的倍數(shù),“%”向上舍入到“%”的倍數(shù)。
truncate用法示例
1.這非常有用,例如用于清除日志文件。
這比手動(dòng)刪除文件并創(chuàng)建新文件要好。
截?cái)噙^程基本上刪除了文件的所有內(nèi)容。它不會(huì)刪除文件本身,但會(huì)將其作為零字節(jié)文件留在磁盤上。
# truncate -s 0 file
2.特定大小
# truncate -s 100k file
3.假設(shè)您有一個(gè)500K文件,并希望將其縮小到250K。您將使用-s選項(xiàng)并指定-in大小
truncate -s -250K file.txt
split命令
split命令選項(xiàng)
用法:split [選項(xiàng)]... [輸入 [前綴]]
-a, --suffix-length=N : 指定輸出文件名的后綴長(zhǎng)度(默認(rèn)為2個(gè):aa,ab...) -d, --numeric-suffixes[=FROM] : 指定輸出文件名的后綴用數(shù)字代替 -l, --lines=NUMBER: 行數(shù)分割模式(指定每多少行切成一個(gè)小文件;默認(rèn)行數(shù)是1000行) -b,--bytes=SIZE : 二進(jìn)制分割模式(支持單位:k/m)? -C, --line-bytes=SIZE: 文件大小分割模式(切割時(shí)盡量維持每行的完整性) ? -e, --elide-empty-files:不產(chǎn)生空的輸出文件?? ? ? ? --filter=COMMAND:寫入到shell命令行? ?? ? -n, --number=CHUNKS:產(chǎn)生chunks文件 ? -u, --unbuffered ? ?無需緩存 ? ? ? ?--verbose?? ??? ?在每個(gè)輸出文件打開前輸出文件特征 ? ? ? ?--help? ? ? ? ? ? ? 顯示此幫助信息并退出 ? ? ? ?--version? ? ? ? ?顯示版本信息并退出
CHUNKS可能是:
- 根據(jù)輸入大小將N個(gè)文件拆分為N個(gè)文件
- K/N輸出第Kth個(gè)N到stdout
- l/N拆分為N個(gè)文件而不拆分行
- l/K/N將N的Kth輸出到stdout而不拆分行
- r/N類似于“l”,但使用循環(huán)分布
- r/K/N類似,但僅將N的Kth輸出到stdout
- split [-a] [-d] [-l <行數(shù)>] [-b <字節(jié)>] [-C <字節(jié)>] [要切割的文件] [輸出文件名]
split用法示例
1.行切割文件
$ split -l 300000 users.sql? /data/users_
2.使用數(shù)字后綴
$ split -d -l 300000 users.sql? /data/users_
3.按字節(jié)大小分割
$ split -d -b 100m users.sql? /data/users_
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
linux共享上網(wǎng)設(shè)置實(shí)例詳解
這篇文章主要介紹了linux共享上網(wǎng)設(shè)置實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05
詳解Xampp和wordpress在Centos7上的搭建與使用
通過實(shí)例給大家詳細(xì)分析了Xampp和wordpress在Centos7上的搭建與使用,對(duì)此有需要的朋友可以學(xué)習(xí)下。2018-02-02
Ubuntu系統(tǒng)下用Crontab命令定時(shí)執(zhí)行PHP文件詳解
這篇文章主要給大家介紹了在Ubuntu系統(tǒng)下用Crontab命令定時(shí)執(zhí)行PHP文件的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-06-06
Ubuntu Server 16.04安裝MySQL設(shè)置遠(yuǎn)程訪問出現(xiàn)問題的完美解決方案(error:10061)
Ubuntu 16.04安裝MySQL及需要其他主機(jī)遠(yuǎn)程連接MySQL時(shí)的設(shè)置問題。在安裝過程中會(huì)出現(xiàn)各種奇葩問題,下面小編給大家?guī)砹薝buntu Server 16.04安裝MySQL設(shè)置遠(yuǎn)程訪問出現(xiàn)問題的完美解決方案(error:10061),一起看看吧2016-10-10
Linux中進(jìn)程和線程的對(duì)比與區(qū)別
這篇文章主要介紹了Linux中進(jìn)程和線程的對(duì)比與區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-07-07
Linux網(wǎng)絡(luò)配置與端口監(jiān)聽的實(shí)戰(zhàn)指南
做開發(fā)和運(yùn)維的同學(xué),幾乎每天都會(huì)和網(wǎng)絡(luò)打交道:部署服務(wù)后端口不通、服務(wù)器IP配置異常、接口調(diào)用失敗、防火墻攔截請(qǐng)求,所以本文匯總了IP查看、DNS配置、端口監(jiān)聽、連通性測(cè)試、防火墻放行的實(shí)操技巧,需要的朋友可以參考下2026-02-02

