Linuxの世界に足を踏み入れると、最初に直面するのは「コマンドを知らないと何もできない」という恐怖です。実は、LinuxはCLI(コマンドライン)で動くシステムが多いので、コマンドを覚えることで作業効率が飛躍的に上がります。本記事では、初心者がまず押さえておきたい基本操作と、作業を楽にしてくれる便利ツールをまとめました。タイトルにあるように、知らずに損をしないために必ず覚えておきたいコマンド一覧を紹介します。
1. まずはファイル・ディレクトリ操作
pwd で現在のディレクトリを確認
$ pwd
/home/you/desktop
現在いる場所を確認すると、次に入力するパスを考えやすくなります。
ls でファイル一覧を確認
$ ls
file.txt script.sh folder
$ ls -l
-rw-r--r-- 1 you users 1022 Apr 10 12:45 file.txt
-l オプションは詳細表示(パーミッション・オーナー・サイズ・更新日時)。
-a を付けるとドットで始まる隠しファイルも表示されます。
cd でディレクトリを移動
$ cd folder
$ cd .. # 親フォルダへ戻る
$ cd - # 前のディレクトリへ戻る
mkdir でフォルダ作成
$ mkdir new_folder
複数階層を同時に作るときは -p を使います。
$ mkdir -p parent/child/grandchild
touch で空ファイル作成・更新時刻を最新に
$ touch newfile.txt
cp/mv/rm でコピー・移動・削除
$ cp file.txt backup.txt
$ mv file.txt new_location/file.txt
$ rm file.txt # 単体削除
$ rm -r folder # フォルダ削除(再帰的)
安全に削除するために -i(確認付き)を付けると良いです。
$ rm -i file.txt
2. システム情報を確認するコマンド
uname でカーネル情報
$ uname -a
Linux hostname 5.4.0-42-generic #46-Ubuntu SMP 2020-03-03 14:06:43 UTC x86_64 x86_64 x86_64 GNU/Linux
-r でカーネルバージョンのみ取得。
top/htop でリアルタイムプロセス監視
$ htop
htop はインタラクティブで見やすいので、ほとんどのディストリビューションでパッケージ管理から簡単にインストールできます。
free でメモリ使用量
$ free -h
-h は人が読みやすい単位(K, M, G)に変換。
df でディスク使用状況
$ df -h
マウントポイントごとに容量・使用率が表示されます。
du でディレクトリサイズ調査
$ du -sh * # カレントディレクトリ直下のサイズを一括で取得
$ du -sh folder/
-s はサマリー、-h は人が読みやすい単位。
3. ネットワーク関連
ping で通信確認
$ ping -c 4 google.com
-c は送信回数。タイムアウトや応答時間が確認できます。
ifconfig/ip でネットワーク設定
従来の ifconfig は非推奨になりつつあります。 ip を使う例:
$ ip addr show
$ ip link set eth0 up # インタフェースを有効化
wget/curl でファイルをダウンロード
$ wget http://example.com/file.tar.gz
$ curl -O http://example.com/file.tar.gz
curl はさらに高度なオプション(ヘッダー付与、POSTなど)を持っています。
nslookup/dig でDNS情報取得
$ nslookup example.com
$ dig example.com
4. プロセス管理
ps でプロセスリスト
$ ps aux
$ ps -ef
-aux は全ユーザー、詳細表示、-ef はPOSIX形式。
kill/killall でプロセス終了
$ kill 12345 # PIDに対して終了(シグナル1)
$ kill -9 12345 # 強制終了
$ killall firefox # 名前で終了
5. テキスト操作
cat/tac/nl でファイル表示
$ cat file.txt
$ tac file.txt # 逆順表示
$ nl file.txt # 行番号付き表示
less/more でページング表示
$ less bigfile.log
less は前後検索が可能で、ほぼ標準装備です。
grep でキーワード検索
$ grep 'error' log.txt
$ grep -i 'Error' log.txt # 大文字小文字無視
$ grep -r 'pattern' /etc # 再帰検索
オプションを組み合わせることで強力な検索が可能になります。
sed/awk で行列変形
sed(ストリームエディタ):$ sed -n '3p' file.txt # 3行目だけ表示 $ sed 's/old/new/g' file.txt # 置換awk(テキスト処理言語):$ awk '{print $1}' file.txt # 1列目だけ表示 $ awk '/pattern/ {print $2}' file.txt
sort/uniq でソート・重複削除
$ sort file.txt > sorted.txt
$ uniq sorted.txt # 重複行を削除
$ sort | uniq -c # 行数をカウント
-u オプションで重複行を削除した状態で並び替えることも可能です。
6. パッケージ管理
Debian系(apt)
$ sudo apt update # 取得リスト更新
$ sudo apt install curl # インストール
$ sudo apt remove curl # 削除
$ sudo apt upgrade -y # システム全体アップグレード
RedHat系(yum / dnf)
$ sudo dnf install vim
$ sudo dnf update
Arch系(pacman)
$ sudo pacman -Syu # システム更新
$ sudo pacman -S git # gitインストール
パッケージの検索
$ apt search python3
$ dnf search python3
$ pacman -Ss python3
7. ファイル・ディレクトリのパーミッション
chmod で権限変更
$ chmod u+x script.sh # 所有者に実行権限を付与
$ chmod 644 document.txt # rw-r--r--
$ chmod 755 -R bin/ # 再帰的に実行権限付与
chown で所有者変更
$ sudo chown you:users file.txt
stat で詳細情報確認
$ stat file.txt
8. リモート接続
ssh でサーバへ接続
$ ssh username@host.com
$ ssh -i ~/.ssh/id_rsa username@host.com
ポート指定は -p。
scp でファイル転送
$ scp localfile.txt user@remote:/path/
$ scp user@remote:/path/file.txt ./
rsync で差分同期
$ rsync -avz --progress ./folder/ user@remote:/backup/
9. テキストエディタ – コマンドラインとGUI
| エディタ | メリット | 代表的な利用ケース |
|---|---|---|
| Vim | カスタマイズ性とプラグイン環境 | 高度なテキスト操作 |
| Nano | シンプルで初心者に優しい | 簡易編集 |
| Emacs | 拡張性が非常に高い | LISPやプログラミング |
| VSCode(Remote-SSH) | GUIとCLIを統合 | 開発環境に統一感が欲しいとき |
10. シェルとスクリプト
Bash スクリプト例
#!/usr/bin/env bash
# Hello World スクリプト
echo "Hello, $USER!"
ファイルに保存したら chmod +x hello.sh で実行権限を付与し、 ./hello.sh で実行します。
環境変数の取得/設定
echo $HOME # 環境変数を見る
export MYVAR="abc" # 変数定義
.bashrc に永続的に設定したい変数を書き込むとログイン時に自動で設定されます。
alias でコマンド短縮
alias ll='ls -alFh'
.bashrc に書くと永続化されます。
11. 便利ツール集
| ツール | 役割 | 使い方の例 |
|---|---|---|
htop | プロセス監視 | htop |
ncdu | ディスク使用状況可視化 | ncdu / |
tig | Gitのターミナルビューア | tig |
fzf | fuzzy finder | `find . |
tree | ディレクトリツリー表示 | tree -L 2 |
bat | cat の代替、シンタックスハイライト付き | bat README.md |
rg | ripgrep、検索速度が速い | rg -i "TODO" . |
12. よくある「初心者が抱える疑問」と回答
Q1: sudo の意味は?
A: 「スーパーユーザー(root)権限で実行する」こと。管理者権限が必要な操作(パッケージインストール・設定変更)に使用します。
Q2: パーミッションを「chmod 777」にしても大丈夫?
A: それは誰でも読み書き実行できる状態です。一般的にセキュリティ上好ましくなく、必要に応じて細かく設定すべきです。
Q3: 「cd ..」の意味は?
A: 親ディレクトリへ一階層戻るための相対パス表現です。 cd /home で絶対パスも指定できます。
Q4: && と || の違いは?
A: && は左側が成功した場合のみ右側を実行、|| は左側が失敗した場合に右側を実行します。
13. まとめ
- 基本操作 (
ls,cd,mkdir,touch,cp,mv,rm) をまず把握する。 - システム情報 (
uname,top,free,df,du) を瞬時に確認できるように。 - ネットワーク (
ping,ip,wget,curl,nslookup) で接続状態を把握。 - テキスト (
grep,sed,awk,sort,uniq,less) でログや設定ファイルを効率的に扱える。 - パッケージ管理 (apt/yum/dnf/pacman) でソフトウェア環境を整える。
- 権限 (
chmod,chown,stat) でセキュリティを保ちながら操作。 - リモート (
ssh,scp,rsync) でマシン間の連携を円滑に。 - エディタ と スクリプト で自動化・作業効率化。
- 便利ツール(
htop,ncdu,fzf,tree,bat,rg) で可視化と高速化を実現。
Linuxで作業する際に「やりたいこと」が増えれば増えるほど、それに応じたコマンドを覚えておくと時間の大幅節約になります。初心者のうちは覚えたことを積み重ねながら、実際に手を動かしてみるのが一番です。手元にこのリストを貼り付けて、まずは ls, pwd, cd を使いこなさずに済む日が来るかもしれませんが、その頃にはきっともっと高度な操作も自然に行えるようになるでしょう!
これで初心者がLinux環境で「知らないと損する」基本操作と便利ツールを網羅できました。ぜひ各コマンドのオプションや詳細を調べながら、独自の作業フローを作ってみてください。頑張ってください!

コメント