なぜLinuxコマンドの理解が重要なのか
LinuxはGUI(グラフィカルユーザーインターフェース)よりもCLI(コマンドラインインターフェース)を重視しています。CLIを使いこなすことで、
- システムの細かい設定や管理が可能になる
- 作業を自動化して効率化できる
- トラブルシューティング時に役立つ
といった利点があります。
主要なLinuxコマンドの一覧と役割
ファイル・ディレクトリ操作
ls
ディレクトリの内容を一覧表示
ls [オプション] [ディレクトリ名]例:
ls -l /home-l: 詳細な情報を表示(所有者、権限、サイズなど)
cd
ディレクトリの移動
cd [ディレクトリ名] 例:
cd /var/logcp
ファイルやディレクトリのコピー
cp [オプション] コピー元 コピー先例
cp file1.txt /backup-r: ディレクトリを再帰的にコピー
mv
ファイルやディレクトリの移動または名前変更
mv [オプション] 移動元 移動先例:
mv file1.txt file2.txtrm
ファイルやディレクトリの削除
rm [オプション] ファイル名例:
rm file1.txt-r: ディレクトリを再帰的に削除
mkdir
新しいディレクトリを作成
mkdir [オプション] ディレクトリ名例:
mkdir new_directoryrmdir
空のディレクトリを削除
rmdir ディレクトリ名例:
rmdir empty_directorytouch
空のファイルを作成またはファイルのタイムスタンプを更新
touch ファイル名例:
touch new_file.txtfile
ファイルの種類を確認
file ファイル名例:
file document.pdfファイル閲覧
cat
ファイル内容を表示
cat ファイル名例:
cat file1.txtless
ページ単位でファイル内容を閲覧。
上下両方向にスクロール可能で、柔軟にファイルを閲覧可能。
less ファイル名例:
less file1.txtmore
ページ単位でファイル内容を閲覧。
順番は先頭から。
スクロールは一方向(下方向)のみで、逆方向には戻れない。
more ファイル名例:
more file1.txthead
ファイルの先頭部分を表示
head [オプション] ファイル名例:
head -n 10 file1.txt-n: 表示する行数を指定
tail
ファイルの末尾部分を表示
tail [オプション] ファイル名例:
tail -n 10 file1.txt-f: ファイルの更新をリアルタイムで追跡
ファイル操作補助
nl
ファイルの各行に行番号を付与して表示
nl ファイル名例:
nl file1.txtod
ファイルの内容をバイナリや16進数で表示
od [オプション] ファイル名例:
od -x file1.txtcut
ファイルの特定の部分を抽出
cut [オプション] ファイル名例:
cut -f1 -d',' file1.csvpaste
複数のファイルを結合して表示
paste ファイル1 ファイル2例:
paste file1.txt file2.txttr
文字列の置換や削除
tr [置換元] [置換先]例:
echo "hello" | tr 'a-z' 'A-Z'sort
ファイルの行を並び替え
sort [オプション] ファイル名例:
sort file1.txtsplit
ファイルを分割
split [オプション] ファイル名例:
split -b 10k file1.txtuniq
重複した行を削除
uniq [オプション] ファイル名例:
sort file1.txt | uniqwc
ファイルの行数、単語数、バイト数をカウント
wc [オプション] ファイル名例:
wc -l file1.txtxargs
標準入力を引数としてコマンドに渡す
xargs [コマンド]例:
echo file1.txt | xargs catファイル検索
find
条件に合致するファイルやディレクトリを検索
find [検索パス] [条件]例:
find /home -name "*.txt"locate
インデックスを利用して高速にファイルを検索
locate ファイル名例:
locate file1.txtgrep
ファイル内の特定の文字列を検索
grep [オプション] '検索文字列' [ファイル名]例:
grep 'error' /var/log/syslogupdatedb
locateコマンド用のデータベースを更新
updatedbwhich
コマンドの実行パスを確認
which コマンド名whereis
コマンドの実行パスや関連ファイルを表示
whereis コマンド名type
コマンドの種類を表示(エイリアスや関数など)
type コマンド名権限・所有権操作
chmod
ファイルやディレクトリのアクセス権を変更
chmod [権限] ファイル名例:
chmod 755 script.sh権限の数字と対応する意味
chmod では、権限を 数字 (8進数) で表す。
| 数字 | 権限 | シンボル表記 | 説明 |
|---|---|---|---|
| 0 | — | (なし) | 読み取り、書き込み、実行がすべて不可 |
| 1 | –x | 実行 | 実行のみ可能 |
| 2 | -w- | 書き込み | 書き込みのみ可能 |
| 3 | -wx | 書き込み+実行 | 書き込みと実行が可能 |
| 4 | r– | 読み取り | 読み取りのみ可能 |
| 5 | r-x | 読み取り+実行 | 読み取りと実行が可能 |
| 6 | rw- | 読み取り+書き込み | 読み取りと書き込みが可能 |
| 7 | rwx | フル権限 | 読み取り、書き込み、実行がすべて可能 |
権限の構成
権限は、以下の順番で3桁の数字として設定する。
- 1桁目: 所有者 (user,
u) の権限 - 2桁目: グループ (group,
g) の権限 - 3桁目: その他 (others,
o) の権限
chmod 754 file.txtchown
ファイルやディレクトリの所有者を変更
chown [新しい所有者] ファイル名例:
chown user1 file1.txtchgrp
ファイルやディレクトリのグループを変更
chgrp [新しいグループ] ファイル名例:
chgrp group1 file1.txtプロセス管理
ps
現在実行中のプロセスを一覧表示
ps [オプション]例:
ps -eftop
リアルタイムでプロセスとリソース使用状況を表示
topkill
プロセスを終了
kill [PID]例:
kill 1234jobs
バックグラウンドジョブの状態を表示
jobsユーザー管理
adduser
新しいユーザーを作成
adduser [ユーザー名]例:
adduser user1passwd
ユーザーのパスワードを変更
passwd [ユーザー名]例:
passwd user1who
現在ログイン中のユーザーを表示
whoid
ユーザーIDとグループIDを表示
id [ユーザー名]例:
id user1アーカイブ・圧縮
tar
ファイルやディレクトリをアーカイブ
tar [オプション] アーカイブ名 ファイル名例:
tar -cvf backup.tar /home/user基本的な操作オプション
| オプション | 説明 |
|---|---|
-c | アーカイブを作成 |
-x | アーカイブを展開(解凍) |
-t | アーカイブ内の内容を一覧表示 |
-f | 使用するアーカイブファイルを指定(必須) |
-v | 詳細な情報を表示(処理内容を確認) |
-z | gzipで圧縮または解凍 |
-j | bzip2で圧縮または解凍 |
-J | xzで圧縮または解凍 |
-r | 既存のアーカイブにファイルを追加 |
-u | アーカイブ内のファイルを更新(新しいもののみ追加) |
--exclude | アーカイブ作成時に指定したパターンを除外 |
gzip
ファイルを圧縮
gzip ファイル名例:
gzip file1.txtgunzip
圧縮されたファイルを解凍
gunzip ファイル名.gz例:
gunzip file1.txt.gzcpio
ファイルをコピーまたはアーカイブ
find . | cpio -o > archive.cpiodd
データのコピーや変換
dd if=/dev/sda of=/backup.imgシステム情報の確認
uname
システム情報を表示
uname [オプション]例:
uname -adf
ディスクの空き容量を表示
df [オプション]例:
df -hdu
ディレクトリごとの容量を表示
du [オプション] [ディレクトリ名]例:
du -sh /homefree
メモリ使用状況を表示
free [オプション]例:
free -m権限管理
sudo
管理者権限でコマンドを実行
sudo コマンド例:
sudo apt updateネットワーク操作
ping
他のホストへの接続確認
ping [ホスト名またはIPアドレス]例:
ping google.comifconfig
ネットワーク設定を表示または設定
ifconfignetstat
ネットワーク接続状況を表示
netstat [オプション]例:
netstat -antraceroute
ネットワーク経路を表示
traceroute ホスト名tracepath
ネットワーク経路を簡易表示
tracepath ホスト名hostname
現在のホスト名を表示または設定
hostnamenetstat
ネットワーク接続状況を表示
netstat -annc
ネットワーク接続やデバッグを行う
nc -zv ホスト名 ポート番号route
ルーティングテーブルを表示または操作
route -nscp
ファイルをリモートホスト間で転送
scp [オプション] ファイル名 ユーザー名@ホスト名:パス例:
scp file1.txt user@remote:/home/userまとめ
本記事では、Linuxコマンドについて解説しました。以下のようなポイントを理解しておくと、実務で役立つだけでなく、トラブルシューティングにも応用可能です:
- ファイル操作や検索のコマンドをマスターする
- 権限管理やプロセス管理をスムーズに行う
- ネットワーク関連の基本操作を習得する
次に学ぶべきトピックとして、スクリプト作成やシステムの初期化プロセス(initやsystemd)について学ぶことをおすすめします。


コメント