よく使うUNIXコマンド50選|初心者から上級者まで役立つ一覧

先生

ターミナルは冒険の扉!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環境での作業効率が大幅に向上します。ぜひ、日々の開発や運用に役立ててください。