Windows system >> Windowsの知識 >  >> Windowsチュートリアル合成 >> システムFAQ >> 詳細なコマンドの検索

詳細なコマンドの検索

  

findは、Linuxの下で最高のコマンドの1つです。そのクエリ機能は非常に強力です。 findの使い方の大部分は以下に詳述されています:どのように働くか:それはファイル階層をたどり、基準にマッチするファイルをマッチさせ、そして適切なアクションを実行します。

 

  1. 1.ファイルとディレクトリの一覧の印刷
  2. $ find。-print#ファイルとディレクトリの一覧の印刷

    -printを使用する場合は、ファイルを区切るための区切り文字として’ \\ n’を使用します。 -print0は、一致する各ファイル名を印刷するための区切り文字として’ \\ 0’が使用されることを示します。この方法は、’ \\ n’の付いたファイル名に対して非常に効果的です。しかし、centosでの実際のテストの後、findは-printオプションなしで、一致するファイルを直接表示します。 2.ファイル名または正規表現に従って検索オプションを一致させます。-nameは、ファイル名が一致する必要があるストリングを指定します。

     

    1. $ find。-name" * .txt" -print#" .txtで終わるファイルを印刷する
    2. $ find。-iname" *。txt" -print#-inameは、一致するファイル名が大文字と小文字を区別しないことを示します。

      3.いくつかの条件の1つに一致する条件付き制約 - a:means、-o:means、または-not:not notを意味します。

       

      1. $ find 。((-name" *。txt" -o -name" *。pdf" \\)-print#現在のディレクトリの.txtまたは.pdfで終わるファイルを印刷します。
      2. $ find。\\( -name" *。txt" -a -name" a *" \\)-print#現在のディレクトリにあるaから始まり.txtで終わるファイルを印刷します。
      3. $ find。-not \\( -name" *。txt" -a -name" a *" \\)-print#.txtで始まらない、または.txtで終わらない現在のディレクトリ内の印刷ファイル
      4. $ find。-not \\(-name" *。txt" -o -name" a *" \\)-print#現在のディレクトリ内でaで始まらず、.txtで終わらないファイルを印刷する

        - 使い方はDe Morganの法則に由来します。http://en.wikipedia.org/wiki/%E5%BE%B7%E6%91%A9%E6%A0%B9%E5を参照してください。 %AE%9A%E5%BE%8B

        -path:このパラメータはファイルパス全体を一致させるために使用されます。

         

        1. $ find /home /user -path" * sh" -print
        2. /home/user/bin/1.sh < Br>
        3. /home /user /bash
        4. -regex:このパラメータは、正規表現に基づくファイルパスと一致することを除けば、-pathと似ています。
        5. $ find。-regex"。* \\(\\ .py \\ |  \\ .sh \\)$"

          4.負のパラメータfindにも'!を使用できます。負のパラメータとして - を使用します。

           

          1. $ find。!-name" .txt" -print#.txtで終わらないすべてのファイルを一致させる

            5.ディレクトリベースのdeep search findコマンドは、使用時にすべてのサブディレクトリをトラバースしますが、そのトラバースの深さを制限するためにいくつかのパラメータを使用できます。

             

            1. -maxdepth:最大深度の上限。1は現在のディレクトリ内のみを意味し、2は次の2つのレベルを意味します。 。 。 。 。 。
            2. $ find。-maxdepth 1 -type f -print#現在のディレクトリにあるすべての一般的なファイルを一覧表示します。
            3. $ find。-mindepth 2 -type f -print#現在のディレクトリの少なくとも2つのサブディレクトリからすべてのファイルを一覧表示します。

              6.ファイルタイプに基づくlinuxの下のファイルタイプを検索します。ファイルタイプ種別パラメータ通常ファイルfシンボルファイルlディレクトリdキャラクタデバイスcブロックデバイスbソケットFifo(パイプファイル)p

               

              1. $ find - f -print
              2. $ findと入力します-type d -print

                7.ファイル時間の検索Linuxファイルシステムの各ファイルには、3つのタイムスタンプがあります。アクセス時間(atime - アクセス時間):ファイルが最後にアクセスされた時刻です。変更時刻(ctime - 変更時刻):ファイルのiノードが変更された時刻(iノードとは何ですか?)。ファイルにデータを追加したりデータを削除したりすると、ファイルの所有者が変更されるとリンクが変わります。ファイルのctimeが変わります。変更時刻(mtime - 変更時刻):ファイルの内容が最後に変更された時刻です。 -atime、-ctime、-mtimeは、findの時間パラメータとして使用できます。単位は日であり、これらの値には通常、+または - が含まれます。

                 

                1. $ find -type f -atime -7 -print#7日以内にアクセスされたファイルの印刷
                2. $ find。-type f -atime 7 -print#7日以上前にアクセスされた#printファイル

                3. $ find。-type f -atime +7 -print#7日以上アクセスされていない#printファイル

                  上記の時間は「日」を基準とし、「分」を基準としています。 -amin -mmin -cminは上記と似ていますが、これも例ではありません。タイムスタンプを比較するための参照ファイルを指定して、その参照ファイルより新しいファイルをすべて見つけることができます。

                   

                  1. $ find -type f -newer file.txt -print

                    8.ファイルサイズに基づいて検索

                     

                    1. -size:使い方は上記のものと同じです。
                    2. $ find。-type f -size + 2k#2kより大きいファイルを見つけてください。
                    3. $ find -type f -size 2k#2kに等しいファイルを探す
                    4. $ find -type f -size -2k#2kより小さいファイルを探す

                      k以外のファイル他のファイルサイズの単位b - ブロック - (512バイト)があります。 c - mバイト。 w——単語。 k——キロバイトM - mdash - メガバイトG——ギガバイト9.一致するファイルを削除します。

                       

                      1. -deleteパラメータでこれを実行できます。
                      2. $ find -type f -name" *。swp" -delete

                        10.ファイルのアクセス権と所有権の一致に基づく

                         
                          < Li>
                        1. -perm:
                        2. $ find -type f -perm 644 -print#許可を得てファイルを印刷する644
                        3. -user:ユーザー名を解決できるまたはuid
                        4. $ find -type f -user root -print#rootユーザーが所有するファイルを印刷します。

                          11. findと組み合わせてコマンドまたはアクションを実行します。


                          1. -exec:このパラメータは、findの最も強力なパラメータの1つです。
                          2. $ find -type f -name" *。c" -exec cat {} \\;> file.txt#すべてのcプログラムをまとめて1つのファイルfile.txtに書き込みます。
                          3. $ find -type f -mtime +10 -name" *。txt" -exec cp {} /tmp \\;#10日前に.txtファイルを/tmpにコピーします。
                          4. 注:{}は一致するファイルを示します。

                            12.特定のディレクトリをスキップして検索しよう

                             

                            1. $ find。\\( - name" .git" -prune \\)-o \\(-type f -print \\)

                              13. xargsと組み合わせて検索

                               

                              1. xargs:will標準入力はコマンドラインパラメータに変換されます。
                              2. $ find。-type f -name" *。txt" -print0 | Xargs -0 rm -f#一致したファイルを削除します。入力区切り文字として\\ 0を指定してxargs -0を実行します。
                              3. $ find。-type f -name" *。c" -print0 |  Xargs -0wc -l#すべてのCプログラムファイルの行数を数えます。


                              4. zh-CN"],null,[1],zh-TW"]]]
Copyright © Windowsの知識 All Rights Reserved