テキスト検索ツールfind
which:バイナリまたは実行コマンドパスの検索
locate:非リアルタイムのファジイクエリの毎日の更新
(内蔵データベースにより、システムファイルがデータベースにマッピングされ、前夜に自動的に更新されたターゲットファイルが瞬時に検索されます)
-bマッチングベース名
-c統計がどれだけ条件を満たしているか
updatedb手動更新
find:リアルタイム、ファイル遍歴、正確なマッチング、速度がやや遅い
-a:と
-o:または
-not:非優先度が最も低く、組み合わせて使用するグループ()
-fls/PATH/TO/SO/SMEFILE find後、一致した結果をファイルに保存
-ok COMMAND{}インタラクティブリファレンス-ok前の結果
-exec COMMAND{}\; :直接参照-execの前の結果注意末尾の";"
ファイル名に基づいて検索:
所有者、グループ、UIDに基づいて検索:
所有者がいないファイルを検索するには、次の手順に従います.
所有者のないファイルを削除するには、次の手順に従います.
ファイルタイプに基づいて検索:
ファイルサイズに基づいて検索:(2 kを検索するファイルが1-2 kであれば2 k)
タイムスタンプベースの検索:
式:日付が変更されました.[#,#-1);#日内変更-#:(#,0];#日前変更+#:(00,#-1)
3月9日21时、3日前のファイルを検索して、検索したファイルの时间は3月5日21时からマイナスの无限の时间でなければならなくて、3日目の前で、3日目を含まないため、(今日の前で、昨日の23时59分59秒)
理解:現在の時間の3月9日の21時、3日間の内のファイルを照会して、照会したファイルは3月6日の21時から3月9日の21時までの内容でなければならなくて、比較の公式は見ます
理解:現在の時間の3月9日21時、3日目のファイルを検索して、検索したファイルは3月6日21時から3月7日21時までの内容であるべきで、比較式は理解を調べます
アクセス権ベースの検索:
-perm
MODE:正確な権限照合
/MODE:(u,g,o)オブジェクトの権限の中で1人が同じであれば一致する
-MODE:各クラスに一致して所有する必要があります
実戦練習:
検索/varディレクトリの部下はrootで、グループはmailのすべてのファイルまたはディレクトリです.
/usrディレクトリの下でroot、bin、またはhadoopに属していないすべてのファイルまたはディレクトリを探します.
探して/etcディレクトリの次の1週間以内にその内容は修正したことがあって、同時に所有者がrootではありませんて、hadoopのファイルあるいはディレクトリではありません
現在のシステムにプライマリまたはグループが属しておらず、最近1週間以内にアクセスしたファイルまたはディレクトリを探します.
/etcディレクトリの下で1 Mより大きくて、タイプが普通のファイルのすべてのファイルを探して、そして兆単位で表示します
/etcディレクトリの下のすべてのユーザーが書く権限のないファイルを探します
/etcディレクトリの下で少なくとも1種類のユーザーが実行権限のないファイルを探します
探して/etc/init.d/ディレクトリでは、すべてのユーザに実行権限があり、他のユーザに書き込み権限があるファイル
/tmpで60秒以内にアクセスされるファイルを読み取り秒で検索
スクリプトで実現し、毎晩4時半に/data/log/nginxの下のこのフォーマット「nginx-test」を見つけます.×××.log」のテストログファイルは、このログが2 Mより大きい場合は削除し、削除後、削除したファイル名を/tmpディレクトリ下rmに記録する.ロゴファイル
[root@localhost ~]# which free : /usr/bin/free
locate:非リアルタイムのファジイクエリの毎日の更新
(内蔵データベースにより、システムファイルがデータベースにマッピングされ、前夜に自動的に更新されたターゲットファイルが瞬時に検索されます)
-bマッチングベース名
-c統計がどれだけ条件を満たしているか
updatedb手動更新
find:リアルタイム、ファイル遍歴、正確なマッチング、速度がやや遅い
-a:と
-o:または
-not:非優先度が最も低く、組み合わせて使用するグループ()
-fls/PATH/TO/SO/SMEFILE find後、一致した結果をファイルに保存
-ok COMMAND{}インタラクティブリファレンス-ok前の結果
-exec COMMAND{}\; :直接参照-execの前の結果注意末尾の";"
ファイル名に基づいて検索:
find /tmp -name 'passwd*' -ls ---- passwd
find /tmp -iname 'passwd*' -ls ----
所有者、グループ、UIDに基づいて検索:
find /tmp -user mysql -ls ---- /tmp mysql
find /tmp -group mysql -ls ---- /tmp mysql
所有者がいないファイルを検索するには、次の手順に従います.
find /tmp -nouser
所有者のないファイルを削除するには、次の手順に従います.
find /tmp -nouser -exec rm{} \; ---- -exec {}
ファイルタイプに基づいて検索:
find /etc/ -type f/d/l/s/b/c/p ---- 、 、 、
ファイルサイズに基づいて検索:(2 kを検索するファイルが1-2 kであれば2 k)
find /etc -size 2k -ls ---- 1-2k
find /etc -size -2k -ls ---- 0-1k
find /etc -size +3k -ls -a -size -9k -ls ---- 3k 9k
タイムスタンプベースの検索:
式:日付が変更されました.[#,#-1);#日内変更-#:(#,0];#日前変更+#:(00,#-1)
3月9日21时、3日前のファイルを検索して、検索したファイルの时间は3月5日21时からマイナスの无限の时间でなければならなくて、3日目の前で、3日目を含まないため、(今日の前で、昨日の23时59分59秒)
find /var/log -mtime +3 -type f -ls---->
理解:現在の時間の3月9日の21時、3日間の内のファイルを照会して、照会したファイルは3月6日の21時から3月9日の21時までの内容でなければならなくて、比較の公式は見ます
find /var/log -time -3 -type f -ls ---->
理解:現在の時間の3月9日21時、3日目のファイルを検索して、検索したファイルは3月6日21時から3月7日21時までの内容であるべきで、比較式は理解を調べます
find /var/log -mtime 3 -type f -ls ---->
アクセス権ベースの検索:
-perm
MODE:正確な権限照合
/MODE:(u,g,o)オブジェクトの権限の中で1人が同じであれば一致する
-MODE:各クラスに一致して所有する必要があります
find /tmp -perm /400 ---->
find /tmp -type f -perm /001 -ls ---->
実戦練習:
検索/varディレクトリの部下はrootで、グループはmailのすべてのファイルまたはディレクトリです.
find /var -user root -a -group mail -ls
/usrディレクトリの下でroot、bin、またはhadoopに属していないすべてのファイルまたはディレクトリを探します.
find /usr -not \( -user root -o -user bin -o -user hadoop \) -ls
探して/etcディレクトリの次の1週間以内にその内容は修正したことがあって、同時に所有者がrootではありませんて、hadoopのファイルあるいはディレクトリではありません
find /etc -mtime -7 -not \( -user root -o -user hadoop \) -ls
現在のシステムにプライマリまたはグループが属しておらず、最近1週間以内にアクセスしたファイルまたはディレクトリを探します.
find / \( -nouser -o -nogroup \) -atime -7 -ls
/etcディレクトリの下で1 Mより大きくて、タイプが普通のファイルのすべてのファイルを探して、そして兆単位で表示します
find /etc -size +1M -type f -exec ls -lh {} \;
/etcディレクトリの下のすべてのユーザーが書く権限のないファイルを探します
find /etc -not -perm /222 -type f -ls
/etcディレクトリの下で少なくとも1種類のユーザーが実行権限のないファイルを探します
find /etc -not -perm -111 -type f -ls
探して/etc/init.d/ディレクトリでは、すべてのユーザに実行権限があり、他のユーザに書き込み権限があるファイル
find /etc/init.d -perm -113 -type f -ls
/tmpで60秒以内にアクセスされるファイルを読み取り秒で検索
watch -n1 "find /tmp -amin -60 -type f"
スクリプトで実現し、毎晩4時半に/data/log/nginxの下のこのフォーマット「nginx-test」を見つけます.×××.log」のテストログファイルは、このログが2 Mより大きい場合は削除し、削除後、削除したファイル名を/tmpディレクトリ下rmに記録する.ロゴファイル
30 4 * * * find /data/log/nginx -name 'nginx-test*.log' -size +2M -exec -fls /tmp/rm.log \;
echo ` ` > /tmp/rm.log