【初心者向け】Linux コマンド一覧:知らないと損する基本操作と便利ツールまとめ

IT入門辞典

Linuxの世界に足を踏み入れると、最初に直面するのは「コマンドを知らないと何もできない」という恐怖です。実は、LinuxはCLI(コマンドライン)で動くシステムが多いので、コマンドを覚えることで作業効率が飛躍的に上がります。本記事では、初心者がまず押さえておきたい基本操作と、作業を楽にしてくれる便利ツールをまとめました。タイトルにあるように、知らずに損をしないために必ず覚えておきたいコマンド一覧を紹介します。


  1. 1. まずはファイル・ディレクトリ操作
    1. pwd で現在のディレクトリを確認
    2. ls でファイル一覧を確認
    3. cd でディレクトリを移動
    4. mkdir でフォルダ作成
    5. touch で空ファイル作成・更新時刻を最新に
    6. cp/mv/rm でコピー・移動・削除
  2. 2. システム情報を確認するコマンド
    1. uname でカーネル情報
    2. top/htop でリアルタイムプロセス監視
    3. free でメモリ使用量
    4. df でディスク使用状況
    5. du でディレクトリサイズ調査
  3. 3. ネットワーク関連
    1. ping で通信確認
    2. ifconfig/ip でネットワーク設定
    3. wget/curl でファイルをダウンロード
    4. nslookup/dig でDNS情報取得
  4. 4. プロセス管理
    1. ps でプロセスリスト
    2. kill/killall でプロセス終了
  5. 5. テキスト操作
    1. cat/tac/nl でファイル表示
    2. less/more でページング表示
    3. grep でキーワード検索
    4. sed/awk で行列変形
    5. sort/uniq でソート・重複削除
  6. 6. パッケージ管理
    1. Debian系(apt)
    2. RedHat系(yum / dnf)
    3. Arch系(pacman)
    4. パッケージの検索
  7. 7. ファイル・ディレクトリのパーミッション
    1. chmod で権限変更
    2. chown で所有者変更
    3. stat で詳細情報確認
  8. 8. リモート接続
    1. ssh でサーバへ接続
    2. scp でファイル転送
    3. rsync で差分同期
  9. 9. テキストエディタ – コマンドラインとGUI
  10. 10. シェルとスクリプト
    1. Bash スクリプト例
    2. 環境変数の取得/設定
    3. alias でコマンド短縮
  11. 11. 便利ツール集
  12. 12. よくある「初心者が抱える疑問」と回答
    1. Q1: sudo の意味は?
    2. Q2: パーミッションを「chmod 777」にしても大丈夫?
    3. Q3: 「cd ..」の意味は?
    4. Q4: && と || の違いは?
  13. 13. まとめ
  14. 関連記事

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 /
tigGitのターミナルビューアtig
fzffuzzy finder`find .
treeディレクトリツリー表示tree -L 2
batcat の代替、シンタックスハイライト付きbat README.md
rgripgrep、検索速度が速い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環境で「知らないと損する」基本操作と便利ツールを網羅できました。ぜひ各コマンドのオプションや詳細を調べながら、独自の作業フローを作ってみてください。頑張ってください!


Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント