Linuxコマンド実践ガイド: ファイル操作からディスク管理まで

基本ファイル操作コマンド

Linux環境での作業には、ファイルシステムを効率的に操作するコマンドが不可欠です。以下に主要コマンドの実践的な使い方を解説します。

pwd: 現在の作業ディレクトリ確認

作業中のディレクトリパスを表示する基本コマンドです。

$ pwd
/home/developer

-P オプションを使用すると、シンボリックリンクの実体パスを表示できます。

$ cd /var/log/syslog
$ pwd
/var/log/syslog
$ pwd -P
/var/run/log/journal

mkdir: ディレクトリ階層の作成

複数階層のディレクトリを一度に作成する場合、-p オプションが有効です。

$ mkdir -p /opt/dev_project/src/{core,utils}
$ ls -l /opt/dev_project/src
drwxr-xr-x 2 user dev 4096 Jun 10 14:20 core
drwxr-xr-x 2 user dev 4096 Jun 10 14:20 utils

パーミッションを指定する場合は -m オプションを使用します。

$ mkdir -m 750 secure_data
$ ls -ld secure_data
drwxr-x--- 2 user dev 4096 Jun 10 14:25 secure_data

cp: ファイルのコピー操作

属性情報を保持したままコピーするには -a オプションを指定します。

$ cp -a /etc/ssh/config /backup/ssh_config.bak
$ ls -l /etc/ssh/config /backup/ssh_config.bak
-rw-r--r-- 1 root root 1200 Jun  5 09:15 /etc/ssh/config
-rw-r--r-- 1 root root 1200 Jun 10 15:30 /backup/ssh_config.bak

rm: ファイル削除の安全な実行

重要なファイルを誤削除しないために、-i オプションによる確認を推奨します。

$ rm -i project.log
rm: project.log を削除しますか? y

ディレクトリ全体を削除する場合は -r オプションが必要です。

$ rm -rf old_version

ファイル内容操作ツール

大規模ファイルの調査には、適切な閲覧コマンドを選択することが重要です。

head/tail: 特定範囲の抽出

ログファイルの先頭/末尾を素早く確認する手法です。

$ head -n 5 /var/log/syslog
Jun 10 08:00:01 server systemd[1]: Started User Manager for UID 1000.
Jun 10 08:05:23 server sshd[1234]: Accepted password for admin

$ tail -f /var/log/nginx/access.log
192.168.1.10 - - [10/Jun/2023:15:45:01] "GET /api/data HTTP/1.1"

less: 対話型ファイル閲覧

大規模ファイルの調査に最適なインタラクティブツールです。

$ less /etc/systemd/system.conf
# ~ファイル内容表示~
:
/Timeout  # 検索キーワード入力
n  # 次の一致箇所へ移動

ユーザー管理の実践

システムセキュリティを維持するため、ユーザー設定の正確な操作が求められます。

useradd: ユーザーアカウントの作成

開発者用アカウントの作成例を示します。

$ sudo useradd -m -s /bin/zsh -G docker,dev_team dev_user
$ id dev_user
uid=1005(dev_user) gid=1005(dev_user) groups=1005(dev_user),999(docker),1001(dev_team)

passwd: セキュアなパスワード管理

アカウントロック機能は不正アクセス防止に有効です。

$ sudo passwd -l dev_user
ロック: /etc/shadow のパスワードは ! で始まります

ストレージ管理技術

ディスクリソースの健全性を維持するための基本操作を紹介します。

df: ストレージ使用状況の可視化

人間が読みやすい形式で容量を表示します。

$ df -hT /mnt/data
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/sdb1      ext4   50G   22G   26G  46% /mnt/data

mount: ファイルシステムの動的接続

オプションを指定した安全なマウント例です。

$ sudo mount -o rw,noatime,uid=1000,gid=1000 /dev/sdc1 /mnt/external
$ mount | grep sdc1
/dev/sdc1 on /mnt/external type ext4 (rw,noatime,uid=1000,gid=1000)

fsck: ファイルシステムの整合性検証

マウントされていないパーティションのチェック手順です。

$ sudo umount /dev/sdb1
$ sudo fsck -y /dev/sdb1
fsck from util-linux 2.37.2
/dev/sdb1: 12 files (0.0% non-contiguous), 15456 blocks

タグ: coreutils ext4 usermod mount fsck

5月30日 20:35 投稿