はじめに
これまでの実験では、すでに存在するファイルを確認しました。ここからは、自分で作成していきます。
これは重要な変化です。ファイルシステムは、見るだけのものではありません。自分で形を整えるものでもあります。ファイルやディレクトリを作成すると、情報をただ観察するのではなく、意図的に整理し始めることができます。
この実験では、次の操作を学びます。
- 新しい空のファイルを作成する。
- 作業を整理するためのフォルダー(ディレクトリ)を作成する。
- 1 つのコマンドでディレクトリパス全体を作成する。
自分のファイルシステムを設計する力を身につけましょう。
新しいファイルを作成する
ファイルはどのように作成するのでしょうか。Linux では、touch というコマンドを使うのが最も簡単です。
touch はもともと、ファイルのタイムスタンプを更新するために設計されました。しかし、非常に便利な機能があります。ファイルが存在しない場合は、そのファイルを作成します。 作成されるのは空のファイル、つまり内容を書き込む前の白紙のページです。
この由来を知っておくと、コマンド名の意味も理解しやすくなります。touch は、もともと人間の感覚でいう「ファイルを作成する」ためのコマンドではなく、ファイルの時刻を変更するためのコマンドでした。その副作用として空のファイルが作成されることが、日常的な用途の 1 つになりました。
file1.txt という名前のファイルを作成します。
touch file1.txt
コマンドが成功した場合、何も表示されません。Linux の黄金律を覚えておきましょう。何も知らせがないのは、うまくいったということです。
ファイル一覧を表示して、作成できたことを確認します。
ls -l
file1.txt が表示されます。サイズの列(通常は 5 列目)を確認してください。値は 0 になっているはずです。これにより、完全に空のファイルが作成されたことを確認できます。
ディレクトリを作成する
ファイルを保存する場所が必要です。ファイルを整理するためにフォルダーを使います。Linux では、フォルダーを ディレクトリ と呼びます。
ディレクトリ構造は、多くの初心者が考える以上に重要です。システムが大きくなると、整理されたディレクトリ構成によって、人間は必要なものをすばやく見つけられ、スクリプトも予測どおりに動作しやすくなります。適切な整理は、個人の好みだけでなく、システム管理の一部です。
ディレクトリは、Make Directory の略である mkdir コマンドを使って作成します。
project_alpha という新しいディレクトリを作成します。
mkdir project_alpha
ここでも、何も表示されなければ成功です。ls -F を使って、ディレクトリが存在することを確認しましょう。-F オプションを付けると、ディレクトリ名の末尾にスラッシュ / が表示されるため、ディレクトリを簡単に見分けられます。
ls -F
project_alpha/ が表示されます。これで、ファイルシステムに新しい部屋を作成できました。
入れ子になったディレクトリを作成する
フォルダーの中にフォルダーがあり、その中にさらにフォルダーがある構成を作成したい場合はどうすればよいでしょうか。たとえば、logs/labexio/jan は、Logs フォルダーの中に LabexIO フォルダーがあり、その中に January フォルダーがある構成です。
mkdir logs/labexio/jan を実行すると、途中のフォルダーがまだ存在しないため、Linux はエラーを表示します。
フォルダーを 1 つずつ作成することもできますが、手間がかかります。
そこで、-p(parents)フラグを使います。このフラグは mkdir に対して、「存在しない親ディレクトリも作成してください」 と指示します。
これは、適切なオプションを知っていれば Linux のツールを効率よく使える、よい例です。このコマンドは最後のディレクトリだけでなく、必要なパス全体を作成します。
mkdir -p logs/labexio/jan
再帰的に一覧を表示するコマンドを使って、作成結果を確認します。
ls -R logs
入れ子になったディレクトリ構造全体が、すぐに作成されていることを確認できます。
まとめ
これで、ファイルシステムを自分で作成できるようになりました。
- **
touch filename**:空のファイルを作成します(既存のファイルに対して実行すると、タイムスタンプを更新します)。 - **
mkdir directoryname**:新しいディレクトリを作成します。 - **
mkdir -p path/to/directory**:不足している親ディレクトリを自動的に作成しながら、ディレクトリパス全体を作成します。
ファイルやフォルダーを作成できるようになったので、次はそれらを複製したり、別の場所へ移動したりする方法を学びましょう。



