Complete Guide to Practical Linux Commands
はじめに
history
コマンドの履歴を見返してみて、自分が頻繁に使用しているコマンドをまとめてみることにしました。
※mdファイルをそのままコピペしたものです。見づらかったらすみません
## ファイル操作
ls -la # 隠しファイルを含む詳細なリスト表示
pwd # 現在のディレクトリを表示
cd - # 直前にいたディレクトリに戻る
cp -r # ディレクトリをコピー(再帰的)
mv # ファイル/ディレクトリの移動・名前変更
rm -rf # ディレクトリを強制削除(注意して使用)
mkdir -p # 親ディレクトリも含めて作成
## ファイル検索・内容表示
find . -name "*.txt" # 現在のディレクトリ以下からtxtファイルを検索
find . -mtime -7 # 7日以内に変更されたファイル
find . -size +100M # 100MB以上のファイル
find . -perm 644 # パーミッションが644のファイル
grep -r "検索語" . # 現在のディレクトリ以下のファイルから文字列を検索
grep -i "WORD" # 大文字小文字の区別をしない
grep -l # ファイル名のみ表示
grep -C 3 # マッチした部分の前後3行表示
locate ファイル名 # データベースからファイルを高速検索
head -n 10 # 先頭10行を表示
tail -f # ファイルの末尾を監視(ログ確認などに)
less # ファイルを閲覧(スペースで次ページ、qで終了)
## システム情報
top # プロセス状況をリアルタイム表示
htop # topの高機能版(要インストール)
ps aux # 実行中のプロセス一覧
ps aux --sort=-%cpu # CPU使用率順にソート(メモリの場合は-%mem)
df -h # ディスク使用量を人間が読みやすい形で表示
du -sh * # 各ファイル/ディレクトリのサイズを表示
free -h # メモリ使用状況を表示
uname -a # システム情報を表示
## ネットワーク関係
ip a # ネットワークインターフェース情報
ss -tuln # 待ち受けポートの確認
ping # 疎通確認
traceroute # 経路追跡
nslookup # DNS情報の確認
wget URL # ファイルのダウンロード
curl URL # HTTP/HTTPS リクエスト
## プロセス監視
systemctl status サービス名 # サービスの状態確認
journalctl -xe # システムログの確認
kill PID # プロセスの終了
killall プロセス名 # 指定した名前のプロセスをすべて終了
## 圧縮・解凍
tar -czvf 圧縮.tar.gz ディレクトリ # gzipで圧縮
tar -xzvf 圧縮.tar.gz # gzip解凍
zip -r 圧縮.zip ディレクトリ # ZIP圧縮
unzip 圧縮.zip # ZIP解凍
## テキスト処理
cat file1 file2 # ファイルの連結・表示
sort # ソート
uniq # 重複行の削除
wc -l # 行数のカウント
sed 's/old/new/g' # 文字列置換
awk '{print $1}' # テキスト処理
## Linuxショートカット
Ctrl + R # コマンド履歴の検索
Ctrl + A # 行頭へ移動
Ctrl + E # 行末へ移動
Ctrl + U # カーソルから行頭まで削除
Ctrl + K # カーソルから行末まで削除
Ctrl + L # 画面のクリア
## ターミナルショートカット
Ctrl+Shift+C # 選択範囲コピー
Ctrl+Shift+V # 選択範囲貼り付け
## その他の便利なショートカット
history # コマンド履歴の表示
```
!1999 or !1999:p # 1999を再実行(pは再確認)
!! # 直前コマンド実行
!-n # n個前のコマンド実行
!hoge # 'hoge'で始まる最も新しいコマンドを再実行
```
alias # エイリアスの設定・表示
watch コマンド # コマンドの定期実行と結果表示
tee # 標準出力とファイルの両方に出力
xargs # 標準入力を引数として実行
## 組み合わせ
find . -type f -name "*.log" | xargs grep "error" # すべてのlogファイルからerrorを検索
ps aux | grep apache | grep -v grep # apacheプロセスを検索
du -sh * | sort -hr # ディレクトリサイズを大きい順に表示
まとめ
historyを見返してみると、意外と使用するコマンドは限られていることに気がつきました。また、同じコマンドでも、特定のオプションの組み合わせをよく使用していることも分かりました。
このリストは、私の実際の業務での使用履歴から抽出したものなので、完全な網羅性があるわけではありません。
皆さんも一度自身のhistory
を確認してみると、意外な発見があるかもしれませんね。
ぜひ、自分なりのコマンド使用パターンを確立してみてくださいませ。
おわり