コンテンツにスキップ

GNU Core Utilities/truncate

出典: フリー教科書『ウィキブックス(Wikibooks)』

truncate コマンドは、ファイルのサイズを変更するためのユーティリティです。指定されたサイズにファイルを切り詰めたり、拡張したりできます。truncate は FreeBSD 4.2 で初めて登場しました。

基本的な使い方

[編集]
truncate [オプション] ファイル...

主なオプション

[編集]
主なオプション
オプション 説明
-s, --size SIZE 指定されたサイズにファイルを変更(例:truncate -s 1K file.txt
-c, --no-create ファイルが存在しない場合に作成しない
-o, --reference=FILE 他のファイルのサイズを参考に変更
--help ヘルプメッセージの表示
--version バージョン情報の表示

[編集]

ファイルのサイズを指定したサイズに変更

[編集]
truncate -s 1K file.txt

file.txt のサイズを 1KB に変更します。ファイルが既に 1KB より大きい場合、その内容が切り詰められます。小さい場合は、0 埋めされてファイルが拡張されます。

ファイルのサイズを負の値で変更

[編集]
truncate -s -10K file.txt

file.txt のサイズを現在のサイズから 10KB 減らします。内容が切り詰められ、ファイルのサイズが短縮されます。

参照ファイルのサイズを参考に変更

[編集]
truncate --reference=reference.txt target.txt

reference.txt のサイズを target.txt に適用します。

ファイルが存在しない場合に変更しない

[編集]
truncate -c -s 1K newfile.txt

newfile.txt が存在しない場合、このコマンドは何も行いません(-c オプションがあるため、ファイルは新規作成されません)。

FreeBSD 版との違い

[編集]

truncate コマンドは FreeBSD 4.2 で初めて登場し、その後、他のUnix系システムにも導入されました。FreeBSD 版では、ファイルサイズ変更の操作がシンプルに実行できますが、他のシステムでは truncate コマンドの動作に微妙な違いが見られる場合があります。例えば、ファイルの拡張時に内容がゼロ埋めされる方法や、サイズの単位指定に関する細かな差異があります。

truncate コマンドは主にファイルシステムの操作を簡略化するために用いられ、ログファイルの管理や、大きなファイルのサイズ調整に役立ちます。