インフラエンジニアの羅針盤

インフラエンジニア1〜3年目のための技術ガイド

Linuxファイル操作とfind検索・tarアーカイブ圧縮展開の使い方【LinuC 101試験対策】

公開
,
LinuC Level 1 第02回 主題1.02 Linuxのインストールとパッケージ管理



LinuCレベル1(101試験)の重要出題分野である「主題1.02 ファイル・ディレクトリの操作と管理」より、「1.02.2 基本的なファイル管理の実行(重要度3)」および「1.02.4 ファイルの配置と検索(重要度2)」を解説します。

Linuxシステムを運用・管理する上で、ファイルの作成、コピー、移動、削除といった日常的操作はもちろんのこと、システム障害時のログファイル特定に必要な高度なファイル検索(find)、およびバックアップ運用に不可欠なアーカイブ・データ圧縮(tar, gzip, bzip2, xz)の習得は必須です。また、Linuxの標準的なファイル配置規則である「FHS(Filesystem Hierarchy Standard)」を理解することは、各種設定ファイルや実行バイナリの探索において極めて重要な土台となります。

本記事の到達目標

  • FHS(Filesystem Hierarchy Standard)の基本概念と主要ディレクトリの役割を説明できる
  • cp, mv, rm, mkdir, file などの基本コマンドとワイルドカードを活用できる
  • which, whereis, type の違いを理解し、コマンドの所在や属性を特定できる
  • find コマンドを用いてファイル名、ファイル種別、更新日時などの複合条件検索や一括処理が行える
  • tar コマンドによるアーカイブ作成・一覧確認・展開および3大圧縮形式(gzip, bzip2, xz)を自在に操作できる
  • LinuC 101試験の記述式問題(コマ問)で問われるコマンド構文やオプションを正確に記述できる

検証環境情報

  • ディストリビューション:AlmaLinux 9.8 (Olive Jaguar)
  • カーネルバージョン:Linux 5.14.0-570.el9.x86_64
  • シェル環境:GNU bash バージョン 5.1.8(1)-release
  • 主要パッケージ:tar 1.34, gzip 1.12, bzip2 1.0.8, xz 5.2.5, findutils 4.8.0
  • 検証ホスト:linuc-node01 (192.168.2.138)
目次
  1. 1. Linuxのファイルシステム階層標準(FHS)の全体像
    1. 1.1 FHS(Filesystem Hierarchy Standard)の基本概念と2軸分類
    2. 1.2 ルート直下の主要ディレクトリ一覧と役割(/etc, /var, /usr, /proc等)
    3. 1.3 コマンドと実行ファイルの配置場所(/bin, /sbin, /usr/bin, /usr/local)
  2. 2. 基本的なファイル・ディレクトリ操作コマンド
    1. 2.1 ファイルとディレクトリの作成・削除(touch, mkdir, rmdir, rm)
    2. 2.2 ファイルのコピーと移動・名前変更(cp, mv)
    3. 2.3 ファイル種別と詳細情報の判定(file, ls)
    4. 2.4 パターンマッチングとワイルドカード(*, ?, [], {})
  3. 3. ファイルとコマンドの検索テクニック
    1. 3.1 コマンドの所在を調べる(which, whereis, typeの違い)
    2. 3.2 findコマンドによる高度なファイル検索(名前・タイプ・サイズ・更新日時)
    3. 3.3 findと-execによる検索結果の一括処理({} ; と {} + の使い分け)
  4. 4. アーカイブ作成とデータ圧縮・展開(tar, gzip, bzip2, xz, dd)
    1. 4.1 tarコマンドの基本機能と必須オプション(c, x, t, v, f)
    2. 4.2 3大圧縮形式の特徴と指定オプション(gzip: -z, bzip2: -j, xz: -J)
    3. 4.3 個別圧縮コマンド(gzip, bzip2, xz)と解凍コマンド(gunzip等)
    4. 4.4 ddコマンドによるブロック単位のコピーとバックアップ
  5. 5. 実機ハンズオン演習:AlmaLinux 9でファイル管理とアーカイブを実践
    1. 5.1 検証用ディレクトリとテストファイルの作成
    2. 5.2 演習1:findコマンドによる複合条件検索と一括処理
    3. 5.3 演習2:tarによるアーカイブ作成・圧縮・一覧確認・展開
    4. 5.4 演習3:ddコマンドによる空ファイル(ダミーデータ)の作成
  6. 6. LinuC 101試験対策まとめとコマ問頻出チェック
    1. 6.1 コマ問(記述式)頻出キーワード一覧表
    2. 6.2 Ping-t演習へのブリッジ(対象分野と推奨学習順)
  7. 7. まとめと次回予告

