12 Linuxファイル検索コマンド

2884 ワード

locate検索コマンド


検索フォーマット:locateファイル名バックグラウンドデータベースでファイル名で検索し、検索速度が速い
このコマンドを初めて実行すると、locate:can not stat()/var/lib/mlocate/mlocate.db':そのファイルやディレクトリの解決方法はありません:まず実行して、updatedb、実行が完了した後、locateコマンドは正常に実行できます
例:locate install.log
新しいファイルはlocateで検索できません.データベースの更新コマンド:updatedbを表示するには、データベースを更新する必要があります.
ルートディレクトリに切り替え[root@localhost/]#vi etc/updatedbを入力.confでlocateの検索ルールプロファイルを開く
 yes , 
PRUNE_BIND_MOUNTS = "yes"
PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fusectl gfs gfs2 hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs"
PRUNENAMES = ".git .hg .svn"

 
PRUNEPATHS = "/afs /media /net /sfs /tmp /udev /var/cache/ccache /var/spool/cups /var/spool/squid /var/tmp"

ファイル検索コマンド:whereis


特徴:コマンドが存在するパスやヘルプドキュメントが存在する場所を検索したり、ユーザーが自分で作成したファイルなどの情報を検索したりすることはできません.オプション:-b:実行可能ファイルのみ検索-m:ヘルプファイルのみ検索

ファイル検索コマンド:which


特徴:コマンドのパスが表示され、別名があれば別名の説明も表示されます.whereisとwhichではshellコマンドは表示されず、外部にインストールされているコマンドしか表示されません.

$PATH説明:Windowsの環境変数と同様に、コマンドを実行するときはpath定義のディレクトリで探します。


path環境変数:システム検索コマンドのパスを定義する[root@localhost~]#echo$PATH/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binなのでlsのようなコマンドはパス(/bin/ls)を付けずに実行できます.

find検索コマンド


find検索(広範囲の検索を避けると、システムリソースが非常に浪費され、直接「/」ディレクトリの下で検索しないことを推奨する)フォーマット:find【検索範囲】【検索条件】;例:find/home-nameファイル名;注:find検索のデフォルトは完全一致です.
ファジイクエリが必要な場合は、ワイルドカードを追加する必要があります.ワイルドカードには、find/home-name「test」の3つの「」が任意の文字に一致します.例:find/home-name「test」は、test付きのすべての名前のファイルを表示します.または例:find/home-name「****」、ホームディレクトリの下にあるすべてのファイル、非表示ファイルを含む.“?”任意の文字を一致させ、「[]」は任意の中括弧内の文字を一致させ、例:find/home-name「test[12]」はtest 1とtest 2ファイルを表示する.またはfind/home-name「[12]」で、1と2で始まるファイルが表示されます.コンビネーション使用:例:find/home-name「*[12]」は、すべての1と2の末尾のファイルを表示します.
findファイル時間で検索
find/home-mtime+10ホームディレクトリの下で、10日前に修正したファイルを検索find/home-mtime 10ホームディレクトリの下で、10日前に当日修正したファイルを検索find/home-mtime-10ホームディレクトリの下で、10日以内に修正したファイルatimeファイルアクセス時間ctimeを検索ファイル属性mtime修正ファイル内容を変更
find検索find/root-iname test検索検索するtest大文字小文字フォーマットfind/root-user root検索rootディレクトリの下にあるrootユーザーに属するすべてのファイルfind/root-nouserには所属者のないファイルが区別されず、liunxでは各ファイルに所属者があり、そうでなければ一般的にゴミファイルであるが、カーネルで生成されたファイルのように特例があり、所属者はなく、一般的にprocとsysディレクトリの下にある.また、外部ファイル、つまりUディスクにコピーされたファイルも所有者を無視します.
findディレクトリ-sizeファイルサイズ注意:ファイルサイズは小文字kと大文字Mです.-aはand-oはor find/etc-size+20 k-a-size-50 k-exec ls-lh{};exec {} ; 前の検索結果に対して直接後のコマンド処理を行うことを示す固定フォーマット

grep[オプション]文字列ファイル名(文字列は「」で囲まれ、結果は行レコード)


-i大文字と小文字を無視-v指定文字列を除外
findコマンドとgrepコマンドの違い
find:システム内で条件を満たすファイル名を検索し、ワイルドカード(完全)マッチングgrepを使用する:ファイル内で条件を満たす文字列を検索し、正規表現(含む)マッチングを使用する