Linux のスキルは常に求められています。 Linux ディレクトリ コマンドと Linux ファイル コマンドの使用方法を学習して、スキル セットを構築します。このガイドは旅として書かれています。ディレクトリとファイルのナビゲート、作成、削除、移動、名前変更を順を追って説明する一連の手順。すべて Linux コマンドラインから。
実用的で現実世界の Linux スキルを構築する準備ができている場合は、適切な場所に来ています!
前提条件
このガイドの Linux の例を実践するには、Linux を実行しているコンピューターが必要です。 Linux のディストリビューションは問いません。このガイドのすべてのデモでは、RedHat Enterprise Linux 8 (RHEL) を使用します。
Ubuntu 20.04 LTS は、RedHat を使用したくない場合に最適な代替手段です。
ディレクトリの一覧表示と検索
この手順に従っている場合は、Linux コンピューターでターミナル セッションを開きます。
pwd で現在のディレクトリを見つける
ターミナルでファイル システムをナビゲートしているとき、プロンプトは常に現在のディレクトリまたは作業ディレクトリと呼ばれる特定のディレクトリにあります。端末の構成によっては、プロンプトに作業ディレクトリが表示される場合と表示されない場合があります。
pwd または print working directory コマンドを実行すると、現在のディレクトリが表示されます。以下に示すようにコマンドを入力します:
pwd root アカウントでサインインしていない限り、デフォルトでは /home/
ディレクトリが端末セッションの開始点になります。
コマンドを実行すると、次のような作業ディレクトリが返されます:
Windows とは異なり、Linux はドライブ文字 (C:\) を使用しません。 、D:\ など) ディスクまたはパーティション (ディスク上の論理領域)。 Linux では、ディレクトリの前に / が付きます .
ls によるファイルとフォルダーの一覧表示 コマンド
ディレクトリ内には、ファイルとサブフォルダーがあります。 pwd コマンドは作業ディレクトリを表示するだけなので、サブディレクトリとファイルをどのように表示しますか? ls コマンド。
ls または list directory コマンドは dir と同等です コマンド。このコマンドは、現在のディレクトリまたは指定された代替パス内のファイルとディレクトリを一覧表示します。
dirコマンドは Linux にも存在します。ls -C -bを実行するのと同等 .通常、lsdir以上使用されています より柔軟な表示が可能です。
/home/user でファイルとディレクトリを検索するには ディレクトリで、ls を実行します 指図。結果の出力は、そこに含まれるさまざまなファイルとディレクトリ (フォルダー) です。
ls
ls コマンドは、アクセス許可、ファイル サイズ (バイト単位)、ファイルの日付など、ファイルとフォルダーに関する追加情報も l で表示します。 オプション。 Windows と同様に、一部のファイルとフォルダーは OS によって通常のビューから隠されている場合があります。デフォルトでは表示されないファイルを a で表示 オプション。
ドットファイルは、Unix システムのプレーン テキスト構成ファイルです。ファイル名の前にドット
.を付けると、すべてのファイルを非表示にすることができます .
ls -la
la を使用して、以下のスクリーンショットを確認できます オプションを使用すると、左から右に 6 つの異なる列に表示されるより多くの情報を受け取ります:
- 前に
dを付けた POSIX ACL 形式のアクセス許可 ディレクトリを意味する - ファイルのみを含むディレクトリのサブディレクトリ数は
1 - ファイルまたはフォルダが属するユーザーとグループ
- ディレクトリまたはファイルのサイズ (バイト単位)
- 最終更新時間
- ファイルまたはフォルダの名前
-R を使用すると、サブディレクトリ内のすべてのファイルとフォルダーを見つけることができます ディレクトリの内容を再帰的に表示するオプション。
ls -R
別のディレクトリの内容を表示したい場合は、ターゲット ディレクトリを ls に渡します。 .以下は /var/log です /home/user を離れることなくディレクトリの内容 ディレクトリ。
ls /var/log
find によるファイルとフォルダーの検索
大規模なファイル システム全体でファイルを見つけるのは困難です。ありがたいことに、find コマンドを使用すると、必要なファイルやフォルダーを見つける方法がいくつか提供されます。
たとえば、/var を見つけたいとします。 ディレクトリ。開始点を指定すると、/ 、およびタイプを d として設定します ディレクトリの場合、ファイルシステムで var を検索します 名前。
sudo find / -type d -name "var" 
sudoを使用してコマンドを実行しても、Permission Denied エラーが表示される場合があります。 .findコマンドは、ユーザーがアクセスできない Gnome (KDE を使用している場合、このエラーは発生しません) に関連する仮想ファイル システムを検索しようとします。代わりに、-xdevを使用して他のファイルシステムのディレクトリを下らないでください。 代わりに切り替えてください。
ログ拡張子を持つすべてのファイルを検索するのはどうですか?前と同様に、ルート ファイルシステムを検索しますが、今回は f を指定します。 ファイルを検索し、*.log のワイルドカード パターンを検索します .
sudo find / -type f -name "*.log" 
findコマンドにはHなどの他のオプションがあります 、L、およびP、シンボリック リンクの処理方法を処理します。
locate でファイルをすばやく検索
find のように 、locate コマンドはファイルとフォルダーを検索しますが、ファイルシステム全体ではなくデータベースを検索することで高速に検索します。
MyTextFile.txt という名前のファイルがあるかもしれません あなたのコンピュータのどこかに。どこにあるのか忘れてしまい、パスを見つけるのに助けが必要です。 locate を使用 コマンドを実行してファイルを検索し、以下に示すようにファイルの名前を指定します。
locate MyTextFile.txt 
locateコマンドはファイルを検索しますが、sudo updatedbまで新しいファイルを検索しません 実行します。 cron ジョブがupdatedbを実行します ただし、このコマンドはいつでも手動で実行できます。
tmp という名前のすべてのディレクトリを見つける方法 ? */tmp を渡すことができます 、これは locate を伝えます データベースで tmp で終わるエントリを検索する .
locate */tmp
cd によるディレクトリの変更 コマンド
これまでは、ほとんどの場合、1 つのディレクトリ内で操作してきました。 Linux での操作は、多くの場合、cd によって行われるディレクトリの変更を意味します。 またはディレクトリコマンドを変更します。以下の例を使用すると、現在のホーム ディレクトリ /home/user から移動します。 /var/log へ 現在のディレクトリを確認中。
# Show that you are in the current home directory
pwd
# Change to the /var/log directory
cd /var/log
# Verify that you are now in the /var/log directory
pwd
特定のディレクトリに移動する方法を学習したので、ディレクトリを上に移動するにはどうすればよいでしょうか。ディレクトリを上に移動するには、2 つのドット (..) を使用します。 )、cd に渡されます 指図。実行すると、以下に示すように、ディレクトリを 1 つ上に移動し、/var/ に戻ります。 ディレクトリ。
# Show that you are currently in the /var/log directory
pwd
# Move up a single directory
cd ..
# Verify that you have moved up to the /var directory
pwd
/var/log に変更したい場合 ディレクトリをもう一度、末尾に / を付けて変更先のディレクトリ名を渡します .
# Show that you are currently in the /var directory
pwd
# Change to the /var/log directory
cd log/
# Verify that you are back in the /var/log directory
pwd
以下に示すように、末尾に / を付けて宛先サブディレクトリを入力するだけです 毎回絶対パスを入力する必要がなくなります。

