Linuxのコマンドラインは、しばしばターミナルやシェルと呼ばれ、Linuxオペレーティング・システムの心臓部であり、魂です。比類のないコントロールと柔軟性を提供し、ユーザーは単純なファイル管理から複雑なシステム管理まで、幅広いタスクを実行できる。グラフィカル・ユーザー・インターフェース(GUI)がユーザー・フレンドリーなポイント・アンド・クリック操作を提供する一方で、コマンドラインはLinuxユーザー、特にパワー・ユーザーやシステム管理者にとって不可欠なツールであり続けている。この記事では、一般的なLinuxコマンドの包括的なガイドとして、その使い方を説明し、実用的な例を提供する。
1. ファイルシステムのナビゲーション:
-
pwd (作業ディレクトリを印刷する): 現在いるディレクトリを表示する。
pwd /home/user/documents
-
cd (ディレクトリを変更する): 現在のディレクトリを変更する。
cd /home/user/downloads cd .. (ディレクトリを1つ上げる) cd ~ (ホームディレクトリへ移動) cd - (前のディレクトリへ移動)
-
ls (list): 現在のディレクトリにあるファイルとディレクトリを一覧表示する。
ls ls -l (長いリスト、パーミッションやサイズなどの詳細を表示 ls -a (隠しファイルと隠しディレクトリを表示) ls -t (更新時間順にソート)
2. ファイル操作:
-
cp (copy): ファイルやディレクトリをコピーする。
cp file.txt new_file.txt cp -r directory/ new_directory/ (再帰的にコピーする)
-
mv (move): ファイルやディレクトリの移動や名前の変更。
mv file.txt new_location/ mv file.txt new_file.txt (ファイル名を変更)
-
rm (remove): ファイルやディレクトリを削除する。
rm file.txt rm -r directory/ (再帰的に削除する) rm -f file.txt (強制削除、プロンプトなし) *注意して使用すること!*
-
mkdir (make directory): 新規ディレクトリを作成する。
mkdir new_directory
-
rmdir (remove directory): 空のディレクトリを削除する。
rmdir empty_directory
-
touch: 空のファイルを作る。
touch new_file.txt
3. ファイル閲覧:
-
cat (concatenate): ファイルの内容を表示する。
cat file.txt cat file1.txt file2.txt (複数ファイルの内容を表示)
-
less: ファイルを1ページずつ表示します。大きなファイルに便利です。スクロールと検索が可能。
less file.txt
-
head: ファイルの先頭数行を表示する。
head -n 10 file.txt (先頭10行を表示)
-
tail: ファイルの最後の数行を表示する。
tail -n 5 file.txt (最後の5行を表示) tail -f file.txt (ファイルをたどり、新しい行が追加されるたびに表示する)
4. 検索とフィルター:
-
grep (global regular expression print): ファイルのパターンを検索する。
grep "pattern" file.txt grep -i "pattern" file.txt (大文字/小文字を区別しない検索) grep -r "pattern" directory/ (ディレクトリ内の再帰検索)
-
find: 様々な条件に基づいてファイルを検索。
find . -name "file.txt" (現在のディレクトリとサブディレクトリからfile.txtを見つける) find . -type d -name "my_directory" ("my_directory"という名前のディレクトリを探す)
-
wc (word count): ファイルの行数、単語数、文字数を数える。
wc file.txt
5. システムの情報とプロセス:
-
uname: システム情報を表示。
uname -a (全ての情報を表示する) uname -r (カーネルリリースを表示)
-
df (disk free): ディスクの使用量を表示する。
df -h (人間可読フォーマット)
-
du (disk usage): ファイルとディレクトリのディスク使用量を表示する。
du -sh directory/ (ディレクトリのディスク使用量を人間可読フォーマットで要約します)
-
top: 実行中のプロセスとシステムリソースの使用状況をリアルタイムで表示します。
-
ps (process status): 現在実行中のプロセスをリストする。
ps aux
-
kill: プロセスを終了する。
kill PID (ここで、PIDはプロセスIDである)
6. ネットワーク管理:
-
ping: ホストへのネットワーク接続性をテストする。
ping google.com
-
ifconfig (or ip): ネットワークインターフェースの表示と設定を行う。ipはより現代的なコマンドである。
ifconfig eth0 ip addr show
-
netstat (or ss): ネットワーク接続とリスニングポートを表示する。ssの方が新しく、好ましいコマンドである。
netstat -tulnp ss -tulnp
7. その他の必須コマンド:
-
man (manual): コマンドのマニュアルページを表示する。
man ls
-
echo: ターミナルにテキストを出力する。
echo "Hello, World!"
-
date: 現在の日時を表示する。
-
cal (calendar): カレンダーを表示。
-
clear: ターミナル画面をクリアする。
-
history: 過去に実行したコマンドを表示する。
-
!n: 履歴からn番目のコマンドを繰り返す。(例: !12は12番目のコマンドを繰り返す)
-
sudo (superuser do): root 権限でコマンドを実行します。注意して使用してください!
sudo apt update (パッケージリストを更新、root権限が必要)
8. シェルスクリプト:
個々のコマンドだけでなく、Linuxコマンドラインの真の威力はシェルスクリプトにある。シェルスクリプトは、自動的に実行できる一連のコマンドを含むファイルである。これにより、複雑なタスクの自動化やLinux環境のカスタマイズが可能になる。
まとめ:
この包括的なガイドは、最も一般的に使用されるLinuxコマンドの多くをカバーしています。これらのコマンドをマスターすることで、パワフルで柔軟なコンピューティング体験への扉が開かれます。コマンドラインを理解することで、Linuxシステムを完全にコントロールし、その真の可能性を引き出すことができます。manコマンドを活用して各コマンドの全機能を調べ、シェルスクリプトの世界を掘り下げて、さらに大きな制御と効率を得ることを忘れないでください。Linuxコマンドラインを使いこなすには、継続的な学習と探求が鍵となります。