
ターミナルは冒険の扉!50個のUNIXコマンドをマスターして、自由自在にシステムを操ろう!
はじめに:UNIXコマンドとは?
UNIXコマンドは、UNIX系OS(Linux、macOSなど)で利用できる、ファイル操作、プロセス管理、テキスト処理などを行うための命令群です。コマンドラインインターフェース(CLI)を通じて、キーボードからコマンドを入力し、OSに指示を与えます。初心者から上級者まで、UNIXコマンドを使いこなすことで、効率的な作業が可能になります。
この記事では、UNIXコマンドの中でも特によく使うものを50個厳選し、初心者にもわかりやすく解説します。これらのコマンドをマスターすれば、日々の作業効率が格段に向上するでしょう。
基本操作:ファイルとディレクトリ
ファイルやディレクトリの操作は、UNIXコマンドの基本です。まずは、これらのコマンドを覚えましょう。
1. ls: ディレクトリの内容を表示します。
ls
2. pwd: 現在のディレクトリを表示します。
pwd
3. cd: ディレクトリを移動します。
cd /path/to/directory
4. mkdir: 新しいディレクトリを作成します。
mkdir new_directory
5. rmdir: 空のディレクトリを削除します。
rmdir empty_directory
6. touch: 空のファイルを作成します。
touch new_file.txt
7. cp: ファイルまたはディレクトリをコピーします。
cp source_file destination_file
8. mv: ファイルまたはディレクトリを移動またはリネームします。
mv old_name new_name
9. rm: ファイルを削除します。
rm file_to_delete
10. find: ファイルを検索します。
find . -name "*.txt"
11. du: ディレクトリのディスク使用量を表示します。
du -sh directory_name
テキスト処理
UNIXコマンドは、テキスト処理にも非常に強力です。ログファイルの解析や、データの抽出などに役立ちます。
12. cat: ファイルの内容を表示します。
cat file.txt
13. head: ファイルの先頭部分を表示します。
head -n 10 file.txt
14. tail: ファイルの末尾部分を表示します。
tail -n 10 file.txt
15. less: ファイルをページ単位で表示します。
less file.txt
16. grep: ファイルからパターンに一致する行を検索します。
grep "pattern" file.txt
17. sed: ストリームエディタ。テキストの置換などに使用します。
sed 's/old_text/new_text/g' file.txt
18. awk: テキスト処理ツール。複雑なデータ処理に便利です。
awk '{print $1}' file.txt
19. sort: ファイルの内容をソートします。
sort file.txt
20. uniq: 重複する行を削除します。
uniq file.txt
21. wc: ファイルの行数、単語数、バイト数をカウントします。
wc file.txt
22. cut: ファイルから特定のフィールドを抽出します。
cut -d',' -f1 file.csv
23. paste: 複数のファイルを結合します。
paste file1.txt file2.txt
プロセス管理
UNIXコマンドを使って、プロセスの管理も可能です。プログラムの実行状況を確認したり、不要なプロセスを終了させたりすることができます。
24. ps: 現在実行中のプロセスを表示します。
ps aux
25. top: システム全体の状況をリアルタイムで表示します。
top
26. kill: プロセスを終了します。
kill process_id
27. killall: 指定した名前のプロセスをすべて終了します。
killall process_name
28. bg: バックグラウンドでプロセスを実行します。
command &
29. fg: バックグラウンドのプロセスをフォアグラウンドに戻します。
fg
30. jobs: 現在実行中のジョブを表示します。
jobs
31. nohup: ログアウト後もプロセスを実行し続ける。
nohup command &
ネットワーク
ネットワークに関する情報を取得したり、ネットワーク経由でファイルを転送したりするコマンドもよく使います。
32. ping: ネットワーク接続を確認します。
ping google.com
33. netstat: ネットワーク接続の状態を表示します。
netstat -an
34. ssh: リモートホストに接続します。
ssh user@remote_host
35. scp: リモートホストとの間でファイルをコピーします。
scp user@remote_host:/path/to/file local_path
36. wget: Webサイトからファイルをダウンロードします。
wget https://example.com/file.txt
37. curl: Webサイトからデータを取得します。
curl https://example.com
システム管理
システムの情報を確認したり、ユーザー管理を行うコマンドです。
38. df: ディスクの空き容量を表示します。
df -h
39. free: メモリの使用状況を表示します。
free -m
40. uname: カーネルの情報を表示します。
uname -a
41. whoami: 現在のユーザー名を表示します。
whoami
42. sudo: 管理者権限でコマンドを実行します。
sudo command
43. passwd: ユーザーのパスワードを変更します。
passwd
44. history: コマンド履歴を表示する。
history
その他便利なコマンド
上記以外にも、覚えておくと便利なコマンドがあります。
45. alias: コマンドに別名をつけます。
alias la='ls -la'
46. tar: ファイルをアーカイブします。
tar -cvzf archive.tar.gz directory_to_archive
47. gzip: ファイルを圧縮します。
gzip file.txt
48. gunzip: 圧縮されたファイルを解凍します。
gunzip file.txt.gz
49. chmod: ファイルの権限を変更します。
chmod 755 file.txt
50. chown: ファイルの所有者を変更します。
chown user:group file.txt
参考リンク
まとめ
この記事では、よく使うUNIXコマンド50選を紹介しました。これらのコマンドをマスターすることで、UNIX環境での作業効率が大幅に向上します。ぜひ、日々の開発や運用に役立ててください。