Linuxコマンド truncate(ファイルを指定したサイズに切り詰める/拡張する)

ファイルのサイズを切り詰め、拡張するコマンドを解説

RHEL Fedora CentOS Vine Deblan Ubuntu Plamo

参考サイト:Man page of INSTALL

概要・使用方法

指定したサイズより元ファイルが大きい場合は、はみ出る部分は削除されます。また、データのない部分は「hole」となり、この部分は読み込むと0バイトとなります。サイズはバイト単位で指定します。サイズはK/KB/M/MB/G/GBなどの単位も利用できます。

書式

$ truncate [オプション] ファイル名・・・

オプション

–c,
–no-create
ファイルを作成しない
-r ファイル名,
–reference=ファイル名
指定したファイルのサイズを参照する
-s サイズ,
–size=サイズ
ファイルサイズを指定する
オプション一覧表

サンプル

サイズを指定してからファイルを作成する

$ truncate -s 1MB truncate-1mb.txt 

実行結果

[centos@xxx work]$ truncate -s 1MB truncate-1mb.txt
[centos@xxx work]$ ls -l
total 0
-rw-rw-r-- 1 centos centos 1000000 May  1 05:37 truncate-1mb.txt
[centos@xxx work]$ 

テキストのファイルサイズを調整する

テキストファイルを拡張したり切り詰めてみる。

サンプル

$ truncate -s 20 sample.txt

実行結果

[centos@xxx work]$ cat sample.txt 
sample text

[centos@xxx work]$ ls -l
total 4
-rw-rw-r-- 1 centos centos 13 May  1 05:42 sample.txt
[centos@xxx work]$ truncate -s 20 sample.txt # 20バイトにサイズを拡張する
[centos@xxx work]$ ls -l
total 4
-rw-rw-r-- 1 centos centos 20 May  1 05:42 sample.txt # 13バイトから20バイトに拡張された。
[centos@xxx work]$ cat sample.txt 
sample text

[centos@xxx work]$ truncate -s 10 sample.txt  # 13バイトのテキストファイルを10バイトに切り詰める
[centos@xxx work]$ ls -l
total 4
-rw-rw-r-- 1 centos centos 10 May  1 05:44 sample.txt
[centos@xxx work]$ cat sample.txt # 文字列がカットされている。
sample tex[centos@xxx work]$