LinuCレベル1 101試験の例題と解説
1.02.4ファイルの配置と検索
LinuCレベル1 101試験の出題範囲から、「1.02.4 ファイルの配置と検索」についての例題を解いてみます。
ファイルの検索について学んでおきましょう。
例題
/etc/配下にある「httpd.conf」というファイルの場所を検索したい。検索できるコマンドで正しいものを選択してください。
- find /etc/ -name httpd.conf
- find -name httpd.conf /etc/
- find -name httpd.conf -dir /etc/
- find /etc/ -type httpd.conf
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「1. find /etc/ -name httpd.conf」です。
findコマンドは、指定したディレクトリ以下から検索条件にマッチするファイルやディレクトリを検索するコマンドです。
findコマンドの書式は以下の通りです。
find [検索するパス] [検索条件]
以下のような検索条件を指定することができます。
-name 検索ワード | : | ファイル名やディレクトリ名が一致しているものを検索します。ワイルドカードを使用して部分一致で検索する子も可能です。 |
-mtime 日数(※) | : | ファイルの最終更新日時が指定した日数前のファイルを検索します。 |
-atime 日数(※) | : | ファイルの最終アクセス日時が指定した日数前のファイルを検索します。 |
-type f | : | 検索対象をファイルのみとし検索します。 |
-type d | : | 検索対象をディレクトリのみとし検索します。 |
※ 日数前に+や-を付けた場合、検索するに日数の範囲が以下のようになります。
-mtime 10 | → | 更新日時が10日前 |
-mtime +10 | → | 更新日時が10日以上前 |
-mtime -10 | → | 更新日時が10日以内 |
-atime 10 | → | アクセス日時が10日前 |
-atime +10 | → | アクセス日時が10日以上前 |
-atime -10 | → | アクセス日時が10日以内 |
また、検索条件は複数指定することもできます。検索条件を複数指定した場合、AND条件で検索します。
※ 複数条件を指定した場合に、-o オプションを指定することでOR条件で検索することも可能です。
以下は同じ名前(httpd)のファイルとディレクトリが存在する場合の検索結果です。
▼ -name だけ指定した場合
# find /etc/ -name httpd
/etc/logrotate.d/httpd
/etc/httpd
名前がhttpdに一致するファイルとディレクトリが検索されます。
▼ -name と -type を指定した場合
# find /etc/ -type f -name httpd
/etc/logrotate.d/httpd
形式がファイルかつ名前がhttpdに一致するものが検索されます。
それでは、例題の選択肢について解説します。
1.find /etc/ -name httpd.conf
正解です。
選択肢のコマンドでは、/etc/ディレクトリ配下から、httpd.confという名前に完全一致するものを検索しています。
実際に実行すると、以下のように検索することができます。(※検索結果は環境によって異なります)
# find /etc/ -name httpd.conf
/etc/httpd/conf/httpd.conf
2.find -name httpd.conf /etc/
不正解です。
検索するパスは、検索条件の前に記載する必要があります。書式が間違っているため不正解です。
3.find -name httpd.conf -dir /etc/
不正解です。
選択肢2と同様、検索するパスは、検索条件の前に記載する必要があります。また、-dirというオプションはありません。
書式が間違っているため不正解です。
4.find /etc/ -type httpd.conf
不正解です。
-typeオプションは、検索対象の種類を引数に指定します。[-type f]とした場合は、検索対象がファイルのみになります。
-typeの引数にファイル名を記載することは書式エラーになるため不正解です。
findコマンドは、ファイルやディレクトリを探す際に非常に便利なコマンドです。
実際に操作して、利用できるようにしておきましょう。
例題作成者
株式会社デージーネット OSS研究室 橋本知里