ls、pwd、cp、chmod。どれも似て見えて、なかなか覚えられませんよね?
ただ、例えば、cpはcopy、mvはmove、rmはremoveと考えると、できることを思い出しやすくなります。
この記事では、よく使うLinuxコマンド50個を、名前の由来と一緒に紹介します。
Linuxコマンドは意味から覚えると分かりやすい¶
Linuxコマンドを、意味のない文字列として丸暗記する必要はありません。
元になった英語と、実際に使う場面を結びつけると覚えやすくなります。
例えば、次の3つを見てみましょう。
| コマンド | 元になった言葉 | できること |
|---|---|---|
ls |
list | ファイルやディレクトリを一覧表示する |
cd |
change directory | 作業するディレクトリを移動する |
pwd |
print working directory | 現在いる場所を表示する |
cdはディレクトリをchangeするコマンド、pwdはworking directoryをprintするコマンドです。
awkのように開発者の名字から付いたものや、grepのように昔のエディタの操作が名前の由来になったものもあります。
コマンド名と役割を結びつけることが大切です。
Linuxコマンドの基本的な書式¶
一覧を見る前に、コマンドの基本的な形を確認しておきましょう。
Linuxコマンドは、主にコマンド名、オプション、引数で構成されます。
ls -la /var/log
この例を分けると、以下のようになります。
| 部分 | 内容 |
|---|---|
ls |
実行するコマンド |
-la |
表示方法を変えるオプション |
/var/log |
操作対象となる引数 |
まずは何ができるのかを知り、オプションは必要になったときに調べれば大丈夫です。
ファイルとディレクトリを操作するコマンド20個¶
最初に、Linuxを使うときによく登場するファイル操作のコマンドを紹介します。
| コマンド | 意味・由来 | 主な用途 |
|---|---|---|
pwd |
print working directory | 現在いるディレクトリを表示する |
ls |
list | ファイルやディレクトリを一覧表示する |
cd |
change directory | ディレクトリを移動する |
mkdir |
make directory | ディレクトリを作成する |
rmdir |
remove directory | 空のディレクトリを削除する |
touch |
touch | ファイルの日時を更新し、空ファイルも作成する |
cp |
copy | ファイルやディレクトリをコピーする |
mv |
move | ファイルの移動や名前変更を行う |
rm |
remove | ファイルやディレクトリを削除する |
cat |
concatenate | ファイルを連結して表示する |
less |
moreに対する名前 | 長いファイルを前後に移動しながら読む |
head |
head | ファイルの先頭部分を表示する |
tail |
tail | ファイルの末尾部分を表示する |
find |
find | 条件を指定してファイルを検索する |
grep |
g/re/pが由来 |
文字列やパターンを検索する |
sed |
stream editor | 文字列の置換や行の編集を行う |
awk |
3人の開発者の名字 | 列の抽出や集計などを行う |
wc |
word count | 行数、単語数、文字数を数える |
diff |
difference | 2つのファイルの違いを表示する |
tar |
tape archive | 複数のファイルを1つにまとめる |
catは見るだけのコマンドではない¶
catは、ファイルの中身を表示するコマンドとして覚えることが多いです。
しかし、名前はconcatenate、つまり連結するという意味から来ています。
cat file1.txt file2.txt
このコマンドでは、2つのファイルを続けて表示します。
長いログを読む場合はlessの方が見やすいです。
grepは英単語の略ではない¶
grepは、文字列を検索するときに使う重要なコマンドです。
grep "error" /var/log/app.log
名前は、古いテキストエディタで正規表現に一致する行を表示するg/re/pという操作が由来とされています。
実際には、必要な行を絞り込むコマンドと覚えておけば十分です。
権限とユーザーを操作するコマンド10個¶
続いて、ファイルの権限やLinuxユーザーに関係するコマンドです。
| コマンド | 意味・由来 | 主な用途 |
|---|---|---|
chmod |
change mode | ファイルやディレクトリの権限を変更する |
chown |
change owner | 所有者を変更する |
chgrp |
change group | 所有グループを変更する |
sudo |
superuser doと覚える | 管理者権限でコマンドを実行する |
su |
substitute user | 別のユーザーへ切り替える |
passwd |
password | パスワードを変更する |
id |
identity | ユーザーIDや所属グループを表示する |
whoami |
who am I | 現在のユーザー名を表示する |
useradd |
user add | ユーザーを作成する |
userdel |
user delete | ユーザーを削除する |
chmod、chown、chgrpは、どれもchangeのchから始まります。
その後ろに、mode、owner、groupが付いていると考えると整理しやすいです。
chmod 644 sample.txt
chown user1 sample.txt
chgrp developers sample.txt
sudoを付けた権限変更は影響が大きいため、実行前に対象を確認してください。
プロセスとシステムを確認するコマンド10個¶
Linuxサーバーの状態確認や、障害調査で使うコマンドです。
| コマンド | 意味・由来 | 主な用途 |
|---|---|---|
ps |
process status | 実行中のプロセスを表示する |
top |
上位の処理を表示 | CPUやメモリ使用状況を確認する |
kill |
kill | プロセスへ終了などのシグナルを送る |
free |
free memory | メモリの使用量と空き容量を表示する |
df |
disk free | ファイルシステムの空き容量を表示する |
du |
disk usage | ファイルやディレクトリの使用量を表示する |
uname |
Unix name | カーネルやシステム情報を表示する |
hostnamectl |
hostname control | ホスト名やOS情報を確認・変更する |
systemctl |
system control | systemdのサービスを管理する |
journalctl |
journal control | systemdのログを表示する |
dfとduは、どちらもディスク容量を確認するコマンドです。
ただし、確認する対象が異なります。
df -h
du -sh /var/log
dfはファイルシステム全体、duは指定したファイルやディレクトリの使用量を確認します。
ディスク不足では、まずdfで全体を確認し、duで容量を使う場所を探します。
systemctlはサービス管理でよく使う¶
現在のLinuxでは、サービス管理にsystemctlを使います。
systemctl status nginx
sudo systemctl restart nginx
statusは状態確認、restartは再起動です。
statusやrestartも一緒に覚えると実務で使いやすくなります。
ネットワークで使うコマンド10個¶
最後に、Linuxのネットワーク確認やファイル転送で使うコマンドです。
| コマンド | 意味・由来 | 主な用途 |
|---|---|---|
ip |
Internet Protocol | IPアドレスや経路などを確認・設定する |
ss |
socket statistics | ポートやソケットの状態を表示する |
ping |
音波探知のpingが由来 | 宛先から応答があるか確認する |
traceroute |
trace route | 宛先までの経路を確認する |
curl |
URLを扱うクライアント | HTTPなどでデータを送受信する |
wget |
Web getと覚える | Web上のファイルを取得する |
ssh |
secure shell | 暗号化してリモート接続する |
scp |
secure copy | SSHを使ってファイルを転送する |
rsync |
remote synchronization | 差分を利用してファイルを同期する |
dig |
domain information groper | DNSへ問い合わせる |
以前は、IPアドレスの確認にifconfig、通信状態の確認にnetstatがよく使われていました。
現在は、ipやssを先に覚えるのがおすすめです。
ip address
ip route
ss -lnt
古い手順書ではifconfigやnetstatも登場します。
Linuxコマンドを覚える3つのコツ¶
しかし、一度にすべて覚える必要はありません。
英語の意味と一緒に覚える¶
cpをcopy、mvをmove、rmをremoveと結びつけます。
意味から覚えると、似たコマンドも整理しやすくなります。
目的ごとにまとめて覚える¶
ファイルを操作したいときはls、cd、cp、mv、rm。
サーバーの状態を確認したいときはps、top、free、df。
使う場面ごとに覚える方が、実践で思い出しやすくなります。
実際に入力して覚える¶
私もLinuxを覚えたときは、一覧を眺めるだけではなかなか定着しませんでした。
エンジニアとして10年以上Linuxを使っていますが、今でも細かいオプションはmanや--helpで確認します。
man ls
ls --help
大切なのは、すべてを暗記することではありません。
よく使うコマンドは手を動かして身につけ、細かいオプションは必要なときに調べられる状態を目指しましょう。
Linuxコマンドの覚え方は、Linuxコマンドを効率よく覚える方法でも詳しく解説しています。
Linuxコマンドの意味一覧まとめ¶
lsはlist、cdはchange directory、pwdはprint working directoryと意味を知るだけでも、覚えやすさが変わります。
語源より、どの場面で使うのかを理解することが大切です。
次の基本コマンドを試してみてください。
pwd
ls -la
cd /tmp
touch sample.txt
cat sample.txt
環境構築をせずにコマンドを試したい方は、ブラウザでLinuxを使える無料サイトも参考にしてください。
Linuxコマンドを実際に練習したい方へ¶
InfraAcademyでは、ブラウザ上でLinuxコマンドを実行できます。
Linuxの基本操作から学びたい方は、Linux入門講座を確認してみてください。
問題を解きながら練習したい方は、Linuxコマンド100本ノックもおすすめです。
