1. 概要

Linuxユーザーとして、私たちはファイルに対してさまざまな操作を頻繁に実行します。 一般的な操作は、特定のサイズのファイルを作成することです。

このチュートリアルでは、これを実現するためのさまざまな方法について説明します。

2. fallocateコマンドの使用

fallocate は、ファイルを作成してディスク領域を割り当てる簡単なコマンドです。 100MiBのファイルを作成しましょう。

$ fallocate -l 100M file1.txt
$ ls -lh file1.txt 
-rw-rw-r-- 1 groot groot 100M May 15 20:26 file1.txt

この場合、 -l 引数を使用して、ファイルの長さをバイト単位で表します。

fallocate コマンドは、キロバイト(K)メガバイト(M)ギガバイト(G)[X150Xなどの人間が読める形式のサイズも受け入れます。 ]。

3. truncateコマンドの使用

truncate コマンドは、ファイルを特定のサイズに拡張または縮小できます。 これを使用して、200MiBのファイルを作成しましょう。

$ truncate -s 200M file2.txt
$ ls -lh file2.txt
-rw-rw-r-- 1 groot groot 200M May 15 20:36 file2.txt

ここでは、 -s 引数を使用して、ファイルのサイズをバイト単位で表します。

ファイルが存在し、 -s オプションで指定されたサイズよりも小さい場合、ファイルサイズはASCIINULバイトで要求されたサイズに増加することに注意してください。 既存のファイルのサイズが大きい場合は、要求されたサイズに切り捨てられます。

4. ヘッドおよびテールコマンドの使用

headコマンドを/dev / zero ファイルとともに使用して、設定された数のASCIINUL文字で満たされたファイルを作成できます。

$ head --bytes 300K /dev/zero > file3.txt
$ ls -lh file3.txt
-rw-rw-r-- 1 groot groot 300K May 15 20:47 file3.txt

この場合、 –bytes オプションは、必要なファイルサイズをバイト単位で表します。

同様に、tailコマンドも同じように使用できます。

$ tail --bytes 1G /dev/zero > file4.txt
$ ls -lh file4.txt
-rw-rw-r-- 1 groot groot 1.0G May 15 20:52 file4.txt

5. ddコマンドの使用

dd コマンドは、ファイルを変換してコピーします。 ddを使用して10MiBのファイルを作成しましょう。

$ dd if=/dev/zero of=file5.txt bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 0.0387031 s, 271 MB/s
$ ls -lh file5.txt
-rw-rw-r-- 1 groot groot 10M May 15 20:58 file5.txt

引数を見てみましょう:

  • ifは入力ファイルを表します
  • は出力ファイルを表します
  • bsはブロックサイズをバイト単位で表します
  • count は、コピーされるブロックの数を表します

6. 結論

このチュートリアルでは、特定のサイズのファイルを作成するための5つの実用的な方法について説明しました。 これらのコマンドは、Linuxシステムでの作業中に日常生活で使用できます。