Bash 入門

Bash 基礎コマンド

基礎的な Bash コマンド(lscdpwdmkdirrm)を理解することは、コマンドライン を使用して Linuxファイルシステムインタラクション するための根本となります。

これらのコマンドを使用することで、ファイルの リスト 表示、ディレクトリ の切り替え、現在のロケーションの特定、新しい ディレクトリ の作成、そしてファイルや ディレクトリ の削除が可能になります。システム管理ソフトウェア開発、あるいは日常的な コマンドライン 操作において、これらを習得することは必須です。

1. ls コマンド:ファイルとディレクトリのリスト表示

ls (List) コマンドは、指定したロケーションのファイルや ディレクトリリスト 表示するために使用されます。デフォルトでは、現在の ワーキングディレクトリ 内のコンテンツを表示します。

1.1 基本的な使い方

直接 ls と入力すると、現在の ディレクトリ のコンテンツが表示されます。

ls

これにより、ファイル名と ディレクトリ 名のシンプルな リスト が出力されます。

1.2 よく使われるオプション

さまざまな「オプション(Options)」と組み合わせることで、ls コマンドは非常に強力になります。以下は代表的な オプション です:

  • -l: ロングフォーマット(long format)で表示し、権限(パーミッション)、リンク 数、オーナー、所属グループ、ファイルサイズ、最終更新日時などの詳細情報を出力します。
  • -a: (All) 隠しファイル(. で始まるファイル)を含む、すべてのファイルと ディレクトリ を表示します。
  • -t: (Time) 更新日時順で ソート して出力します(新しいものが先頭)。
  • -r: (Reverse) ソート 順を反転させます。-t と組み合わせると、古いファイルが先頭に来ます。
  • -h: (Human-readable) ファイルサイズを読みやすい形式(1K、234M、2G など)で表示します。通常 -l と併用します。
  • -R: (Recursive) サブディレクトリ内も含め、リカーシブ(再帰的)にすべて表示します。

1.3 インスタンス・デモンストレーション

詳細情報を含むすべてのファイルを表示:

ls -l

このコマンドは、現在の ディレクトリ の内容をロングフォーマットで表示します。出力の各行がファイルまたは ディレクトリ を表し、権限、ハード リンク 数、オーナーとグループ、バイト単位のサイズ、最終更新日時、名前などの詳細が含まれます。

隠しファイルを含むすべての詳細情報を表示:

ls -la

-l(ロングフォーマット)と -a(全ファイル)を組み合わせたコマンドです。ドット(.)で始まる通常は非表示のファイルもすべて表示されます。

更新日時順で表示(新しいものが上):

ls -lt

ファイルを最終更新日時で ソート し、最近操作したものが一番上に表示されます。作業直後のファイルを探す際に非常に便利です。

更新日時順で表示(古いものが上):

ls -ltr

-l-t-r(リバース)を組み合わせています。時間順ですが逆順になるため、最も古いファイルがリストの先頭に表示されます。

人間が読みやすい形式でサイズを表示:

ls -lh

ファイルサイズを K(キロバイト)、M(メガバイト)、G(ギガバイト)などの直感的な フォーマット で表示し、一目でサイズを把握できるようにします。

すべてのファイルとディレクトリをリカーシブに表示:

ls -R

現在の ディレクトリ から開始し、すべてのコンテンツを リカーシブ に表示します。まず現在の階層を表示し、次に各サブディレクトリの中身を表示するという動作を繰り返します。

詳細情報と読みやすいサイズでリカーシブに表示:

ls -lR -h

詳細 リストリカーシブ、ヒューマンリーダブルなサイズを組み合わせています。サブディレクトリが多い階層では出力が膨大になる可能性があります。ヒント:-lR -h-lRh と略して記述することも可能です。

1.4 実戦での活用

例えば Web サーバー を管理しており、ディスク容量を確保するために、特定の ディレクトリ 内で最もサイズの大きいファイルを素早く見つけ出す必要があるとします。その場合、ls -lhS を使用して、読みやすい形式でファイルサイズ順(降順)に リスト 表示できます。(注:-S オプション はサイズ順の ソート を意味します)。

2. cd コマンド:ディレクトリの切り替え

cd (Change Directory) コマンドは、現在の ワーキングディレクトリ を変更し、ファイルシステム 内をナビゲートすることを可能にします。

2.1 基本的な使い方

特定の ディレクトリ に切り替えるには、cd の後にターゲットとなる ディレクトリパス を入力します。

cd /path/to/directory

2.2 特殊なケースとショートカット操作

  • cd: 引数なしで実行すると、直接 ホームディレクトリ(Home directory)に戻ります。
  • cd ..: 1つ上の階層である親 ディレクトリ に移動します。
  • cd -: 直前にいた ディレクトリ に戻ります。

2.3 インスタンス・デモンストレーション

ホームディレクトリへの切り替え:

cd

