シェル チートシート
検索・印刷できる Bash/シェルのリファレンス — ナビゲーション、ファイル、パイプ、変数、ループ、条件分岐、便利なワンライナー。無料。
ナビゲーション
8pwd
作業ディレクトリを表示
ls -la
全ファイルを詳細表示
cd /path
ディレクトリを移動
cd -
前のディレクトリへ移動
cd ~
ホームディレクトリへ移動
tree -L 2
ディレクトリツリーを表示 (2 階層)
pushd / popd
ディレクトリスタックを push/pop
ls -lhS
サイズ順に人間が読める形式で一覧
ファイルとディレクトリ
10touch file.txt
空のファイルを作成
mkdir -p a/b/c
ネストしたディレクトリを作成
cp -r src dest
再帰的にコピー
mv old new
移動または名前変更
rm -rf dir
再帰的に削除 (注意!)
ln -s target link
シンボリックリンクを作成
cat file.txt
ファイルの内容を表示
head -n 20 / tail -n 20
先頭 / 末尾 20 行
tail -f log.txt
増え続けるファイルを追従
less file.txt
ファイルをページ送りで表示
検索と探索
8grep 'pattern' file
ファイル内のパターンを検索
grep -rin 'text' .
再帰的、大文字小文字無視、行番号付き
find . -name '*.php'
名前でファイルを検索
find . -type f -mtime -1
過去 1 日に変更されたファイル
find . -size +10M
10 MB を超えるファイル
which node
実行ファイルの場所を特定
locate file.txt
インデックス DB で検索
grep -v 'skip' file
一致を反転 (行を除外)
テキスト処理
9wc -l file
行数を数える
sort file | uniq -c
ソートして重複を数える
cut -d',' -f1 file
CSV の列を抽出
awk '{print $1}' file
最初のフィールドを表示
sed 's/old/new/g' file
テキストを置換
tr 'a-z' 'A-Z'
文字を変換
diff a.txt b.txt
2 つのファイルを比較
tee out.txt
ファイルと stdout に書き込む
xargs -I{} cmd {}
入力からコマンドを構築
パイプとリダイレクト
9a | b
a の出力を b にパイプ
cmd > file
stdout をリダイレクト (上書き)
cmd >> file
stdout をリダイレクト (追記)
cmd 2> err.log
stderr をリダイレクト
cmd > out 2>&1
両方のストリームをリダイレクト
cmd < input.txt
ファイルから stdin を読む
cmd1 && cmd2
cmd1 が成功した場合のみ cmd2 を実行
cmd1 || cmd2
cmd1 が失敗した場合のみ cmd2 を実行
cmd &
バックグラウンドで実行
権限と所有者
8chmod 755 file
所有者に rwx、その他に rx を設定
chmod +x script.sh
ファイルを実行可能にする
chmod -R 644 dir
再帰的に権限を変更
chown user:group file
所有者とグループを変更
umask 022
デフォルトの権限マスク
sudo cmd
root としてコマンドを実行
stat file
ファイルのメタデータを表示
ls -l file
権限ビットを表示
プロセスとシステム
9ps aux
実行中のプロセス一覧
top / htop
プロセスのライブ監視
kill -9 PID
プロセスを強制終了
pkill -f name
名前でプロセスを終了
jobs / fg / bg
バックグラウンドジョブを管理
df -h
ディスク使用量
du -sh dir
ディレクトリのサイズ
free -h
メモリ使用量
uname -a
システムとカーネル情報
変数と展開
9NAME='value'
変数を設定 (スペースなし)
echo \"$NAME\"
変数を使用
export PATH=\"$PATH:/x\"
子プロセスにエクスポート
$(command)
コマンド置換
${VAR:-default}
未設定時のデフォルト
$1 $2 $@
スクリプトの位置引数
$?
最後のコマンドの終了ステータス
read -p 'Name: ' x
ユーザー入力を読む
echo {1..5}
ブレース展開
スクリプティング
9#!/usr/bin/env bash
シバン行
set -euo pipefail
より安全な厳格モード
if [ -f file ]; then ...; fi
ファイルテストによる条件分岐
[ \"$a\" = \"$b\" ]
文字列の比較
for f in *.txt; do ...; done
ファイルをループ
while read line; do ...; done < file
ファイルを 1 行ずつ読む
case \"$x\" in a) ...;; esac
多方向分岐
function greet() { echo hi; }
関数を定義
trap cleanup EXIT
終了時にハンドラを実行
「:q」に一致する項目はありません。
お困りですか?
このツールで問題が見つかりましたか?チームにお知らせください。