InfraAcademy

InfraAcademy Blog

Linuxでよく使うコマンド40選!初心者向けに使い方と実行例をわかりやすく解説

| #Linux #Linux初心者 #コマンド

こんにちは、インフラエンジニアのryuです。

今回の記事では、Linuxでよく使うコマンドを40個紹介します。lspwdcdmkdirなどの基本操作から、ログ調査やサーバー管理で役立つコマンドまでまとめました。

Linuxを学び始めると、コマンドの多さに驚きませんか。参考書を開いても知らないコマンドが次々と出てきて、すべて暗記しなければいけないように感じる方もいると思います。

しかし、最初から全部を完璧に覚える必要はありません。よく使うコマンドを、使う場面と一緒に覚えることが大切です。

私はエンジニアとして10年ほどLinuxサーバーを扱ってきましたが、日常的に使うコマンドはある程度決まっています。まずはこの記事の40個を知り、その中でも自分がよく使うものから手を動かして覚えていきましょう。

Linuxコマンドとは?

Linuxコマンドとは、ターミナルやコンソールからLinuxへ指示を出すための文字列です。ファイルの作成、ディレクトリの移動、ログの検索、ネットワークの確認などを、キーボードだけで実行できます。

たとえば、現在のディレクトリにあるファイルを確認する場合は、次のように入力します。

ls

コマンドには、動作を変更するオプションや、操作対象を示す引数を付けられます。

ls -la /var/log

この例では、lsがコマンド、-laがオプション、/var/logが引数です。最初は難しく見えますが、コマンド・オプション・引数の順番を意識すると読みやすくなります。

Linuxでよく使うコマンド40個の一覧

まずは、この記事で紹介する40個を一覧で確認しておきましょう。役割ごとに分けると、何のために使うコマンドなのか整理しやすくなります。

分類 コマンド 主な用途
移動・確認 ls ファイルやディレクトリの一覧を表示する
移動・確認 pwd 現在いるディレクトリを表示する
移動・確認 cd 作業するディレクトリを移動する
ファイル操作 mkdir ディレクトリを作成する
ファイル操作 rmdir 空のディレクトリを削除する
ファイル操作 touch 空ファイルを作成する
ファイル操作 cp ファイルやディレクトリをコピーする
ファイル操作 mv ファイルを移動する、名前を変更する
ファイル操作 rm ファイルやディレクトリを削除する
ファイル操作 ln ハードリンクやシンボリックリンクを作る
内容確認 cat ファイルの内容を表示する
内容確認 less 長いファイルを1画面ずつ確認する
内容確認 head ファイルの先頭を表示する
内容確認 tail ファイルの末尾を表示する
検索・加工 grep 文字列を含む行を検索する
検索・加工 find ファイルやディレクトリを検索する
検索・加工 wc 行数、単語数、文字数を数える
検索・加工 sort 行を並べ替える
検索・加工 uniq 重複した行をまとめる
検索・加工 cut 指定した列を切り出す
検索・加工 awk 列単位で抽出や集計を行う
検索・加工 sed 文字列の置換や行の加工を行う
入出力 echo 文字列や変数の内容を表示する
入出力 tee 画面表示とファイル保存を同時に行う
プロセス ps 実行中のプロセスを確認する
プロセス top CPUやメモリの使用状況を確認する
プロセス kill プロセスへ終了などのシグナルを送る
システム free メモリの使用量を確認する
システム df ファイルシステムの空き容量を確認する
システム du ファイルやディレクトリの使用量を確認する
権限 chmod パーミッションを変更する
権限 chown 所有者や所有グループを変更する
圧縮・保存 tar 複数のファイルをまとめて保存・展開する
情報確認 date 日付と時刻を表示する
情報確認 history 過去に実行したコマンドを確認する
情報確認 man コマンドのマニュアルを表示する
ネットワーク ip IPアドレスや経路情報を確認する
ネットワーク ping 通信相手までの疎通を確認する
リモート操作 ssh 別のLinuxサーバーへ接続する
リモート操作 scp SSHを使ってファイルを転送する

一覧を見ただけでは、なかなか使い方までイメージできませんよね。ここからは、実際のコマンド例を交えながら用途別に解説します。

ディレクトリの移動と確認で使うLinuxコマンド

