所定のフォルダに存在するはずのファイルがない場合ですが、findコマンド等でファイルの検索を行う事があります。
今回は後輩君から「ファイルがない」と相談を受け、調査を行いました。
その手順についてを記載しておこうと思います。
とりあえず、自分の目でファイルが本当に存在していないかのを確認します。
txtベースのファイルという事をお伺いしたので、*.txtでファイル有無の確認を行います。
いくつかファイルが見つかりましたが、目的のファイルではありませんでした。
[root@localhost test_01]# pwd
/home/test_01
[root@localhost test_01]# ls *.txt
01_test.txt 02_test.txt 03_test.txt
txtベース以外の情報をヒアリングします。
何時頃に作成/更新をあったか分かるか?と伺ったところ、今さっきに更新をかけたばかりという事が分かりました。
findコマンドでルートディレクトリから検索する事にします。
現在分かっている情報はtxtベースのファイルである事/今さっきに更新をかけたという事なので、それらを反映して検索を行います。
まず検索箇所は、「.(カレントディレクトリ)」で指定します。
-nameオプションでファイル名の指定を行います。「*.txt」で指定しました。
-mminオプションで時間の指定を行えます。「-30」を指定しました。
-30を指定した場合は30分以内に更新が入ったファイルの検索を行います。
‐をつけずに30で指定した場合は30分前に更新が入ったファイルを検索します。
何かそれらしきものが出てきたので、お伝えすると該当するファイルである事が分かりました。
意図せずにrootで作業を行っていた事が要因となるそうです。(rootでログイン出来るのは良くないですが)
[root@localhost test_01]# cd /
[root@localhost /]# pwd
/
[root@localhost /]# find . -name "*.txt" -mmin -30
./root/memo.txt
findコマンドを知っていても、意外と更新時間等で検索出来る事を知らない人もいると思います。
以上、何かの参考になれば幸いです。