目次
はじめに
Linuxコマンドでは、rm -rfやls -laといったオプション付きのコマンドをよく目にします。最初は呪文のように感じて丸暗記しようとしましたが、すぐに忘れてしまい困っていました。
調べてみると、これらのオプションは英単語の略称で、元の意味を知ると格段に覚えやすくなることが分かりました。
今回は、Linuxコマンドのオプションを効率的に覚えるコツについて、備忘録としてまとめます。
Linuxコマンドのオプションとは
オプション(コマンドの動作を変更する追加指示)は、コマンドの後ろに-(ハイフン)を付けて指定します。例えば、lsコマンドは通常ファイルの一覧を表示しますが、ls -lとすると詳細情報も表示されるようになります。
# 基本的なファイル一覧表示
ls
# 詳細情報も含めた表示
ls -l
オプションは1文字のものが多く、複数のオプションを組み合わせて使用できます。ls -l -aはls -laのようにまとめて書けます。
なぜ略称の意味を知ることが重要なのか
オプションの多くは英単語の頭文字です。元の英単語を知ることで、以下のメリットがあります。
- 意味と機能が結びつくので記憶に定着しやすい
- 初めて見るオプションでも推測できるようになる
- 似たようなオプションを混同しにくくなる
例えば、-fが「Force(強制)」の略だと分かれば、「警告を無視して実行する」という機能であることが理解できます。
よく使うオプションと元の英単語
よく使われるオプションと、その元となる英単語をまとめます。
【-r : Recursive(再帰的に)】
フォルダの中身を含めて、すべてのファイルやサブフォルダに対して処理を行います。
# ディレクトリごとコピー
cp -r src_folder dest_folder
# ディレクトリごと削除
rm -r old_folder
「再帰的」という言葉は難しく感じますが、「フォルダの中身も全部」と理解すれば大丈夫です。
【-f : Force(強制的に)】
確認メッセージを表示せず、強制的に実行します。削除時によく使われます。
# 確認なしで削除
rm -f file.txt
【-a : All(すべて)】
隠しファイル(ドットで始まるファイル)も含めて、すべてのファイルを対象にします。
# 隠しファイルも表示
ls -a
通常は表示されない.gitignoreや.envといった設定ファイルも確認できます。
【-l : Long(長く)】
ファイルの詳細情報を表示します。パーミッション(アクセス権限)やファイルサイズ、更新日時などが見られます。
# 詳細情報付きで表示
ls -l
【-h : Human-readable(人間が読みやすく)】
ファイルサイズをKB(キロバイト)やMB(メガバイト)など、読みやすい単位で表示します。
# サイズを読みやすく表示
ls -lh
# ディスク使用量を確認
df -h
-hなしだと「10485760」のようにバイト単位で表示されますが、-hを付けると「10M」のように表示されて分かりやすくなります。
【-p : Parents(親階層も)】
深い階層のディレクトリを一度に作成します。途中の階層が存在しなくても自動的に作られます。
# 複数階層のディレクトリを一度に作成
mkdir -p project/src/components
このコマンドは、project、src、componentsの3つのディレクトリを順番に作成してくれます。
【-v : Verbose(饒舌に)】
処理の内容を詳しく表示します。何が実行されているのか確認したい時に便利です。
# 削除内容を表示しながら実行
rm -v file.txt
# コピー内容を表示しながら実行
cp -v source.txt dest.txt
| オプション | 元の英単語 | 意味 | よく使うコマンド |
|---|---|---|---|
| -r | Recursive | 再帰的に(フォルダの中身ごと全部) | rm -r, cp -r |
| -f | Force | 強制的に(警告を無視して実行) | rm -rf |
| -a | All | すべて(隠しファイルも含める) | ls -a |
| -l | Long | 長く(詳細な情報を表示) | ls -l |
| -h | Human-readable | 人間が読みやすく(KBやMB単位) | ls -lh, df -h |
| -p | Parents | 親階層も(深い階層を一気に作る) | mkdir -p |
| -v | Verbose | 饒舌に(処理内容を表示) | rm -v, cp -v |
セットで覚える実践的な組み合わせ
個別のオプションを覚えるよりも、よく使う組み合わせを1つのセットとして覚えると実践的です。
【rm -rf】
「中身ごと(r)強制削除(f)」の最強削除コマンドです。ディレクトリとその中のすべてのファイルを確認なしで削除します。
# ディレクトリごと完全削除
rm -rf node_modules
開発中にnode_modulesフォルダを削除する際などによく使われます。
【ls -la】
「詳細(l)をすべて(a)表示」するファイル確認の基本セットです。隠しファイルも含めた詳細情報が一度に確認できます。
# 隠しファイルも含めた詳細一覧
ls -la
プロジェクトのルートディレクトリで実行すると、.gitや.envなどの設定ファイルも確認できます。
【mkdir -p】
深いディレクトリ構造を一度に作成します。Webアプリケーションの開発でフォルダ構成を整える時などに便利です。
# 複数階層を一気に作成
mkdir -p public/images/icons
| コマンド | 意味 | 用途 |
|---|---|---|
| rm -rf | 中身ごと(r)強制削除(f) | ディレクトリとその中身を確認なしで削除 |
| ls -la | 詳細(l)をすべて(a)表示 | 隠しファイルも含めた詳細情報を確認 |
| mkdir -p | 親階層も作成(p) | 深いディレクトリ構造を一度に作成 |
コマンド名も英単語で理解する
オプションだけでなく、コマンド名自体も英単語の略称です。元の意味を知ると、何をするコマンドなのかが明確になります。
-
ls= List(一覧表示) - ファイルやディレクトリの一覧を見る -
cp= Copy(コピー) - ファイルやディレクトリをコピーする -
mv= Move(移動) - ファイルを移動させる、または名前を変更する -
rm= Remove(削除) - ファイルやディレクトリを削除する -
pwd= Print Working Directory(作業ディレクトリを表示) - 今いる場所のパスを表示する -
cd= Change Directory(ディレクトリを変更) - 別のディレクトリに移動する -
cat= Concatenate(連結) - ファイルの内容を表示する、または複数ファイルを結合する
これらを英単語として理解すると、初めて見るコマンドでも「何をするものか」が推測しやすくなります。
| コマンド | 元の英単語 | 意味 |
|---|---|---|
| ls | List | ファイルやディレクトリの一覧を表示 |
| cp | Copy | ファイルやディレクトリをコピー |
| mv | Move | ファイルを移動、または名前を変更 |
| rm | Remove | ファイルやディレクトリを削除 |
| pwd | Print Working Directory | 今いる場所のパスを表示 |
| cd | Change Directory | 別のディレクトリに移動 |
| cat | Concatenate | ファイルの内容を表示、または結合 |
まとめ
Linuxコマンドのオプションは、元の英単語を理解し、よく使う組み合わせをセットで覚えると効率的に習得できます。すべてを暗記するのではなく、調べ方も含めて身につけることが実践的です。