Linuxを操作するときは、今どこにいて、そこに何があるのかを確認するところから始まります。まずはpwdlscdの3つを覚えましょう。

pwd・ls・cdの基本

pwdは現在地、lsはディレクトリの中身を表示します。cdは作業するディレクトリを移動するコマンドです。

pwd
ls -la
cd /var/log

ls -laでは、隠しファイルを含む詳細情報を確認できます。1つ上へ戻る場合はcd ..、ホームディレクトリへ戻る場合はcd ~です。

実務では、対象ディレクトリへ移動したあとにpwdls -laを実行し、操作場所を確認します。単純ですが、別の場所にあるファイルを誤って変更する事故を防げます。

パスの考え方が不安な方は、【関連記事】Linuxの絶対パスと相対パスの違いも確認してみてください。

ファイルとディレクトリを操作するLinuxコマンド

次は、ファイルやディレクトリを作成、コピー、移動、削除するコマンドです。設定ファイルを扱うときにも欠かせません。

mkdir・rmdir・touchで作成する

mkdirはディレクトリ、touchは空ファイルを作成します。rmdirは空のディレクトリだけを削除できます。

mkdir -p practice/logs
touch practice/sample.txt
rmdir practice/logs

mkdir -pを使うと、途中のディレクトリもまとめて作成できます。

cp・mv・rmでコピー、移動、削除する

cpはコピー、mvは移動や名前変更、rmは削除に使います。

cp sample.txt sample.txt.bak
mv sample.txt practice.txt
rm practice.txt

私は本番サーバーの設定を変更する前に、cpでバックアップを取るようにしています。Linuxでは削除したファイルを簡単に元へ戻せないため、rm -rfは対象パスを確認してから実行してください

lnでリンクを作る

ln -sを使うと、別のファイルやディレクトリを参照するシンボリックリンクを作れます。

ln -s /var/log/nginx/access.log access.log

長いパスにあるファイルへ、短い名前でアクセスしたいときに便利です。

ファイルの内容を確認するLinuxコマンド

短いファイルと長いファイルでは、適した表示方法が異なります。catlessheadtailを使い分けましょう。

cat・less・head・tailの使い分け

catはファイル全体、lessは長い内容を1画面ずつ表示します。headは先頭、tailは末尾だけを確認するコマンドです。

cat /etc/hosts
less /var/log/messages
head -n 5 users.csv
tail -n 20 application.log

ログをリアルタイムで監視する場合はtail -f application.logを使います。終了するときはCtrl + Cを押してください。

文字列の検索と加工で使うLinuxコマンド

Linuxでは、複数のコマンドをパイプでつなぎ、必要な情報だけを取り出せます。検索と加工は、ログ調査で特によく使います。

grep・findで検索する

grepはファイルの中身、findはファイルやディレクトリそのものを検索します。

grep -n "ERROR" application.log
find /var/log -name "*.log"

詳しいオプションは、【関連記事】Linuxのgrepコマンドの使い方で解説しています。

wc・sort・uniqで数える

wc -lは行数を数えます。sortuniq -cを組み合わせると、同じ値の出現回数を集計できます。

cut -d ' ' -f 1 access.log | sort | uniq -c | sort -nr

この例では、アクセスログの1列目を取り出し、出現回数が多い順に表示します。

cut・awk・sedで加工する

cutは指定した列を切り出し、awkは条件指定や計算を行えます。sedは文字列の置換に向いています。

cut -d ',' -f 2 users.csv
awk -F ',' '$3 >= 80 {print $1, $3}' scores.csv
sed 's/old/new/g' sample.txt

awkを詳しく学びたい方は、【関連記事】Linuxのawkコマンドの使い方も参考にしてください。

画面出力とファイル保存で使うLinuxコマンド

echoは文字列や変数の内容を表示します。リダイレクトを使えば、表示内容をファイルへ保存できます。

echo "first line" > sample.txt
echo "second line" >> sample.txt

>は上書き、>>は末尾への追記です。既存ファイルへ>を使うと内容が消えるため注意してください。

teeは、結果を画面へ表示しながらファイルにも保存します。

ip addr | tee network-info.txt

標準入力と標準出力の仕組みは、Linuxの標準入力・標準出力を解説した記事で詳しく紹介しています。

プロセスとサーバーの状態を確認するLinuxコマンド

