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]$