1. Linuxのファイルシステム階層標準(FHS)の全体像

1.1 FHS(Filesystem Hierarchy Standard)の基本概念と2軸分類

Linuxを含むUnix系OSでは、すべてのファイルやディレクトリが「ルートディレクトリ(/)」を頂点とする単一の木構造(ツリー構造)で管理されます。各ディストリビューション間でディレクトリ構造やファイルの格納場所がバラバラになることを防ぐため、標準規格として策定されたのが「FHS(Filesystem Hierarchy Standard)」です。

FHSでは、配置されるデータを「共有可能(Shareable)/共有不能(Unshareable)」および「静的(Static)/可変(Variable)」の2つの軸で分類・整理しています。

分類軸 静的データ(Static)
(管理者が明示的に変更しない限り不変)
可変データ(Variable)
(システムの稼働中に随時変化・追記される)
共有可能
(ネットワーク経由で他ホストと共有可能)
/usr(プログラムバイナリ、ライブラリ)
/opt(追加アプリケーション)
/var/mail(メールボックス)
/var/spool/news(ニューススプール)
共有不能
(そのホスト固有のデータ)
/etc(ホスト固有の設定ファイル)
/boot(ブートローダ、カーネルイメージ)
/var/log(システムログファイル)
/var/run(実行中のプロセスIDなど)

1.2 ルート直下の主要ディレクトリ一覧と役割(/etc, /var, /usr, /proc等)

LinuC試験では、ルート直下の各ディレクトリが何を格納する場所であるかが頻繁に出題されます。以下の主要ディレクトリの役割を確実に押さえる必要があります。

