この記事はLFCAシリーズのパート2です。このパートでは、Linuxファイルシステムについて説明し、LFCA認定試験で必要な基本的なファイル管理コマンドをカバーします。
Linuxを始めると、ファイルとディレクトリとのやり取りに多くの時間を費やすことになります。ディレクトリはフォルダとも呼ばれ、階層的な構造で整理されています。
Linuxオペレーティングシステムでは、各エンティティがファイルと見なされます。実際、Linux界では「Linuxではすべてがファイル」という有名な声明があります。これは単なる過度の単純化であり、実際にはLinuxのほとんどのファイルがシンボリックリンク、ブロックファイルなどの特殊なファイルです。
Linuxファイルシステムの概要
主要なファイルタイプの概要を見てみましょう:
1. 通常のファイル
これは最も一般的なファイルタイプです。通常のファイルには人間が読めるテキスト、プログラム命令、およびASCII文字が含まれています。
通常のファイルの例:
- シンプルなテキストファイル、pdfファイル
- 画像、音楽、ビデオファイルなどのマルチメディアファイル
- バイナリファイル
- 圧縮されたファイル
など、さまざまなものがあります。
そしてさらに多くのもの。
2. 特別なファイル
これらは、マウントされたボリューム、プリンター、CDドライブ、および任意のI/O(入出力)デバイスなどの物理デバイスを表すファイルです。
3. ディレクトリ
A directory is a special file type that stores both regular and special files in a hierarchical order starting from the root ( / )
directory. A directory is the equivalent of a folder in the Windows operating system. Directories are created using the mkdir command, short for making the directory, as we shall see later on in this tutorial.
Linuxの階層構造はルートディレクトリから始まり、次々に他のディレクトリに枝分かれしています:

それぞれのディレクトリとその使用法を理解しましょう。
- /root ディレクトリは、rootユーザーのホームディレクトリです。
- /dev ディレクトリには、/dev/sda などのデバイスファイルが含まれています。
- 静的なブートファイルは /boot ディレクトリにあります。
- アプリケーションとユーザーユーティリティは /usr ディレクトリにあります。
- /var ディレクトリには、さまざまなシステムアプリケーションのログファイルが含まれています。
- すべてのシステム構成ファイルは /etc ディレクトリに保存されます。
- /home ディレクトリは、ユーザーフォルダーが配置される場所です。これには、Desktop、Documents、Downloads、Music、Public、およびVideosが含まれます。
- 追加アプリケーションパッケージについては、/opt ディレクトリを確認してください。
- /media ディレクトリには、USBドライブなどの取り外し可能なデバイス用のファイルが保存されます。
- /mnt ディレクトリには、CD-ROMなどのデバイスをマウントするための一時的なマウントポイントとして機能するサブディレクトリが含まれています。
- /procディレクトリは、現在実行中のプロセスに関する情報を保持する仮想ファイルシステムです。これは、システムの起動時に作成され、シャットダウン時に破棄される奇妙なファイルシステムです。
- /binディレクトリには、ユーザーコマンドのバイナリファイルが含まれています。
- /libディレクトリには、共有ライブラリイメージやカーネルモジュールが保存されています。
Linuxファイル管理コマンド
コマンドを実行するためにターミナルと対話する時間が長くなります。グラフィカルな表示要素を使用するよりも、コマンドを実行することがLinuxシステムとのやり取りの最も好ましい方法です。
このレッスンと今後のレッスンでは、ターミナルでコマンドを実行します。私たちはUbuntu OSを使用しており、ターミナルを起動するには、キーボードショートカットCTRL + ALT + T
を使用します。
さて、システム上のファイルを作成および管理するのに役立つ基本的なファイル管理コマンドについて詳しく説明します。
1. pwdコマンド
pwdは、print working directoryの略であり、階層的な順序で現在の作業ディレクトリを出力するコマンドです。ルートディレクトリ( / )
から始まります。
現在の作業ディレクトリを確認するには、単純にpwdコマンドを呼び出します。次のように表示されます。
$ pwd
出力は、ホームディレクトリにあることを示しています。絶対パスは/home/tecmintです。

2. cdコマンド
ディレクトリを変更または移動するには、cdコマンドを使用します。これはディレクトリの変更を表しています。
たとえば、/var/logファイルパスに移動するには、次のコマンドを実行します。
$ cd /var/log

ディレクトリを一つ上に移動するには、末尾に二つのドットまたはピリオドを追加します。
$ cd ..
ホームディレクトリに戻るには、引数なしでcdコマンドを実行します。
$ cd

注意: サブディレクトリや現在のディレクトリ内のディレクトリに移動する場合、スラッシュ( / )
を使用せず、ディレクトリ名を単に入力します。
たとえば、Downloadsディレクトリに移動するには、次のように実行します:
$ cd Downloads

3. lsコマンド
lsコマンドは、ディレクトリ内の既存のファイルやフォルダーを一覧表示するために使用されるコマンドです。たとえば、ホームディレクトリ内のすべての内容をリストするには、次のコマンドを実行します。
$ ls
出力から、通常はシステムをインストールしてログインした後に作成される2つのテキストファイルと8つのフォルダーがあることがわかります。

-lh
フラグを追加します。 -l
オプションは長いリストを意味し、ファイルのアクセス許可、ユーザー、グループ、ファイルサイズ、作成日などの追加情報を出力します。 -h
フラグは、ファイルやディレクトリのサイズを人間が読める形式で出力します。
$ ls -lh

