findは、Linuxの下で最高のコマンドの1つです。そのクエリ機能は非常に強力です。 findの使い方の大部分は以下に詳述されています:どのように働くか:それはファイル階層をたどり、基準にマッチするファイルをマッチさせ、そして適切なアクションを実行します。
- 1.ファイルとディレクトリの一覧の印刷
- $ find。-print#ファイルとディレクトリの一覧の印刷
-printを使用する場合は、ファイルを区切るための区切り文字として’ \\ n’を使用します。 -print0は、一致する各ファイル名を印刷するための区切り文字として’ \\ 0’が使用されることを示します。この方法は、’ \\ n’の付いたファイル名に対して非常に効果的です。しかし、centosでの実際のテストの後、findは-printオプションなしで、一致するファイルを直接表示します。 2.ファイル名または正規表現に従って検索オプションを一致させます。-nameは、ファイル名が一致する必要があるストリングを指定します。
- $ find。-name" * .txt" -print#" .txtで終わるファイルを印刷する
- $ find。-iname" *。txt" -print#-inameは、一致するファイル名が大文字と小文字を区別しないことを示します。
3.いくつかの条件の1つに一致する条件付き制約 - a:means、-o:means、または-not:not notを意味します。
- $ find 。((-name" *。txt" -o -name" *。pdf" \\)-print#現在のディレクトリの.txtまたは.pdfで終わるファイルを印刷します。
- $ find。\\( -name" *。txt" -a -name" a *" \\)-print#現在のディレクトリにあるaから始まり.txtで終わるファイルを印刷します。
- $ find。-not \\( -name" *。txt" -a -name" a *" \\)-print#.txtで始まらない、または.txtで終わらない現在のディレクトリ内の印刷ファイル
- $ 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:このパラメータはファイルパス全体を一致させるために使用されます。
- $ find /home /user -path" * sh" -print
- /home/user/bin/1.sh < Br>
- /home /user /bash
- -regex:このパラメータは、正規表現に基づくファイルパスと一致することを除けば、-pathと似ています。
- $ find。-regex"。* \\(\\ .py \\ | \\ .sh \\)$"
4.負のパラメータfindにも'!を使用できます。負のパラメータとして - を使用します。
- $ find。!-name" .txt" -print#.txtで終わらないすべてのファイルを一致させる
5.ディレクトリベースのdeep search findコマンドは、使用時にすべてのサブディレクトリをトラバースしますが、そのトラバースの深さを制限するためにいくつかのパラメータを使用できます。
- -maxdepth:最大深度の上限。1は現在のディレクトリ内のみを意味し、2は次の2つのレベルを意味します。 。 。 。 。 。
- $ find。-maxdepth 1 -type f -print#現在のディレクトリにあるすべての一般的なファイルを一覧表示します。
- $ find。-mindepth 2 -type f -print#現在のディレクトリの少なくとも2つのサブディレクトリからすべてのファイルを一覧表示します。
6.ファイルタイプに基づくlinuxの下のファイルタイプを検索します。ファイルタイプ種別パラメータ通常ファイルfシンボルファイルlディレクトリdキャラクタデバイスcブロックデバイスbソケットFifo(パイプファイル)p
- $ find - f -print
- $ findと入力します-type d -print
7.ファイル時間の検索Linuxファイルシステムの各ファイルには、3つのタイムスタンプがあります。アクセス時間(atime - アクセス時間):ファイルが最後にアクセスされた時刻です。変更時刻(ctime - 変更時刻):ファイルのiノードが変更された時刻(iノードとは何ですか?)。ファイルにデータを追加したりデータを削除したりすると、ファイルの所有者が変更されるとリンクが変わります。ファイルのctimeが変わります。変更時刻(mtime - 変更時刻):ファイルの内容が最後に変更された時刻です。 -atime、-ctime、-mtimeは、findの時間パラメータとして使用できます。単位は日であり、これらの値には通常、+または - が含まれます。
- $ find -type f -atime -7 -print#7日以内にアクセスされたファイルの印刷
- $ find。-type f -atime 7 -print#7日以上前にアクセスされた#printファイル
- $ find。-type f -atime +7 -print#7日以上アクセスされていない#printファイル
上記の時間は「日」を基準とし、「分」を基準としています。 -amin -mmin -cminは上記と似ていますが、これも例ではありません。タイムスタンプを比較するための参照ファイルを指定して、その参照ファイルより新しいファイルをすべて見つけることができます。
- $ find -type f -newer file.txt -print
8.ファイルサイズに基づいて検索
- -size:使い方は上記のものと同じです。
- $ find。-type f -size + 2k#2kより大きいファイルを見つけてください。
- $ find -type f -size 2k#2kに等しいファイルを探す
- $ find -type f -size -2k#2kより小さいファイルを探す
k以外のファイル他のファイルサイズの単位b - ブロック - (512バイト)があります。 c - mバイト。 w——単語。 k——キロバイトM - mdash - メガバイトG——ギガバイト9.一致するファイルを削除します。
- -deleteパラメータでこれを実行できます。
- $ find -type f -name" *。swp" -delete
10.ファイルのアクセス権と所有権の一致に基づく
< Li>
- -perm:
- $ find -type f -perm 644 -print#許可を得てファイルを印刷する644
- -user:ユーザー名を解決できるまたはuid
- $ find -type f -user root -print#rootユーザーが所有するファイルを印刷します。
11. findと組み合わせてコマンドまたはアクションを実行します。
- -exec:このパラメータは、findの最も強力なパラメータの1つです。
- $ find -type f -name" *。c" -exec cat {} \\;> file.txt#すべてのcプログラムをまとめて1つのファイルfile.txtに書き込みます。
- $ find -type f -mtime +10 -name" *。txt" -exec cp {} /tmp \\;#10日前に.txtファイルを/tmpにコピーします。
- 注:{}は一致するファイルを示します。
12.特定のディレクトリをスキップして検索しよう
- $ find。\\( - name" .git" -prune \\)-o \\(-type f -print \\)
13. xargsと組み合わせて検索
- xargs:will標準入力はコマンドラインパラメータに変換されます。
- $ find。-type f -name" *。txt" -print0 | Xargs -0 rm -f#一致したファイルを削除します。入力区切り文字として\\ 0を指定してxargs -0を実行します。
- $ find。-type f -name" *。c" -print0 | Xargs -0wc -l#すべてのCプログラムファイルの行数を数えます。
zh-CN"],null,[1],zh-TW"]]]
多くのユーザーはまだダイヤルアップインターネットアクセスを使用していますが、起動するたびにブロードバンド接続を確立してネットワークに接続する必要があります。ブロードバンド接続の場合、さまざまなエラーコ
Windowsにログインしたり、システムを制御するために管理者アカウントを使用している場合でも、ときどき次の図のようなプロンプトが表示されることがあります。ビルトイン管理者アカウントでXXプログラムを
最近、uディスクを使ってuディスク起動ディスクを作成すると、peと入力するとブルースクリーンが表示され、エラーコード0x000000b4が表示されることが多くのユーザーに反映されています。実際、これは
通常の状況では、コンピュータの電源を入れた後、インターネットにアクセスするためにブロードバンド接続を開く必要があります。実際、ネットワークを自動接続の状態に完全に設定できるので、コンピュータを自動的に
マイクロソフトは3月にIE /Win7 /Win8を含む23個の脆弱性を修正しました
崩壊の時のWindowsシリーズCaozuoxitong、通常読みブルースクリーンを表示:ファイアウォール経由でWindowsのブルースクリーンが
WindowsでSVNサーバーをインストールしてセットアップする方法
WindowsシステムコンピュータはどのようにBIOS設定を入力しますか?
Thunderをデフォルトのダウンロードソフトウェアとして設定するにはどうすればいいですか?
コンピュータの電源を入れたときに「Login component error 4」の問題を解決するには?
コンピュータの起動プロンプト0xc000000fの問題を解決するには?