ディレクトリ 役割・格納されるデータ 具体例・特徴
/(ルート) ファイルシステム階層の最上位。すべてのファイル・ディレクトリの起点 すべてのパーティションの基礎
/bin 一般ユーザーおよび管理者が使用する基本コマンド群 現代のLinuxでは /usr/bin へのシンボリックリンク
/sbin システム管理者が主に使用するシステム管理用コマンド群 現代のLinuxでは /usr/sbin へのシンボリックリンク
/etc システム全体および各種デーモンの静的な設定ファイル /etc/passwd, /etc/fstab など(バイナリは置かない)
/dev ハードディスクや端末などのハードウェアを表すデバイスファイル /dev/sda, /dev/null, /dev/zero など
/home 一般ユーザーのホームディレクトリが配置される場所 /home/user01 など
/root rootユーザー(システム管理者)専用のホームディレクトリ 一般ユーザーのホームとは異なりルート直下に独立
/var ログファイル、メールキュー、キャッシュ等の可変データ /var/log/messages, /var/spool など
/usr ユーザー向けの共有プログラム、ライブラリ、ドキュメント /usr/bin, /usr/lib, /usr/share/man など
/tmp 一時ファイル(テンポラリファイル)の作業領域 誰でも書き込み可能、再起動時や定期ジョブで自動消去される
/boot システム起動(ブート)に必要なLinuxカーネルやGRUBファイル vmlinuz, initramfs など
/proc カーネルやプロセス情報をメモリ上で仮想的に表現するファイルシステム ディスク上には実体が存在しない(procfs
/sys デバイスやドライバなどのカーネル内部情報を表現する仮想ファイルシステム ディスク上に実体なし(sysfs
/media CD-ROMやUSBメモリなどのリムーバブルメディアの一時マウントポイント OSによる自動マウント先
/mnt 管理者が一時的にファイルシステムを手動マウントするためのポイント 一時的な作業領域
/opt ディストリビューション標準外のサードパーティ製追加ソフトウェア プロプライエタリ製品など
Linux FHS ディレクトリ階層構造
図1:Linux FHS(Filesystem Hierarchy Standard)主要ディレクトリ階層構造

1.3 コマンドと実行ファイルの配置場所(/bin, /sbin, /usr/bin, /usr/local)

かつてUNIXや初期のLinuxでは、シングルユーザーモード等の緊急起動に必要な最低限のコマンドを /bin/sbin に配置し、マルチユーザーモードで利用する追加コマンドを /usr/bin/usr/sbin に分離して配置していました。

しかし、近年の主要ディストリビューション(AlmaLinux 9やCentOS Stream、Fedora等)では「UsrMove」と呼ばれる統合が進み、/bin/usr/bin へのシンボリックリンク、/sbin/usr/sbin へのシンボリックリンクとなっています。

また、ディストリビューションのパッケージ管理(RPMやAPT)を介さずに、管理者がソースコードからコンパイルして導入したプログラムは、標準パッケージと混ざらないよう /usr/local/bin 配下に配置するのが慣習です。

2. 基本的なファイル・ディレクトリ操作コマンド

2.1 ファイルとディレクトリの作成・削除(touch, mkdir, rmdir, rm)

ファイル管理の基本となる作成・削除コマンドの書式と注意点を整理します。

コマンド 機能 主要オプション・留意事項
touch [ファイル名] 空ファイルの新規作成、または既存ファイルのタイムスタンプ更新 -a: アクセス日時のみ更新
-m: 修正日時のみ更新
-t [[CC]YY]MMDDhhmm[.ss]: 日時を直接指定
mkdir [ディレクトリ名] 新規ディレクトリの作成 -p: 親ディレクトリが存在しない場合、階層ごと一括作成する(頻出)
rmdir [ディレクトリ名] 空のディレクトリを削除 ディレクトリ内にファイルやサブディレクトリが存在する場合は削除できずエラーとなる
rm [ファイル名] ファイルやディレクトリの削除 -r(または -R): ディレクトリ内を再帰的に削除
-f: 確認プロンプトを表示せず強制削除
-i: 削除前に確認プロンプトを表示

rm -rf コマンドの取り扱い

Linuxにはゴミ箱の概念が存在せず、rm コマンドで削除したファイルは原則として復元できません。特に管理者権限(root)で rm -rf / などの誤ったパスを指定するとシステム全体が破壊される危険があるため、パスの指定には細心の注意が必要です。

2.2 ファイルのコピーと移動・名前変更(cp, mv)

ファイルの複製(コピー)には cp コマンドを、移動やファイル名・ディレクトリ名の変更には mv コマンドを使用します。

コマンド 主要オプション 機能説明
cp [コピー元] [コピー先] -r / -R ディレクトリを再帰的に中身ごとコピーする(ディレクトリ複製の必須指定)
-p ファイルの所有者、グループ、パーミッション、タイムスタンプを保持してコピー
-a アーカイブモード(-dpR と同等。属性保持+再帰コピー+シンボリックリンク維持)
-i 上書き時に確認プロンプトを表示する
-u コピー元の方が新しい場合、またはコピー先が存在しない場合のみコピー(更新コピー)
mv [移動元] [移動先] -i 移動先に同名ファイルが存在する場合、上書き前に確認を求める
-f 警告なしで強制的に上書きする
-u 移動元の方が新しい場合のみ上書きする

2.3 ファイル種別と詳細情報の判定(file, ls)

Linuxでは、Windowsのように拡張子(.exe, .txt 等)だけでファイルの中身が決定されるわけではありません。ファイルの拡張子に関わらず、ファイルヘッダのバイナリシグネチャを読み取って実際のデータ種別を判定するコマンドが file コマンドです。

[user01@linuc-node01 ~]$ file /bin/bash /etc/passwd /dev/sda
/bin/bash:   ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked...
/etc/passwd: ASCII text
/dev/sda:    block special (8/0)

また、ls -l を実行した際、出力の先頭1文字目でファイル種別を識別できます。

先頭1文字 ファイル種別 該当する例
- 通常ファイル(Regular file) テキストファイル、実行バイナリ、画像ファイル
d ディレクトリ(Directory) /var, /etc などのフォルダ
l シンボリックリンク(Symbolic link) 他ファイルへのショートカット
c キャラクタデバイス(Character device) 端末(/dev/tty)、/dev/null(文字単位で入出力)
b ブロックデバイス(Block device) ハードディスク、SSD、USBストレージ(ブロック単位で入出力)
s ソケット(Socket) プロセス間通信用エンドポイント
p 名前付きパイプ(FIFO) プロセス間通信用パイプ

2.4 パターンマッチングとワイルドカード(*, ?, [], {})

シェルがファイル名をまとめて指定する際に解釈する特殊記号を「ワイルドカード(グロブ)」と呼びます。

パターン 意味・マッチする条件 具体例
* 任意の0文字以上の文字列にマッチ *.log(末尾が .log の全ファイル)
? 任意の1文字だけにマッチ file?.txt(file1.txt には一致、file10.txt には不一致)
[abc] 括弧内に含まれるいずれか1文字にマッチ file[123].txt
[a-z] 指定した範囲のいずれか1文字にマッチ log[0-9].txt
[!abc] または [^abc] 括弧内に含まれないいずれか1文字にマッチ file[!0-9].txt
{str1,str2} ブレース展開(カンマ区切りの文字列を展開して生成) touch {web,db}_{01,02}.conf で4個のファイルを生成

3. ファイルとコマンドの検索テクニック

3.1 コマンドの所在を調べる(which, whereis, typeの違い)

LinuC試験では、コマンドに関する調査を行う3つのツールの役割分担が問われます。

コマンド 検索対象・動作内容 実行結果の例
which [コマンド] 環境変数 PATH で指定されたディレクトリ群から、実行ファイルの絶対パスのみを検索して表示 /usr/bin/ls
whereis [コマンド] 指定したコマンドのバイナリ実行ファイル、ソースコード、マニュアル(man)の格納場所をまとめて検索 ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
type [コマンド] 指定した文字列が、シェル組み込みコマンド、外部実行可能ファイル、エイリアス、関数のどれであるかを判別 type cdcd はシェル組み込み関数です
type lsls は alias ls='ls --color=auto' のエイリアスです

3.2 findコマンドによる高度なファイル検索(名前・タイプ・サイズ・更新日時)

ファイルシステム内をディレクトリツリーに沿って再帰的に探索し、条件に合致するファイルを特定するコマンドが find です。基本構文は以下のとおりです。

find [検索起点ディレクトリ] [検索条件式] [実行アクション]

代表的な検索条件オプションを以下に整理します。

オプション 指定方法 説明・具体例
-name [パターン] ファイル名(大文字小文字を区別) find /etc -name "*.conf"
-iname [パターン] ファイル名(大文字小文字を無視) find . -iname "readme*"
-type [種別] ファイル種別で絞り込み -type f: 通常ファイル
-type d: ディレクトリ
-type l: シンボリックリンク
-size [サイズ] ファイルサイズで絞り込み +10M: 10メガバイト超過
-1k: 1キロバイト未満
100c: ちょうど100バイト
-mtime [日数] ファイル最終修正日(更新日時) -7: 7日以内(直近1週間)に更新
+30: 30日以上前に更新(古いファイル)
0: 直近24時間以内
-atime [日数] 最終アクセス日(参照日時) 指定方法は -mtime と同様
-user [ユーザー名] 指定した所有者のファイル find /var -user nginx
-perm [モード] パーミッション値で絞り込み find . -perm 755

3.3 findと-execによる検索結果の一括処理({} ; と {} + の使い分け)

find コマンドで検索したファイル群に対して、そのままコマンドを実行できるのが -exec アクションです。書式には2つの形式があり、試験でも出題されます。

アクション構文 実行方式 特徴・パフォーマンス
-exec コマンド {} ; 見つかったファイル1つにつき1回ずつコマンドを起動する 末尾の ; はセミコロンをシェルから保護するためのバックスラッシュ。対象ファイルが多いとプロセス起動オーバーヘッドが大きくなる
-exec コマンド {} + 見つかった全ファイルを引数としてまとめて1回のコマンドに渡して実行する xargs と同等の動作となり、高速に処理される

検索結果の確認アクション(-ok)

-exec の代わりに -ok を指定すると、各ファイルに対してコマンドを実行する直前に ? と対話的な確認プロンプトが表示され、y を入力した場合のみ処理が実行されます。誤削除を防ぐための安全な指定方法です。

4. アーカイブ作成とデータ圧縮・展開(tar, gzip, bzip2, xz, dd)

4.1 tarコマンドの基本機能と必須オプション(c, x, t, v, f)

複数存在するファイルやディレクトリ構造を、パーミッションやタイムスタンプを維持したまま1つのファイルにまとめる(アーカイブ化する)ための標準コマンドが tar(Tape Archiver)です。tar 単体ではデータの圧縮は行わず、単に「1つに束ねる」動作を行います。

基本オプション 機能 説明
-c(または c アーカイブの新規作成(create) 指定したファイル群をまとめて新しいアーカイブを作成する
-x(または x アーカイブの展開(extract) アーカイブ内のファイル群をディスク上に取り出す
-t(または t アーカイブ内容の一覧表示(list) アーカイブを展開せずに中身のファイル一覧を確認する
-v(または v 処理の詳細ログを表示(verbose) 処理中のファイル名を標準出力に表示する
-f [ファイル名] 対象アーカイブファイル名の指定(file) 常に指定必須。慣例としてオプション末尾に配置する
-C [ディレクトリ] 展開先ディレクトリの指定 指定したディレクトリに移動してから展開を実行する
tar コマンドの動作オプションと圧縮形式
図2:tarコマンドの基本動作オプション(c/x/t/v/f)と3大圧縮形式体系

4.2 3大圧縮形式の特徴と指定オプション(gzip: -z, bzip2: -j, xz: -J)

tar コマンドに圧縮オプションを付与することで、アーカイブ化と同時にデータ圧縮を1コマンドで実行できます。LinuC試験では、3つの圧縮形式とそれぞれの指定オプション、および標準的な拡張子の対応関係が最頻出です。

圧縮形式 tarオプション 標準的な拡張子 特徴・用途
gzip -z(小文字) .tar.gz または .tgz 処理速度が非常に高速でCPU負荷が低い。Web転送や一般的な配布用アーカイブとしてデファクトスタンダード
bzip2 -j(小文字) .tar.bz2 または .tbz2 gzipよりも高い圧縮率を実現するが、圧縮・解凍処理にやや時間がかかる
xz -J大文字 .tar.xz または .txz LZMA2アルゴリズムを採用した最高レベルの圧縮率。現代のLinuxディストリビューション公式パッケージやカーネルソース配布で標準採用

オプションの大文字・小文字の厳格な区別

bzip2のオプションは小文字の -j ですが、xzのオプションは大文字の -J です。試験の記述問題(コマ問)で小文字の j と記述すると bzip2 指定となり誤答となります。必ず区別してください。

4.3 個別圧縮コマンド(gzip, bzip2, xz)と解凍コマンド(gunzip等)

単一のファイルを直接圧縮・解凍する独立コマンドも出題範囲です。これらのコマンドは、圧縮を実行すると元のファイルが削除され、圧縮後のファイルに置き換わるという特徴を持ちます。

形式 圧縮コマンド 解凍コマンド(解凍オプション) 元ファイルを保持するオプション
gzip gzip filefile.gz gunzip file.gz(または gzip -d gzip -k file-k: keep)
bzip2 bzip2 filefile.bz2 bunzip2 file.bz2(または bzip2 -d bzip2 -k file
xz xz filefile.xz unxz file.xz(または xz -d xz -k file

4.4 ddコマンドによるブロック単位のコピーとバックアップ

ファイル単位ではなく、ディスクやパーティションのブロック単位で直接データを読み書きするツールが dd コマンドです。ブートセクタ(MBR)のバックアップや、スワップファイルの作成、ディスクの完全消去などに用いられます。

dd if=[入力元ファイル/デバイス] of=[出力先ファイル/デバイス] [bs=ブロックサイズ] [count=ブロック数]
主要パラメータ 説明 具体例
if=ファイル名 input file(読み込み元)を指定 if=/dev/sda, if=/dev/zero
of=ファイル名 output file(書き込み先)を指定 of=/dev/sdb, of=/swapfile
bs=バイト数 block size(一度に読み書きするサイズ)を指定 bs=1M, bs=512, bs=4k
count=回数 コピーするブロック数を指定 count=100

5. 実機ハンズオン演習:AlmaLinux 9でファイル管理とアーカイブを実践

5.1 検証用ディレクトリとテストファイルの作成

手元のAlmaLinux 9環境で、検証用の作業ディレクトリを作成し、テストファイルを配置します。

[user01@linuc-node01 ~]$ mkdir -p /tmp/linuc_lab/src
[user01@linuc-node01 ~]$ cd /tmp/linuc_lab
[user01@linuc-node01 linuc_lab]$ touch src/app.log src/server.conf
[user01@linuc-node01 linuc_lab]$ echo "#!/bin/bash" > src/start.sh
[user01@linuc-node01 linuc_lab]$ chmod +x src/start.sh

5.2 演習1:findコマンドによる複合条件検索と一括処理

作成したテスト環境に対して、find コマンドを用いた検索と一括処理を実行します。

  1. 拡張子によるファイル検索src 配下の .log ファイルを検索します。
    [user01@linuc-node01 linuc_lab]$ find src -name "*.log"
    src/app.log
  2. ファイル種別と実行可能属性の検索:通常ファイル(-type f)のうち、実行可能スクリプト(.sh)を検索します。
    [user01@linuc-node01 linuc_lab]$ find src -type f -name "*.sh"
    src/start.sh
  3. 検索結果に対する一括コマンド実行(-exec):見つかったファイル群の詳細情報を ls -l で一括表示します。
    [user01@linuc-node01 linuc_lab]$ find src -type f -exec ls -l {} +
    -rw-r--r--. 1 user01 user01  0  9月  8 07:00 src/app.log
    -rw-r--r--. 1 user01 user01  0  9月  8 07:00 src/server.conf
    -rwxr-xr-x. 1 user01 user01 12  9月  8 07:00 src/start.sh

5.3 演習2:tarによるアーカイブ作成・圧縮・一覧確認・展開

tar コマンドを用いて、3大圧縮形式でのアーカイブ作成、一覧確認、別ディレクトリへの展開を検証します。

AlmaLinux 9最小構成環境での注意点

AlmaLinux 9の最小インストール環境では、tar および bzip2 パッケージが標準導入されていない場合があります。コマンドが存在しない場合は、sudo dnf install -y tar bzip2 を実行してあらかじめ導入してください。

  1. 3大圧縮形式でのアーカイブ作成:gzip, bzip2, xz の各形式でアーカイブを作成します。
    [user01@linuc-node01 linuc_lab]$ tar -czvf backup.tar.gz src/
    [user01@linuc-node01 linuc_lab]$ tar -cjvf backup.tar.bz2 src/
    [user01@linuc-node01 linuc_lab]$ tar -cJvf backup.tar.xz src/
  2. ファイルサイズの比較:生成されたアーカイブのファイルサイズを確認します。
    [user01@linuc-node01 linuc_lab]$ ls -lh backup.tar.*
    -rw-r--r--. 1 user01 user01 215  9月  8 07:00 backup.tar.bz2
    -rw-r--r--. 1 user01 user01 201  9月  8 07:00 backup.tar.gz
    -rw-r--r--. 1 user01 user01 240  9月  8 07:00 backup.tar.xz
  3. アーカイブ内容の一覧表示(展開しない確認)
    [user01@linuc-node01 linuc_lab]$ tar -ztvf backup.tar.gz
    drwxr-xr-x user01/user01     0 2026-09-08 07:00 src/
    -rw-r--r-- user01/user01     0 2026-09-08 07:00 src/app.log
    -rw-r--r-- user01/user01     0 2026-09-08 07:00 src/server.conf
    -rwxr-xr-x user01/user01    12 2026-09-08 07:00 src/start.sh
  4. 指定先ディレクトリへの展開(-C オプション):展開専用ディレクトリを作成し、中身を展開します。
    [user01@linuc-node01 linuc_lab]$ mkdir -p extracted
    [user01@linuc-node01 linuc_lab]$ tar -zxvf backup.tar.gz -C extracted
    [user01@linuc-node01 linuc_lab]$ ls extracted/src
    app.log  server.conf  start.sh

5.4 演習3:ddコマンドによる空ファイル(ダミーデータ)の作成

dd コマンドを用いて、指定したサイズのダミーファイルを作成する実機手順を確認します。

[user01@linuc-node01 linuc_lab]$ dd if=/dev/zero of=test_1m.img bs=1M count=1
1+0 レコード入力
1+0 レコード出力
1048576 バイト (1.0 MB, 1.0 MiB) コピーされました, 0.0012345 秒, 850 MB/s

[user01@linuc-node01 linuc_lab]$ ls -lh test_1m.img
-rw-r--r--. 1 user01 user01 1.0M  9月  8 07:00 test_1m.img

演習完了後は、作業用ディレクトリ /tmp/linuc_labrm -rf /tmp/linuc_lab で削除して環境をクリーンアップします。

6. LinuC 101試験対策まとめとコマ問頻出チェック

6.1 コマ問(記述式)頻出キーワード一覧表

CBT本番試験で直接手入力が求められる最重要のコマンド、オプション、設定値を整理しました。

出題区分 コマンド / オプション 出題の論点・記述ポイント
階層ディレクトリ作成 mkdir -p 途中の親ディレクトリも作成する -p オプション
ファイル種別判定 file 拡張子ではなく内容から種別を判定するコマンド名
実行ファイルパス検索 which PATH から探す whichtype の区別
バイナリ・マニュアル検索 whereis ソースやmanもまとめて探すコマンド名
通常ファイル検索 find . -type f 通常ファイルは f、ディレクトリは d
更新日時検索 find . -mtime -7 7日以内はマイナス -7、7日以上前はプラス +7
find一括実行 -exec コマンド {} ; プレースホルダ {} と末尾の ;
tarアーカイブ作成 tar -cf(または tar -cvf 作成は c、ファイル指定は f
tarアーカイブ展開 tar -xf 展開は x(extract)
tar内容一覧表示 tar -tf 展開しない確認は t(table of contents)
gzip圧縮指定 -z(小文字) 拡張子 .tar.gz に対するオプション
bzip2圧縮指定 -j(小文字) 拡張子 .tar.bz2 に対するオプション
xz圧縮指定 -J大文字 拡張子 .tar.xz に対する大文字のオプション
展開先指定 -C [ディレクトリ] 大文字の -C で展開先を指定する点
ブロックコピー dd if=... of=... 入力元 if と出力先 of のパラメータ名

6.2 Ping-t演習へのブリッジ(対象分野と推奨学習順)

本記事の学習を終えた後は、Ping-tのWeb問題集を開き、以下の順序で反復演習を行ってください。

  1. 「主題1.02 ファイル・ディレクトリの操作と管理(1.02.4 ファイルの配置と検索)」の未出題問題を解き、FHSディレクトリの役割(/etc, /var, /usr, /proc等)を完全定着させる
  2. 「主題1.02 ファイル・ディレクトリの操作と管理(1.02.2 基本的なファイル管理の実行)」の未出題問題を解き、全問を「銀」ステータスにする
  3. 間違えた問題を重点復習し、全問を「金(連続2回正解)」ステータスへ引き上げる
  4. Ping-tの「コマ問道場」を活用し、tar -czvf, tar -cJvf, mkdir -p, find -type f -mtime, which などのコマンド・オプションをキーボードから迷わず入力できる状態に仕上げる

確認演習問題 1

カレントディレクトリ配下にあるディレクトリ src_data を、最高圧縮率の xz 形式で圧縮したアーカイブファイル archive.tar.xz として作成したい。実行すべき適切な tar コマンドをオプションを含めて記述しなさい。

解答と解説を見る

正解: tar -cJvf archive.tar.xz src_data(または tar -cJf archive.tar.xz src_data

解説: アーカイブ作成は -c、ファイル名指定は -f を使用します。xz 圧縮を指定するオプションは大文字の -J です。小文字の -j は bzip2 圧縮、小文字の -z は gzip 圧縮となるため誤りです。

確認演習問題 2

/var/log ディレクトリ配下にあるファイルのうち、通常ファイル(Regular file)であり、かつ直近3日以内(3日以下)に更新されたファイルのみを検索したい。実行すべき適切な find コマンドを記述しなさい。

解答と解説を見る

正解: find /var/log -type f -mtime -3

解説: 通常ファイルを絞り込む条件は -type f です。更新日時の日数を指定する -mtime では、指定日数「以内」を表す場合にマイナス符号を付けて -3 と指定します。プラス符号の +3 は「3日以上前」を意味します。

7. まとめと次回予告

本記事では、Linuxの標準ファイルシステム階層(FHS)の全体像、基本ファイル操作コマンド(touch, mkdir -p, cp, mv, rm)、コマンド調査ツール(which, whereis, type)、find コマンドによる複合検索、および tar によるアーカイブと3大圧縮形式(gzip, bzip2, xz)の実践手順を解説しました。

FHSのディレクトリ階層と tar の圧縮オプションは、LinuC試験で確実に得点源にできる分野であると同時に、実務におけるバックアップスクリプト作成や障害調査の基盤となる知識です。

次回は、Linuxの真骨頂であるテキスト処理の核心「テキストストリーム処理・パイプ・リダイレクトと正規表現【主題1.03 (1.03.2〜1.03.4)】」を取り上げます。標準入力・標準出力・標準エラー出力の制御(>, 2>, 2>&1)、パイプラインによるコマンド連携、テキストフィルタ(grep, sed, awk, cut, sort, uniq)、および基本・拡張正規表現の構文を学習します。

前の記事
次の記事