隠しファイルをリストするには、-a
フラグを追加します。
$ ls -la
これにより、ピリオド記号(.)
で始まる隠しファイルが表示されます。
.ssh .config .local

4. touchコマンド
touchコマンドは、Linuxシステムで簡単なファイルを作成するために使用されます。 ファイルを作成するには、次の構文を使用します:
$ touch filename
たとえば、file1.txtファイルを作成するには、次のコマンドを実行します:
$ touch file1.txt
ファイルの作成を確認するには、lsコマンドを呼び出します。
$ ls

5. catコマンド
ファイルの内容を表示するには、次のようにcatコマンドを使用します。
$ cat filename

6. mvコマンド
mvコマンドは非常に汎用性のあるコマンドです。 使用方法によっては、ファイルの名前を変更したり、ファイルを別の場所に移動したりすることができます。
ファイルを移動するには、以下の構文を使用します:
$ mv filename /path/to/destination/
たとえば、現在のディレクトリからPublic/docsディレクトリにファイルを移動するには、次のコマンドを実行します:
$ mv file1.txt Public/docs

代替で、次に示す構文を使用して、異なる場所からファイルを現在のディレクトリに移動することができます。コマンドの最後にピリオドがあることに注意してください。これはこの場所を示しています。
$ mv /path/to/file .
これを逆に行います。次に示すように、Public/docsパスからファイルを現在のディレクトリにコピーします。
$ mv Public/docs/file1.txt .

ファイル名を変更するには、次に示す構文を使用します。このコマンドは、元のファイル名を削除し、第二引数を新しいファイル名として割り当てます。
$ mv filename1 filename2
たとえば、file1.txtをfile2.txtに名前を変更するには、次のコマンドを実行します。
$ mv file1.txt file2.txt

さらに、移動先フォルダと異なるファイル名を指定して、ファイルを同時に移動および名前変更することもできます。
たとえば、file1.txtを場所Public/docsに移動し、file2.txtという名前に変更する場合は、次のコマンドを実行します。
$ mv file1.txt Public/docs/file2.txt

7. cpコマンド
コピーを意味するcpコマンドは、ファイルを1つの場所から別の場所にコピーします。移動コマンドとは異なり、cpコマンドは現在の場所に元のファイルを保持し、別のディレクトリに複製を作成します。
ファイルをコピーする構文は以下のとおりです。
$ cp /file/path /destination/path
たとえば、現在のディレクトリからファイルfile1.txtをPublic/docs/ディレクトリにコピーするには、次のコマンドを実行します。
$ cp file1.txt Public/docs/

ディレクトリをコピーするには、そのディレクトリとその中身すべてを再帰的にコピーするために-R
オプションを使用します。別のディレクトリtutorialsを作成しました。このディレクトリとその中身をPublic/docs/パスにコピーするには、次のコマンドを実行します:
$ cp -R tutorials Public/docs/

8. mkdirコマンド
おそらく、どのようにしてtutorialsディレクトリを作成したか疑問に思ったかもしれません。それは非常に簡単です。新しいディレクトリを作成するには、以下のようにmkdir(make directory)コマンドを使用します:
$ mkdir directory_name
次のようにしてprojectsという別のディレクトリを作成しましょう:
$ mkdir projects

別のディレクトリを別のディレクトリ内に作成するには、-p
フラグを使用します。以下のコマンドは、親ディレクトリであるprojectsディレクトリ内のlinuxディレクトリ内にfundamentalsディレクトリを作成します。
$ mkdir -p projects/linux/fundamentals

9. rmdirコマンド
rmdirコマンドは空のディレクトリを削除します。例えば、tutorialsディレクトリを削除するには、次のコマンドを実行します:
$ rmdir tutorials

空でないディレクトリを削除しようとすると、表示されるエラーメッセージがあります。
$ rmdir projects

10. rmコマンド
rm(remove)コマンドはファイルを削除するために使用されます。構文は非常にシンプルです:
$ rm filename
例えば、file1.txtファイルを削除するには、次のコマンドを実行します:
$ rm file1.txt
さらに、-R
オプションを使用してディレクトリを再帰的に削除することもできます。これは空のディレクトリでも空でないディレクトリでも機能します。
$ rm -R directory_name
たとえば、projectsディレクトリを削除するには、次のコマンドを実行します:
$ rm -R projects

11. findとlocateコマンド
時々、特定のファイルの場所を検索したいことがあります。これはfindコマンドまたはlocateコマンドを使用して簡単に行うことができます。
findコマンドは特定の場所でファイルを検索し、2つの引数を取ります:検索パスまたはディレクトリと検索するファイルです。
構文は以下のようになります
$ find /path/to/search -name filename
たとえば、ホームディレクトリでfile1.txtというファイルを検索するには、次のコマンドを実行します:
$ find /home/tecmint -name file1.txt

locateコマンドは、findコマンドと同様にファイルを検索する役割を果たしますが、1つの引数のみを取ります。
$ locate filename
たとえば;
$ locate file1.txt

locateコマンドは、システム内のすべての可能なファイルとディレクトリのデータベースを使用して検索します。
注意:locateコマンドはfindコマンドよりもはるかに高速です。ただし、findコマンドはより強力であり、locateが望ましい結果を出力しない状況で使用できます。
それで以上です!このトピックでは、Linuxシステムでファイルとディレクトリを作成および管理するための基本的なファイル管理コマンドをカバーしました。
Source:
https://www.tecmint.com/linux-file-management-commands/