Linux チートシート
ファイル操作
-
ls -la詳細 ↓ファイル一覧を詳細表示する
-
cd <dir>詳細 ↓ディレクトリを移動する
-
mkdir -p <dir>詳細 ↓ディレクトリを作成する
-
rm -rf <path>詳細 ↓ファイルやディレクトリを削除する
-
cp -r <src> <dest>詳細 ↓ファイルやディレクトリをコピーする
-
mv <src> <dest>詳細 ↓移動または名前変更する
-
ln -s <target> <link>詳細 ↓シンボリックリンクを作成する
権限操作
-
chmod <mode> <file>詳細 ↓アクセス権限を変更する
-
chown <user>:<group> <file>詳細 ↓所有者を変更する
検索・加工
-
grep -r "pattern" <dir>詳細 ↓文字列を検索する
-
find <path> -name <pattern>詳細 ↓ファイルを検索する
-
sed 's/old/new/g' <file>詳細 ↓ストリームエディタで置換する
-
awk '{print $1}'詳細 ↓テキストを整形・抽出する
-
tail -f <file>詳細 ↓ファイルの末尾を監視する
アーカイブ
-
tar -czvf <archive> <dir>詳細 ↓ファイルを圧縮・解凍する
-
rsync -av <src> <dest>詳細 ↓高度なファイル同期・コピー
プロセス管理
-
ps aux詳細 ↓実行中のプロセスを表示する
-
kill <pid>詳細 ↓プロセスを終了させる
-
top / htop詳細 ↓システムリソース状況を監視する
-
lsof -i :<port>詳細 ↓開いているファイルを表示する
インフラ・管理
-
df -h詳細 ↓ディスク容量を確認する
-
du -sh <dir>詳細 ↓ディレクトリ容量を確認する
-
free -h詳細 ↓メモリ使用状況を確認する
-
systemctl status <service>詳細 ↓サービスの状態を確認・操作する
-
journalctl -u <service>詳細 ↓サービスのログを確認する
-
ufw allow <port>詳細 ↓ファイアウォールを設定する
ネットワーク
-
curl <url>詳細 ↓URLへリクエストを送る
-
ssh <user>@<host>詳細 ↓リモートサーバーに接続する
その他
-
history詳細 ↓コマンド履歴を表示する
-
alias <name>='<command>'詳細 ↓コマンドの別名を作成する
コードをクリックでコピー / 詳細へスクロール
詳細リファレンス
ls -la
ファイル一覧を詳細表示する使用例
ls -la 解説
カレントディレクトリのファイルとディレクトリを、隠しファイル(.で始まる)含めて一覧表示します。権限、所有者、サイズ、更新日時などの詳細情報も同時に確認できます。
cd <dir>
ディレクトリを移動する使用例
cd /var/log 解説
カレントディレクトリ(作業フォルダ)を変更します。`cd ..` で一つ上の階層へ、`cd ~` でホームディレクトリへ素早く移動できます。
mkdir -p <dir>
ディレクトリを作成する使用例
mkdir -p project/src/assets 解説
新しいディレクトリを作成します。`-p` オプションを付けると、途中の階層が存在しない場合にそれらも自動的に作成してくれるため、エラーにならず便利です。
rm -rf <path>
ファイルやディレクトリを削除する使用例
rm -rf old_project 解説
ファイルやディレクトリを削除します。`-rf` は確認なしで再帰的に強制削除する強力なオプションなので、実行前にパスをよく確認する必要があります。
cp -r <src> <dest>
ファイルやディレクトリをコピーする使用例
cp -r /var/www/html /backup/html 解説
ファイルやディレクトリを複製します。`-r` オプションを付けることで、ディレクトリの中身も含めて再帰的に丸ごとコピーできます。
mv <src> <dest>
移動または名前変更する使用例
mv file.txt new_file.txt 解説
ファイルを移動したり、ファイル名を変更したりする際に使用します。Linuxでは「移動」と「名前変更」は同じ操作として扱われます。
ln -s <target> <link>
シンボリックリンクを作成する使用例
ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/ 解説
ファイルやディレクトリへの参照(ショートカットのようなもの)を作成します。`-s` オプションでシンボリックリンクとなり、実体を複製せずにパスを通せます。
chmod <mode> <file>
アクセス権限を変更する使用例
chmod 755 script.sh 解説
ファイルやディレクトリのアクセス権限(パーミッション)を変更します。755は所有者に全権限、その他に読み・実行権限を与える一般的な設定です。
chown <user>:<group> <file>
所有者を変更する使用例
chown www-data:www-data index.php 解説
ファイルやディレクトリの所有ユーザーと所有グループを変更します。Webサーバーの権限トラブルを解決する際などによく使用されます。
grep -r "pattern" <dir>
文字列を検索する使用例
grep -r "TODO" ./src 解説
ファイル内の文字列を検索します。`-r` でディレクトリ以下を再帰的に検索でき、ソースコード内の特定の関数やコメントを探すのに非常に便利です。
find <path> -name <pattern>
ファイルを検索する使用例
find . -name "*.log" 解説
条件に一致するファイルやディレクトリを検索します。名前だけでなく、更新日時やファイルサイズでの検索も可能で、管理作業に必須です。
sed 's/old/new/g' <file>
ストリームエディタで置換する使用例
sed -i 's/foo/bar/g' config.conf 解説
テキストデータをフィルタリング・変換します。`-i` オプションを使うと、ファイルの中身を直接書き換えて置換することができます。
awk '{print $1}'
テキストを整形・抽出する使用例
ps aux | awk '{print $2}' 解説
テキストを列ごとに処理する強力なツールです。ログファイルから特定の列だけを抽出したり、集計したりする際に非常に役立ちます。
tar -czvf <archive> <dir>
ファイルを圧縮・解凍する使用例
tar -czvf backup.tar.gz ./data 解説
複数のファイルをまとめてアーカイブ・圧縮します。`-czvf` で作成、`-xzvf` で解凍(展開)です。Linuxでのファイル配布やバックアップの標準形式です。
rsync -av <src> <dest>
高度なファイル同期・コピー使用例
rsync -avz /source/ /backup/ 解説
差分のみを転送する効率的なコピーコマンドです。ローカル間のバックアップはもちろん、SSH経由でのリモートサーバーとの同期にも最強のツールです。
tail -f <file>
ファイルの末尾を監視する使用例
tail -f /var/log/nginx/access.log 解説
ファイルの末尾を表示します。`-f` オプションを付けると、追記される内容をリアルタイムで表示し続けるため、ログの監視に最適です。
ps aux
実行中のプロセスを表示する使用例
ps aux | grep nginx 解説
システム上で実行されている全てのプロセスを詳細に表示します。CPUやメモリの使用状況を確認したり、特定のプロセスIDを調べる際に使用します。
kill <pid>
プロセスを終了させる使用例
kill 1234 解説
指定したプロセスID(PID)のプログラムに終了シグナルを送ります。反応しない場合は `kill -9 <pid>` で強制終了させることができます。
top / htop
システムリソース状況を監視する使用例
top 解説
システム全体のCPU、メモリ使用率や、負荷の高いプロセスをリアルタイムで更新表示します。`htop` はよりカラフルで操作しやすい改良版です。
lsof -i :<port>
開いているファイルを表示する使用例
lsof -i :8080 解説
現在開かれているファイルやネットワーク接続を一覧表示します。特定のポートを使用しているプロセスを特定する際などによく使われます。
df -h
ディスク容量を確認する使用例
df -h 解説
ファイルシステムのディスク使用状況を表示します。`-h` オプションで「GB」や「MB」などの読みやすい単位で表示してくれます。
du -sh <dir>
ディレクトリ容量を確認する使用例
du -sh ./node_modules 解説
特定のディレクトリやファイルのディスク使用量を表示します。`-sh` で指定ディレクトリの合計サイズのみを簡潔に表示できます。
free -h
メモリ使用状況を確認する使用例
free -h 解説
システムの物理メモリとスワップ領域の使用状況を表示します。`-h` オプションで見やすい形式になります。
systemctl status <service>
サービスの状態を確認・操作する使用例
systemctl status nginx 解説
systemdで管理されるサービスの起動、停止、再起動、状態確認を行います。サーバー構築やトラブルシューティングで頻繁に使用するコマンドです。
journalctl -u <service>
サービスのログを確認する使用例
journalctl -u nginx -f 解説
systemdが管理するジャーナルログを表示します。`-u` でサービス指定、`-f` で追跡表示ができ、エラー原因の調査に役立ちます。
ufw allow <port>
ファイアウォールを設定する使用例
ufw allow 80/tcp 解説
Ubuntuなどで標準的に使われるファイアウォールの設定ツールです。ポートの開放やブロックを簡単なコマンドで管理できます。
curl <url>
URLへリクエストを送る使用例
curl -I https://google.com 解説
URLを指定してデータを送受信します。Webサイトの表示確認や、APIの動作確認、HTTPヘッダーのチェックなど、ネットワークデバッグの万能ツールです。
ssh <user>@<host>
リモートサーバーに接続する使用例
ssh user@192.168.1.10 解説
ネットワーク経由で他のコンピュータに安全にログインし、遠隔操作を行います。公開鍵認証の設定などを行うことで、セキュリティを高めることができます。
history
コマンド履歴を表示する使用例
history | grep docker 解説
過去に実行したコマンドの履歴一覧を表示します。長いコマンドを再利用したい時や、以前実行した手順を思い出したい時に便利です。
alias <name>='<command>'
コマンドの別名を作成する使用例
alias ll='ls -la' 解説
長いコマンドや頻繁に使うオプションの組み合わせに、短い別名を付けます。`.bashrc` などに記述して永続化することで作業効率が上がります。