cdを使用するときにファイルまたはディレクトリ名が不明な場合 、TABを押します キーを 2 回押して、可能性のリストを生成します。例:cd
mkdir で新しいディレクトリを作成する
Linux でディレクトリを作成するには、mkdir を使用します またはディレクトリコマンドを作成します。 MyAwesomeLinuxDir という新しいディレクトリを作成するには ホーム ディレクトリ (特別なパス ~ で示されます) )、以下のコマンドを使用してください。
mkdir ~/MyAwesomeLinuxDir
Linux がディレクトリを正常に作成した場合、Linux はコンソールにメッセージを返しません。 ls を使用して、ホーム ディレクトリ内のディレクトリを一覧表示できます。 ディレクトリ MyAwesomeLinuxDir を確認するコマンド 、存在します。
ここで、いくつかの複雑さを加えて、1 つのコマンドで複数の新しいディレクトリを作成します。複数のディレクトリを作成するには、mkdir を使用します コマンドを入力して、スペースで区切られた複数のディレクトリ名を渡します。
mkdir ~/Directory01 ~/Directory02 ~/Directory03
もう一度、ls でディレクトリをリストします。 指図。以下に示すように、さらに 3 つのディレクトリが存在します。
mkdir を使用するのと同じくらい便利です 単一のフォルダーを作成することは、一度に多数のフォルダーを作成する必要がある場合はどうなりますか?各ディレクトリを入力する代わりに、ブレース展開を使用してください!この手法は、類似したパターンで複数のディレクトリを作成する場合に強力です。
中括弧展開を使用すると、パターンに基づいて複数のディレクトリを手で入力するよりもすばやく作成できます。ブレース展開を示すには、 {03..07} を追加します 名前の後に Directory 5 つのディレクトリを生成します。 Directory03 に気付くかもしれません 前の例で作成したため、既に存在します。 p で既存のディレクトリに関するエラーを回避する オプション。
mkdir -p ~/Directory{03..07}
以下に示すように、Directory03 は作成されませんが、04 で終わる 4 つの新しいディレクトリが作成されます 07 まで
touch で新しいファイルを作成する
フォルダーの作成方法を学んだところで、ファイルを作成するにはどうすればよいでしょうか。 Linux touch の使用 次の例に示すように、コマンドは空のファイルを作成します。
touch ATABlog もう一度、ホーム ディレクトリのファイルとフォルダを一覧表示して、新しいATABlog ファイルが存在します。
mkdir をどのように学んだかを思い出してください。 コマンドはブレース展開を使用して複数のディレクトリを作成できますか?同じテクニックが touch でも役に立ちます コマンドも!さらに 5 つの ATABlog を作成します 01 から 05 までのファイル。
touch ATABlog{01..05}
ls でファイルとフォルダーを一覧表示した後 、5 つの新しいファイルがホーム ディレクトリに存在します。
Linux でのディレクトリとファイルの削除
前のセクションでは、Linux でディレクトリとファイルを作成する方法を学びました。ディレクトリとファイルを削除するには、rm を使用します ディレクトリとその内容を削除するコマンド
たとえば、ATABlog01 というファイルを削除するとします。 rm にファイル名を渡してファイルを削除します 指図。以下に示すように、ATABlog01 を削除しています。 現在のディレクトリのファイル。
rm ATABlog01
現在のディレクトリ内の各ファイル名の間にスペースを追加すると、一度に複数のファイルを削除できます。残りの ATABlog## を削除します 単一の rm のファイル
rm ATABlog02 ATABlog03 ATABlog04 ATABlog05
ファイルを削除する方法を学んだので、今度はディレクトリを削除します。デフォルトでは、rm コマンドはディレクトリを削除しません。 r を指定してディレクトリを削除します または再帰 以下の例に示すように、
rm -r Directory01 以下のスクリーンショットでは、Directory01 を確認できます。 削除されました。
rm でブレース展開を使用できます コマンドも。 rm 内で 2 から 7 の範囲を提供する コマンドは、Directory02 という名前のすべてのディレクトリを削除するように remove コマンドに通知します Directory07 経由 . ls で確認した場合の表示 コマンド。
rm -r Directory{02..07} 
間違ったファイルやフォルダを誤って削除しないようにするには、
iを使用します ファイルごとにプロンプトを表示します。Iでオプションの煩わしさを軽減 3 つ以上のファイルでのみプロンプトを表示するオプション。
Linux でのディレクトリとファイルのコピー
cp を使用して Linux でファイルをコピーする 指図。 cp だけでなく、 コマンドは Linux のディレクトリとファイルをコピーしますが、ファイル属性とシンボリック リンクの作成も行います。
前の例からファイルをコピーする方法を示すには、ATABlog をコピーします。 Documents/ へのファイル cp のディレクトリ 指図。 v を追加 正確なコピー操作に関する詳細情報を表示するオプション。
cp -v ATABlog Documents/
ここで、フォルダ MyAwesomeLinuxDir をコピーします。 、ドキュメントへ ディレクトリ。ここでは、rm と同様に コマンド、必ず r を追加してください または、次の例に示すように、ディレクトリをコピーするための再帰オプション。
cp -r MyAwesomeLinuxDir/ Documents/
ディレクトリとファイルの移動
前のセクションでは、cp を使用してファイルとフォルダーをコピーしました。 指図。 移動する Linux のディレクトリとファイルには、mv を使用します 指図。 Linux でディレクトリを移動するには、mv を使用します 指図。 mv コマンドは cp のコマンドに似ています 前の例で学んだコマンド
mv [options] [source] [destination]
mv コマンドは、Windows でのカット アンド ペーストに似ていますが、ファイルの名前を同時に変更できるという利点があります。次のセクションでは、mv の使用方法を示します。
-iを使用してください 各移動または-fの前にプロンプトを表示するオプション プロンプトなしでアイテムを強制的に移動するオプション。
実例として、Documents/ATABlog ファイルを移動します。 デスクトップに mv のディレクトリ 指図。フォルダー Documents/MyAwesomeLinuxDir を移動します デスクトップに 同様に、以下に示すように。
mv Documents/ATABlog Desktop/
mv Documents/MyAwesomeLinuxDir Desktop/ コマンドは次の例のようになります。ファイルとディレクトリ (ソース) を別のディレクトリ (宛先) に移動していることに注意してください。
ls を使用 コマンドを実行して、両方が デスクトップ に配置されていることを確認します ディレクトリ。
ディレクトリとファイルの名前変更
名前の変更コマンドはありませんが、mv コマンドは同じ役割を果たします。 mv に宛先を渡すだけではなく、 コマンドで、結果のファイルまたはフォルダーを末尾のスラッシュなしで指定して、移動および名前変更します。
ファイルの名前を ATABlog_Renamed に変更しながら、ファイルとフォルダーをホーム ディレクトリに戻します。 .同様に、MyAwesomeLinuxDir でも同じことを行います 、ディレクトリの名前を MyAwesomeLinuxDir_Renamed に変更します 以下に示すように、ホーム ディレクトリにあります。
mv Desktop/ATABlog ~/ATABlog_Renamed
mv Desktop/MyAwesomeLinuxDir ~/MyAwesomeLinuxDir_Renamed
次のステップ
この記事では、ファイルの作成、移動、削除に加えて Linux ファイルシステムをトラバースする方法など、一般的な Linux ディレクトリ コマンドの多くを学習しました。