Linux Command Cheatsheet

Linux でよく使うコマンドを、「やりたいこと」「カテゴリ」ごとに眺められるチートシートです。まずはファイル・ディレクトリ操作が中心ですが、今後、検索・アーカイブ・権限などにも広げていける前提の枠組みになっています。

カテゴリ

ファイル・ディレクトリ

lsファイルやディレクトリの中身を一覧表示

ls [オプション] [ディレクトリ名・ファイル名...]

安全度: 低(閲覧・確認中心)

指定ディレクトリ(省略時はカレントディレクトリ)の中身を一覧表示します。ファイルを指定した場合は、そのファイル情報を表示します。

#一覧#確認#ファイル#ディレクトリ
# カレントディレクトリの中身を一覧表示する
ls
# ファイルタイプを表す記号(/ * @ など)を付けて表示する
ls -F
# 隠しファイル(.から始まるファイル)も含めて表示する
ls -a
# 所有者やパーミッションなど詳細情報を含めて表示する
ls -l
# logs/ ディレクトリ配下ではなく、logs/ 自身の情報だけを表示する
ls -ld logs/
touch空ファイルを作成 / タイムスタンプ更新

touch [オプション] ファイル名A [ファイル名B...]

安全度: 低(閲覧・確認中心)

指定ファイルが存在しない場合は新しく作成し、存在する場合は最終更新時刻などのタイムスタンプを更新します。

#作成#ファイル#タイムスタンプ
# example.txt がなければ作成し、あれば更新時刻のみ変更する
touch example.txt
# example.txt のアクセス日時のみ変更する(修正時刻は変更しない)
touch -a example.txt
# exampleA.txt のタイムスタンプを exampleB.txt にコピーする
touch -r exampleA.txt exampleB.txt
# example.txt のタイムスタンプを指定した日時に変更する
touch -d '2025-12-06 19:04' example.txt
mkdirディレクトリを階層ごと作成

mkdir [オプション] ディレクトリ名...

安全度: 低(閲覧・確認中心)

指定したディレクトリを作成します。-p を付けることで、中間ディレクトリが存在しなくてもまとめて作成できます。-m でパーミッション(アクセス権)を指定できます。

#作成#ディレクトリ
# カレントディレクトリに work ディレクトリを作成する
mkdir work
# 中間ディレクトリが存在しなくてもまとめて作成する
mkdir -p logs/app/2025/12
# パーミッション 755 を指定してディレクトリを作成する
mkdir -m 755 public_html
cpファイル / ディレクトリをコピー

cp [オプション] コピー元 コピー先

安全度: 中(状態が変わる操作)

ファイルやディレクトリをコピーします。-i で上書き前に確認し、-r でディレクトリを再帰的にコピーします。-a で属性を保ったままコピーできます。

#コピー#バックアップ
# config.yml をバックアップファイルにコピーする(上書き前に確認する)
cp -i config.yml config.yml.bak
# app.log.bak が存在しても確認なしで上書きコピーする
cp -f app.log app.log.bak
# ディレクトリ src/ を再帰的に src_backup/ へコピーする
cp -r src/ src_backup/
# 所有者やタイムスタンプなどの属性を保持したまま /var/www/ をコピーする
cp -a /var/www/ /var/www_bak/
mvファイル / ディレクトリの移動・リネーム

mv [オプション] 移動元ファイル名やディレクトリ名 移動先ファイル名やディレクトリ名

安全度: 中(状態が変わる操作)

ファイルやディレクトリを移動したり、名前を変更します。-i で上書き前に確認し、-f で確認なしに上書きします。

#移動#リネーム
# app.log を app_old.log にリネームする(既存ファイルがあれば確認あり)
mv -i app.log app_old.log
# logs/app.log が存在しても確認なしで上書き移動する
mv -f app.log logs/app.log
rmファイルやディレクトリを削除(確認付き推奨)

rm [オプション] ファイル名やディレクトリ名...

安全度: 高(慎重に実行)

ファイルやディレクトリを削除します。-i を付けると削除前に確認プロンプトが表示されます。-r はディレクトリを再帰的に削除します。強制削除(-f)や再帰削除(-r)は誤操作が致命的になりやすいため注意が必要です。

