Bashワンライナーは、シンプルな一行で強力な処理を行うことができる便利なコマンド群です。特にプログラマーやシステム管理者にとって、これらのワンライナーを駆使することで、日常のタスクやデータ処理を効率化できます。この記事では、初心者にも理解しやすい便利なBashワンライナーコマンドを50紹介します。これらのコマンドを使いこなすことで、効率的にシステム操作やファイル編集を行う力が身につくでしょう。
- 1. 特定の単語を含む行を抽出する
- 2. ログファイルのリアルタイム監視
- 3. 特定のディレクトリ以下のファイル数をカウントする
- 4. 大文字と小文字を逆転する
- 5. 環境変数を確認する
- 6. 重複行を削除する
- 7. ファイルの行数をカウントする
- 8. 通信状態を継続的に監視する
- 9. ディスク使用量を表示する
- 10. 現在のディレクトリのファイル一覧を表示する
- 11. 指定範囲の行を抽出する
- 12. ファイルをバイナリ検索
- 13. カレントディレクトリのパスを表示する
- 14. ファイルの先頭n行を表示する
- 15. ファイルの末尾からn行を表示する
- 16. ファイル内の単語をカウントする
- 17. バックグラウンドジョブをリストする
- 18. ディレクトリ間の差分を確認する
- 19. プロセスのメモリ使用量を確認する
- 20. ファイルの末尾に新しいテキストを追記する
- 21. コマンドの出力をファイルに保存する
- 22. 圧縮された.tar.gzファイルを解凍する
- 23. ファイルの中身をページ単位で表示する
- 24. 全コマンド履歴を表示する
- 25. ZIPファイルを作成する
- 26. テキストの文字数をカウントする
- 27. ファイルから空行を削除する
- 28. ファイルのアクセス権を変更する
- 29. 現在のシステム利用者を表示する
- 30. ソート済みのファイルを逆順で表示する
- 31. 全てのネットワークインターフェースを見る
- 32. 現在の日付と時刻を表示する
- 33. システムの稼働時間を確認する
- 34. プロセスを終了する
- 35. ZIPファイルを解凍する
- 36. ハードディスクの空き容量を確認する
- 37. 環境変数を設定する
- 38. 特定のポートでリスニングしているプロセスを確認
- 39. ファイルの内容を逆順表示
- 40. ファイルの各単語の出現回数を数える
- 41. OSの名称とバージョンを確認する
- 42. ファイルをコピーする
- 43. ディレクトリを削除する
- 44. 自動補完可能なコマンドを確認する
- 45. ファイルの所有者を変更する
- 46. IPアドレスを確認する
- 47. システムのプロセス情報を表示する
- 48. 特定のファイルタイプのみをリストアップ
- 49. パターンでファイルを置き換える
- 50. ftpでのファイル転送
1. 特定の単語を含む行を抽出する
grep '検索ワード' ファイル名
指定したファイルから特定の単語を含むすべての行を表示します。これは、ログファイルやテキストファイルから必要な情報を素早く抜き出すのに便利です。
2. ログファイルのリアルタイム監視
tail -f /var/log/syslog
tail -f
コマンドは、指定したファイルの最後の部分を表示し続けます。サーバーのログが更新されるとリアルタイムで確認できます。
3. 特定のディレクトリ以下のファイル数をカウントする
find ディレクトリ名 -type f | wc -l
指定したディレクトリ以下に存在するすべてのファイルの数をカウントします。
4. 大文字と小文字を逆転する
tr 'a-z' 'A-Z' < 入力ファイル > 出力ファイル
指定のファイル内のすべての小文字を大文字に変換します。逆にしたい場合は'A-Z' 'a-z'
とします。
5. 環境変数を確認する
printenv
現在のシェルに設定されているすべての環境変数を表示します。
6. 重複行を削除する
sort ファイル名 | uniq
指定したファイルの内容をソートして重複行を取り除きます。
7. ファイルの行数をカウントする
wc -l ファイル名
指定したファイルの行数をカウントし、その数を表示します。
8. 通信状態を継続的に監視する
ping -c 5 google.com
指定したホストにパケットを送り、送受信できるかを確認します。このコマンドは指定回数パケットを送信し終えると終了します。
9. ディスク使用量を表示する
du -sh ディレクトリ名
ディレクトリ内のディスク使用量を人間が読みやすい形式で表示します。
10. 現在のディレクトリのファイル一覧を表示する
ls -lh
現在のディレクトリ内のファイルとその詳細をリストアップします。
11. 指定範囲の行を抽出する
sed -n '5,10p' ファイル名
指定したファイルの5行目から10行目までを表示します。
12. ファイルをバイナリ検索
hexdump -C ファイル名
指定したファイルをバイナリ形式で表示します。デバッグやバイナリファイルの解析に役立ちます。
13. カレントディレクトリのパスを表示する
pwd
現在作業しているディレクトリのフルパスを表示します。
14. ファイルの先頭n行を表示する
head -n 10 ファイル名
指定したファイルの先頭からn行を表示します。
15. ファイルの末尾からn行を表示する
tail -n 10 ファイル名
指定したファイルの末尾からn行を表示します。
16. ファイル内の単語をカウントする
wc -w ファイル名
指定したファイル内の単語数をカウントします。
17. バックグラウンドジョブをリストする
jobs
現在のセッションで実行中のバックグラウンドジョブのリストを表示します。
18. ディレクトリ間の差分を確認する
diff -r ディレクトリ1 ディレクトリ2
2つのディレクトリを比較し、異なるファイルの差分を表示します。
19. プロセスのメモリ使用量を確認する
ps aux --sort=-%mem | head
システム上で実行中のプロセスをメモリ使用量でソートし、上位のプロセスを表示します。
20. ファイルの末尾に新しいテキストを追記する
echo "追記する内容" >> ファイル名
指定したファイルの末尾に新しい文字列を追加します。
21. コマンドの出力をファイルに保存する
コマンド > 出力ファイル
指定したコマンドの出力をファイルに保存します。すでにファイルが存在する場合、上書きされます。
22. 圧縮された.tar.gzファイルを解凍する
tar -xvzf ファイル名.tar.gz
指定した圧縮ファイルを解凍し、中身を展開します。
23. ファイルの中身をページ単位で表示する
less ファイル名
指定したファイルの中身をページ単位で表示し、スクロールして閲覧可能です。
24. 全コマンド履歴を表示する
history
過去に実行したコマンドの履歴をリスト表示します。
25. ZIPファイルを作成する
zip 圧縮後ファイル名.zip ファイル名
指定したファイルを圧縮してZIP形式のファイルを作成します。
26. テキストの文字数をカウントする
wc -m ファイル名
指定したファイル内の文字数をカウントします。
27. ファイルから空行を削除する
grep -v '^$' ファイル名 > 新しいファイル名
指定したファイルから空行をすべて削除し、新しいファイルに保存します。
28. ファイルのアクセス権を変更する
chmod 755 ファイル名
ファイルのアクセス権を変更します。ここでは、所有者に読み書き実行、グループとその他のユーザーに読み実行権限を与えます。
29. 現在のシステム利用者を表示する
who
現在ログイン中のすべてのユーザーを表示します。
30. ソート済みのファイルを逆順で表示する
sort -r ファイル名
指定したファイルの内容を逆順にソートして表示します。
31. 全てのネットワークインターフェースを見る
ifconfig -a
システム上に存在するすべてのネットワークインターフェースの設定状況を表示します。
32. 現在の日付と時刻を表示する
date
システムの現在の日付と時刻を表示します。
33. システムの稼働時間を確認する
uptime
システムがどのくらいの期間稼働しているかを表示します。
34. プロセスを終了する
kill プロセスID
指定したプロセスIDのプロセスを終了します。
35. ZIPファイルを解凍する
unzip ファイル名.zip
指定したZIPファイルを解凍します。
36. ハードディスクの空き容量を確認する
df -h
システム上のディスク使用状況と空き容量を人間が読みやすい形式で表示します。
37. 環境変数を設定する
export 環境変数名=値
新しい環境変数を定義し、シェルとそのすべての子プロセスで利用できるようにします。
38. 特定のポートでリスニングしているプロセスを確認
lsof -i:ポート番号
指定したポート番号でリスニングしているプロセスを表示します。
39. ファイルの内容を逆順表示
tac ファイル名
指定したファイルの内容を行単位で逆順に表示します。
40. ファイルの各単語の出現回数を数える
tr -s ' ' '\n' < ファイル名 | sort | uniq -c | sort -nr
ファイル内の各単語の出現頻度をカウントし、多い順にソートして表示します。
41. OSの名称とバージョンを確認する
uname -a
システムのOS情報を表示します。
42. ファイルをコピーする
cp 元ファイル名 コピー先ファイル名
指定したファイルをコピーします。
43. ディレクトリを削除する
rm -r ディレクトリ名
指定したディレクトリとその中身すべてを削除します。
44. 自動補完可能なコマンドを確認する
compgen -c | more
シェルで利用可能な自動補完可能なコマンドのリストをページごとに表示します。
45. ファイルの所有者を変更する
chown 所有者:グループ ファイル名
指定したファイルの所有者とグループを変更します。
46. IPアドレスを確認する
hostname -I
システムのIPアドレスをすべて表示します。
47. システムのプロセス情報を表示する
top
システム上で動作しているプロセスをリアルタイムで表示し、そのCPU使用率などを確認できます。
48. 特定のファイルタイプのみをリストアップ
find . -type f -name "*.txt"
現在のディレクトリ以下から、特定の拡張子を持つファイル(ここでは.txt)のみをリストアップします。
49. パターンでファイルを置き換える
sed -i 's/旧パターン/新パターン/g' ファイル名
指定したファイル内で、指定したパターンをすべて置き換えます。
50. ftpでのファイル転送
ftp ユーザー名@ホスト
ftpプロトコルを使って、リモートホストにファイルを転送するためのセッションを開始します。
これらのBashワンライナーは、初心者から中級者まで幅広いユーザーに役立つよう設計されています。ワンライナーを使いこなせば、シェルから多くのタスクを素早く処理でき、効率的な作業が可能になります。ぜひ試してみてください!
コメント