【Linux之truncate 命令用法】

lijieshare發表於2018-01-31

truncate相關命令

用法:truncate 選項... 檔案...

將檔案縮減或擴充套件至指定大小

 

如果指定檔案不存在則建立。

 

如果指定檔案超出指定大小則超出的資料將丟失。

如果指定檔案小於指定大小則用0 補足。

 

長選項必須使用的引數對於短選項時也是必需使用的。

  -c, --no-create 不建立檔案

  -o, --io-blocks 將SIZE 視為IO 塊數而不使用位元組數

  -r, --reference=檔案   使用此檔案的大小

  -s, --size=大小 使用此大小

      --help 顯示此幫助資訊並退出

      --version 顯示版本資訊並退出

 

SIZE 可以是一個可選的整數,後面跟著以下單位中的一個:

KB 1000,K 1024,MB 1000*1000,M 1024*1024,還有 G、T、P、E、Z、Y。

 

 

指定大小也可使用以下字首修飾:

"+" 增加,"-" 減少,"<" 至多,">" 至少,

"/" 小於等於原尺寸數字的指定數字的最小倍數,"%" 大於等於原尺寸數字的指定數字的最大倍數。

譯者注:當輸入值為m,參考值為n 時,

"/" 運算的數學計算式為 m / n * n;

"%" 運算的數學計算式為( m + n - 1 ) / n * n

 

 

請注意-r 和-s 是互斥的選項。

 

Linux檔案清空方法總結

1、使用重定向的方法

[root@centos7 ~]# du -h test.txt 

4.0K test.txt

[root@centos7 ~]# > test.txt 

[root@centos7 ~]# du -h test.txt 

0 test.txt

 

2、使用true命令重定向清空檔案

[root@centos7 ~]# du -h test.txt 

4.0K test.txt

[root@centos7 ~]# true > test.txt 

[root@centos7 ~]# du -h test.txt 

0 test.txt

 

3、使用cat/cp/dd命令及/dev/null裝置來清空檔案

[root@centos7 ~]# du -h test.txt 

4.0K test.txt

[root@centos7 ~]# cat /dev/null > test.txt 

[root@centos7 ~]# du -h test.txt 

 test.txt

###################################################

[root@centos7 ~]# echo "Hello World" > test.txt 

[root@centos7 ~]# du -h test.txt 

4.0K test.txt

[root@centos7 ~]# cp /dev/null test.txt 

cp:是否覆蓋"test.txt"? y

[root@centos7 ~]# du -h test.txt 

 test.txt

##################################################

[root@centos7 ~]# echo "Hello World" > test.txt 

[root@centos7 ~]# du -h test.txt 

4.0K test.txt

[root@centos7 ~]# dd if=/dev/null of=test.txt 

記錄了0+0 的讀入

記錄了0+0 的寫出

0位元組(0 B)已複製,0.000266781 秒,0.0 kB/秒

[root@centos7 ~]# du -h test.txt 

 test.txt

 

4、使用echo命令清空檔案

[root@centos7 ~]# echo "Hello World" > test.txt 

[root@centos7 ~]# du -h test.txt 

4.0K test.txt

[root@centos7 ~]# echo -n "" > test.txt ==>要加上"-n"引數,預設情況下會"\n",也就是回車符

[root@centos7 ~]# du -h test.txt 

0 test.txt

 

5、使用truncate命令清空檔案

[root@centos7 ~]# du -h test.txt 

4.0K test.txt

[root@centos7 ~]# truncate -s 0 test.txt -s引數用來設定檔案的大小,清空檔案,就設定為0;

[root@centos7 ~]# du -h test.txt 

0 test.txt

相關文章