103.3基礎
config以下を再帰的に検索する。
参照先の種類にかかわらず、シンボリックリンクそのものだけを表示する。
適切なコマンドはどれか。
× 不正解
find -type lはシンボリックリンク自体を検索する。既定では探索中のリンクを参照先としてたどらない。
詳細解説
誤り
find config -type f通常ファイルを対象にし、シンボリックリンクそのものではない。
通常ファイルを探す条件である。
誤り
find config -type dディレクトリを対象にする。
ディレクトリを探す条件である。
正しい
find config -type l-type lはシンボリックリンクを対象にする。
正解。リンク自体を検索対象にする。
誤り
find config -links 1ハードリンク数で絞り込み、ファイル種別をシンボリックリンクに限定しない。
ファイル種別ではなくハードリンク数を条件にする。
実際に確かめる
一時的な検証環境で実行できる例です。
LAB_DIR=$(mktemp -d)
mkdir "$LAB_DIR/config"
touch "$LAB_DIR/config/real"
ln -s real "$LAB_DIR/config/link"
find "$LAB_DIR/config" -type l -printf '%f
'
rm -r "$LAB_DIR"期待される結果
link理解のポイント
- -type lはシンボリックリンク
- -type fは通常ファイル
- -linksはハードリンク数条件
確認時の注意
- 確認環境: GNU findutils 4.x
基礎のおさらい
リンクをたどる設定
findの-H、-L、-Pによってシンボリックリンクをたどる範囲が変わる。既定は-Pである。
壊れたリンク
-type lは参照先が存在しない壊れたシンボリックリンクもリンクとして検出できる。
問題IDKP-103-053
確認環境GNU findutils 4.x
最終技術確認2026-08-12
誤り・権利侵害を報告