サーバーが重い、ディスク容量が少ないといった問題では、プロセスやリソースを確認します。

ps・top・killでプロセスを確認する

ps auxはプロセスの一覧、topはCPUやメモリの状態をリアルタイムで表示します。終了させる場合は、対象のプロセスIDを確認してkillを実行します。

ps aux | grep nginx
kill 1234

free・df・duで使用量を確認する

free -hはメモリ、df -hはファイルシステム全体の空き容量を表示します。大きなディレクトリを探す場合はdu -shが便利です。

free -h
df -h
du -sh /var/log/*

実務では、df -hで容量が少ない領域を見つけ、du -shで原因を絞り込みます。

権限変更とファイル保存で使うLinuxコマンド

chmod・chownで権限と所有者を変更する

chmodはパーミッション、chownは所有者や所有グループを変更します。

chmod 644 sample.txt
chown ryu:developers sample.txt

意味を理解せずに777を設定するのは避けましょう。必要なユーザーへ、必要な権限だけを与えることが基本です。

tarでファイルをまとめる

tarは複数のファイルをまとめて保存・展開するコマンドです。

tar -czf logs.tar.gz logs/
tar -xzf logs.tar.gz

設定ファイルやログをまとめて退避するときに使います。

日付・履歴・マニュアルを確認するLinuxコマンド

dateは日付と時刻、historyは過去に実行したコマンドを表示します。

date +%Y%m%d_%H%M%S
history | grep ssh

パスワードなどをコマンドへ直接書くと、履歴に残る可能性があるので注意してください。

使い方を忘れた場合は、man lsls --helpで確認できます。すべてを暗記するより、必要なときに調べられることの方が大切です。

ネットワークとリモート接続で使うLinuxコマンド

ip・pingでネットワークを確認する

ip addrはIPアドレス、ip routeは経路情報を表示します。pingは、通信相手まで疎通できるかを確認するコマンドです。

ip addr
ip route
ping -c 4 192.168.1.1

pingが成功しても、WebやSSHなど目的のサービスが利用できるとは限りません。ネットワーク調査の一段階として使いましょう。

ssh・scpでリモート操作する

sshは別のLinuxサーバーへ接続し、scpはSSHを利用してファイルを転送します。

ssh ryu@192.168.1.10
scp sample.txt ryu@192.168.1.10:/home/ryu/

接続先のIPアドレス、ユーザー名、転送先のパスを実行前に確認してください。

Linuxコマンドを効率よく覚える方法

40個を一度に暗記する必要はありません。使う目的とセットで、少しずつ覚えていきましょう。

作業の流れで覚える

ディレクトリを確認するならpwdls、ログを見るならtailgrep、容量を調べるならdfduというように組み合わせます。作業の流れに沿って使うと、コマンドが自然に定着します

補完と履歴を活用する

途中まで入力してTabキーを押すと、コマンドやファイル名を補完できます。上矢印キーを押せば、直前のコマンドを呼び出せます。

短時間でも実際に入力する

1日10分でもよいので、ディレクトリを作り、ファイルをコピーし、内容を検索してみてください。エンジニア歴が長くなっても、知らないオプションはその都度調べます。

Linuxのコマンドの使い方を学びたい方

Linuxのコマンドの使い方を学びたい方は、インフラ学習サイトのInfraAcademyがおすすめです。

InfraAcademyでは、Linuxが体系的に学習できます。ディレクトリとパス、ファイル操作、アクセス権限、Vim、ユーザー管理、ネットワークまで、実際にコマンドを入力しながら進められます。

👉Infra Academyのサイトを見る

ブラウザ上でコマンドを練習したい方は、Linuxのコマンド練習用サイトInfraAcademyの紹介も参考にしてください。

まとめ

今回は、Linuxでよく使うコマンドを40個紹介しました。

最初は、pwdlscdで現在地を確認し、mkdirtouchcpmvでファイルを操作するところから始めるのがおすすめです。その後、grepfindによる検索、psdfによるサーバーの状態確認へ進みましょう。

Linuxコマンドは、英単語のように一覧だけを丸暗記するものではありません。実際に困った場面で使い、結果を確認しながら少しずつ身につけるものです。

この記事の40個をすべて覚えることを最初の目標にせず、まずは今日3個だけ実行してみてください。その小さな積み重ねが、Linuxを自在に操作する力につながります。

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る