#削除#注意#危険
# app.log を削除する前に確認する(対話的な削除。推奨)
rm -i app.log
# app.log を確認なしで削除する(誤操作に注意)
rm -f app.log
# logs/ ディレクトリと配下のファイル・ディレクトリを再帰的に削除する
rm -r logs/
fileファイルの種類を判定

file [オプション] ファイル名...

安全度: 低(閲覧・確認中心)

指定したファイルがテキストなのか、バイナリなのか、どのような形式かを中身から判定します。拡張子だけでは分からない場合に便利です。

#確認#判定#MIME
# app.json のファイル種別を確認する
file app.json
# バイナリファイルの種類をざっくり確認する
file image.bin
# exampleDir/ がディレクトリとして認識されているか確認する
file exampleDir/
# app.json の種別を MIME タイプで表示する
file -i app.json

アーカイブ・圧縮

tarディレクトリを .tar / .tar.gz などで圧縮 / 展開

tar [オプション] アーカイブ名 [対象ファイルやディレクトリ...]

安全度: 中(状態が変わる操作)

tar は複数ファイルやディレクトリをまとめてアーカイブするコマンドです。-c で作成、-x で展開、-t で一覧表示、-f でアーカイブファイル名を指定します。-z/-j/-J で各種圧縮形式(gzip/bzip2/xz)を利用します。

#圧縮#解凍#バックアップ
# fileA と fileB を archive.tar にまとめる
tar -cf archive.tar fileA fileB
# archive.tar の内容を一覧表示する
tar -tf archive.tar
# archive.tar の内容を詳細付きで一覧表示する
tar -tvf archive.tar
# archive.tar をカレントディレクトリに展開する
tar -xf archive.tar
# project/ を gzip 圧縮(.tar.gz)でアーカイブする。v は処理中のファイル名を表示する
tar -czvf project.tar.gz project/
# project/ を bzip2 圧縮(.tar.bz2)でアーカイブする
tar -cjvf project.tar.bz2 project/
# project/ を xz 圧縮(.tar.xz)でアーカイブする
tar -cJvf project.tar.xz project/

検索

findファイル検索(名前 / 種別 / サイズ)

find パス [条件式] [アクション]

安全度: 低(閲覧・確認中心)

ディレクトリ配下を再帰的に探索し、条件に合うファイルやディレクトリを検索します。-name で名前パターン、-type で種別、-size でサイズ条件を指定できます。

#検索#再帰#ログ調査
# カレント配下から、名前が front_app のファイルやディレクトリを検索する
find . -name front_app
# 100MB を超える大きなログファイルを /var/log 配下から探す
find /var/log -type f -size +100M
# カレント配下から node_modules ディレクトリを検索する
find . -type d -name 'node_modules'

権限

chmodファイルやディレクトリの権限を変更する

chmod [モード] ファイル名やディレクトリ名...

安全度: 中(状態が変わる操作)

ファイルやディレクトリのパーミッション(権限)を変更します。数値モード(755 など)や記号モード(u+rwx, go-rwx など)で指定します。

#パーミッション#権限#実行権限
# deploy.sh に実行権限を追加する
chmod +x deploy.sh
# 所有者に r/w/x、グループとその他に r/x を付与する(実行可能スクリプトにする)
chmod 755 script.sh
# /srv/project 配下を再帰的に、所有者フル権限・グループ読み書き実行・その他アクセス不可に変更する
chmod -R 750 /srv/project
# www ディレクトリを 755 相当の権限に記号モードで設定する
chmod u=rwx,go=rx www

リンク

lnシンボリックリンクを作成

ln -s 実体パス リンク名

安全度: 中(状態が変わる操作)

実体ファイルやディレクトリへのシンボリックリンク(別名)を作成します。リンクを削除しても実体は残ります。

#リンク#パス整理#ショートカット
# /var/www/app から /opt/app/current へのシンボリックリンクを作成する
ln -s /opt/app/current /var/www/app
# ~/bin/mytool から実体コマンド mytool へのリンクを作成する
ln -s /usr/local/bin/mytool ~/bin/mytool