ファイルシステムのどこにいても、このコマンド一つで「家(ホーム)」に帰ることができます。

指定したディレクトリへの切り替え:

cd /var/log

現在の ディレクトリ/var/log(システムログが格納される場所)に変更します。注意:その ディレクトリ に入るための適切な権限が必要です。

1つ上のディレクトリに移動:

cd ..

例えば /var/log にいた後に /tmp へ移動したとします。このコマンドを実行すると、瞬時に /var/log に戻ることができます。

3. pwd コマンド:ワーキングディレクトリのプリント

pwd (Print Working Directory) コマンドは、現在自分がいる ワーキングディレクトリ絶対パスターミナル に表示します。

3.1 基本的な使い方

pwd と入力してエンターキーを押すだけです。

pwd

ターミナル に現在の ファイルシステム 上のフル パス が出力されます。

3.2 オプション

pwdオプション は少ないですが、有用なものに -P (Physical) があります。これは シンボリックリンク(ソフトリンク)を解決し、実際の物理的な パス を表示します。

3.3 インスタンス・デモンストレーション

現在のワーキングディレクトリを表示:

pwd

もし /home/user/documents ディレクトリにいる場合、出力は /home/user/documents となります。

シンボリックリンク解決後の物理パスを表示:

まず、シンボリックリンク を作成します:

ln -s /home/user/documents link_to_documents
cd link_to_documents
pwd
pwd -P

link_to_documents ディレクトリに入った状態で pwd を実行すると、通常は /home/user/link_to_documents と出力されます。しかし、このディレクトリは実際には別の場所を指すショートカット(シンボリックリンク)に過ぎません。pwd -P を実行することで、実際に参照されている物理的な パス である /home/user/documents が表示されます。

4. mkdir コマンド:ディレクトリの作成

mkdir (Make Directory) コマンドは、新しいフォルダ(ディレクトリ)を作成するために使用されます。

4.1 基本的な使い方

新しい ディレクトリ を作成するには、mkdir の後に希望する名前を入力します。

mkdir directory_name

現在の ワーキングディレクトリ 下に my_new_directory というフォルダが作成されます。

4.2 よく使われるオプション

  • -p: (Parents) 必要に応じて親 ディレクトリ も作成します。指定した親階層が存在しない場合、mkdir -p はそれらを自動的に一括作成し、エラーを出しません。
  • -v: (Verbose) 冗長モード。各 ディレクトリ を作成する際、進捗を画面に出力します。
  • -m: (Mode) 作成と同時に権限(パーミッション)レベルを設定します(例:mkdir -m 755 directory_name)。

4.3 インスタンス・デモンストレーション

通常のディレクトリを作成:

mkdir my_new_directory

複数のディレクトリを一括作成:

mkdir dir1 dir2 dir3

一度に3つの ディレクトリ を生成します。

ネストされた親子ディレクトリを必要に応じて作成:

mkdir -p /path/to/new/directory

もし /path/to/new という階層が存在しない場合、このコマンドは自動的に /path/path/to/path/to/new を順次作成し、最後にターゲットの directory を作成します。

特定の権限を付与してディレクトリを作成:

mkdir -m 755 my_directory

作成と同時に、権限を 755(8進数形式)に設定します。

5. rm コマンド:ファイルとディレクトリの削除

rm (Remove) コマンドはファイルや ディレクトリ を削除するために使用されます。Linux において削除されたファイルは通常、復元できません(ゴミ箱がありません)。使用には細心の注意を払ってください。

5.1 基本的な使い方

ファイルを削除するには、rm の後にファイル名を入力します。

rm file_name

現在の ディレクトリ から myfile.txt が永久に抹消されます。

5.2 よく使われるオプション

  • -r または -R: (Recursive) リカーシブ(再帰的)削除。ディレクトリ 全体とその中身すべてを削除する際に使用します。
  • -f: (Force) 強制削除。存在しないファイルを無視し、確認プロンプトを表示しません。
  • -i: (Interactive) 対話モード。削除の実行前に、毎回確認を求めます。
  • -v: (Verbose) 冗長モード。削除されているファイル名を画面に表示します。

5.3 インスタンス・デモンストレーション

単一ファイルの削除:

rm myfile.txt

複数ファイルの削除:

rm file1.txt file2.txt file3.txt

ディレクトリとその中身をリカーシブに削除:

rm -r my_directory

危険操作アラート: このコマンドは、my_directory とそこに含まれるすべてのファイル、サブディレクトリを完全に破壊します。

確認なしでファイルを強制削除:

rm -f myfile.txt

書き込み権限がないファイルであっても(その親ディレクトリに書き込み権限があれば)、警告なしで削除します。

対話的な安全削除:

rm -i file1.txt file2.txt

システムが一つずつ削除の可否を確認してきます。y (yes) または n (no) を入力して確定します。

詳細な削除プロセスを表示:

rm -v myfile.txt