Linux の世界へようこそ!
初心者が最初に踏み出すべきは、コマンドライン(ターミナル)です。
ターミナルがあれば、GUI で操作できない細かい設定や自動化が可能になり、システム管理や開発が格段に効率化します。
本記事では、最も頻繁に使われる Linux コマンドを分かりやすく紹介し、実際に手を動かすためのサンプルコードやコツを交えて、コマンドライン操作をマスターする道筋を示します。
1. ターミナルを起動する
まずはターミナルを開くことから始めましょう。
- Ubuntu/Debian 系:
Ctrl+Alt+T - Fedora/RedHat 系:
Alt+F2→gnome-terminal - Mac (Git Bash など):
Terminal.app
ターミナルが開いたら、現在のディレクトリを確認するコマンドを試しましょう。
pwd
2. 基本ディレクトリとファイル操作
2.1 ディレクトリの移動
cd ~/Documents # ホーム配下の Documents に移動
cd .. # 親ディレクトリへ
cd ./folder # 相対パスで folder に移動
cd /usr/bin # 絶対パスで移動
ヒント
~は現在のユーザーのホームディレクトリを表します。
cd -を使うと直前のディレクトリに戻れます。
2.2 ファイル・ディレクトリ一覧
ls # カレントディレクトリのファイル一覧
ls -l # 詳細表示(権限・サイズ・日時)
ls -a # 隠しファイル (.dot ファイル) も表示
ls -R # 再帰的に全サブディレクトリも表示
2.3 ファイル・ディレクトリ作成
mkdir new_dir # ディレクトリ作成
mkdir -p parent/child # 親ディレクトリが無い場合は一括で作成
touch new_file.txt # 空ファイル作成
2.4 ファイルのコピー・移動・削除
| コマンド | 機能 | 例 |
|---|---|---|
cp |
コピー | cp src.txt dest.txt |
mv |
移動/名前変更 | mv oldname.txt newname.txt |
rm |
削除 | rm file.txt |
rm -r |
ディレクトリの削除 | rm -r mydir/ |
注意
rm -rは慎重に。誤ったデータ削除は元に戻せません。
3. テキストファイルを扱う
3.1 ファイル内容を見る
cat file.txt # そのまま内容を表示
less file.txt # ページャーで閲覧、`q` で終了
more file.txt # `less` に比べ機能が少ないが使える
head file.txt # 上部10行を表示
tail file.txt # 下部10行を表示
tail -f logfile.log # 継続的に新しい行を表示(監視)
3.2 テキスト検索
grep "検索ワード" file.txt
grep -i "Search" file.txt # 大文字小文字無視
grep -r "word" ./ # 再帰的に検索
grep -v "exclude" file.txt # 除外検索
パイプで組み合わせる
コマンドをつなげると強力です。
cat file.txt | grep "error" | wc -l
3.3 ファイルの行数・サイズ確認
wc -l file.txt # 行数
wc -w file.txt # 文字数
wc -c file.txt # バイト数
wc -m file.txt # 文字数(マルチバイト対応)
4. ファイル名や権限を理解する
4.1 権限を見る
ls -l file.txt
出力例:
-rw-r--r-- 1 user group 2048 Jul 12 10:32 file.txt
- 第1文字はファイルタイプ(d:ディレクトリ, -:通常ファイル)
- 9文字は権限(3 つの三文字ずつ)
4.2 権限を変更
chmod 755 script.sh # 所有者 rwx, グループ rx, その他 rx
chmod u+x myfile # 所有者に実行権限を追加
chmod -R 644 dir/ # ディレクトリとファイルを一括変更
4.3 所有者・グループを変更
chown user:user file.txt # 所有者とグループを同時に変更
chown user file.txt # 所有者のみ変更
5. シェルコマンドの便利な応用
5.1 変数と置換
MY_NAME="Alice"
echo "Hello, $MY_NAME!"
5.2 簡易的な if 文
if [ -f "$1" ]; then
echo "$1 is a file."
else
echo "$1 is not a file."
fi
5.3 for ループ
for FILE in *.txt; do
echo "Processing $FILE"
done
5.4 コマンド置換
CURRENT_BRANCH=$(git branch --show-current)
echo "Current branch: $CURRENT_BRANCH"
6. プロセス管理
6.1 現在動いているプロセスを見る
ps aux
6.2 プロセスを検索
ps aux | grep firefox
6.3 プロセスを終了
kill -9 12345 # PID を使って強制終了
pkill firefox # 名前で検索して終了
6.4 リソース使用情報
top # インタラクティブな監視
htop # より見やすいバージョン(インストールが必要)
7. ネットワーク関連コマンド
7.1 ホスト名・IP を確認
hostname
ifconfig # legacy
ip addr # 推奨
7.2 接続状況を確認
ping -c 4 google.com
traceroute google.com
7.3 端末からファイルを転送
scp localfile.txt user@remote:/path/
sftp user@remote # 対話型
rsync -avz file.txt user@remote:/path/
8. パッケージ管理
8.1 Debian 系
sudo apt update
sudo apt upgrade
sudo apt install curl
sudo apt remove curl
8.2 RedHat 系
sudo yum update
sudo yum install curl
sudo yum remove curl
8.3 Arch 系
sudo pacman -Syu
sudo pacman -S curl
sudo pacman -R curl
9. シェルスクリプトの作成と実行
9.1 スクリプトサンプル
#!/usr/bin/env bash
# hello.sh - こんにちはスクリプト
echo "Hello, $1!"
9.2 実行権限を付与
chmod +x hello.sh
9.3 スクリプトを実行
./hello.sh World
10. よくある質問(FAQ)
| 質問 | 回答 |
|---|---|
| ターミナルで「Permission denied」になるのはなぜ? | ファイルやディレクトリに適切な権限がない場合。sudo で管理者権限を使う、または chmod で権限を変更。 |
cd で移動した後にパスが覚えていない。 |
pwd で現在のディレクトリを確認、pwd の後に cd - で前の場所へ戻る。 |
tar で圧縮解凍する方法は? |
圧縮: tar -czvf archive.tar.gz dir/ 解凍: tar -xzvf archive.tar.gz |
grep で結果を新しいファイルに保存したい。 |
パイプでリダイレクト: grep "word" file.txt > result.txt |
top と htop の違いは? |
htop はカラーリングやマウス操作ができ、インタラクティブにプロセスを選択・操作しやすい。 |
ターミナルを開いたときにデフォルトのシェルが sh になっている。 |
/etc/passwd で設定を確認、chsh -s /bin/bash username で Bash に変更。 |
11. まとめ
Linux のコマンドラインは最初はとても広く感じるかもしれませんが、基本的な ファイル操作 → テキスト操作 → プロセス管理 → ネットワーク操作 → パッケージ管理 の順で学んでいけば、自然にスキルが積み上がります。
以下のポイントを意識して練習すると効率的です。
- 毎日少しずつ: 1 日 5 分、毎回同じコマンドを打ってみよう。
- 実際に作業: 例として自分のダウンロードフォルダを整理する、Git リポジトリをクローンする。
- エラーを恐れない:
sudo rm -rf /は絶対にしないようにする(危険)。エラーは学びのチャンス。 - マニュアルを読む:
man <command>でヘルプを確認。オンラインリファレンスも活用。 - ショートカット: ターミナルのショートカット(
Ctrl+Dで終了、Ctrl+Cで中断)を覚える。
これらを実践すれば、コマンドラインに対する自信を持てるようになります。
それでは、新しい Linux 環境での冒険をスタートしてください! 🚀

コメント