Linxu自習ツアー-基本コマンド(検索コマンドの検索)

Linux自習の旅-基本的なコマンド(検索コマンドの検索)


序文

1.前のセクションでは、主にその機能と基本的な使用法について、locateコマンドについて説明しました。まだ読んでいない場合は、以下のリンクをクリックして入力してください:locate command

2.このセクションでは、ファイル名でも検索できるコマンドfindについて説明しますが、findコマンドの方が強力です。ファイル名で検索できるだけでなく、さまざまな方法で検索できます。


ヒント:この記事の内容は次のとおりです

1つ、見つける

findコマンドは、ディレクトリ内のファイルを検索できるlocateと同じですが、locateはファイル名でのみ検索を実行でき、検索は異なります。ファイル名を検索できるだけでなく、次の複数の方法もサポートしています。検索を実行します。

  • コマンド名:検索
  • コマンドのフルネーム:ディレクトリ階層でファイルを検索する
  • 場所:/ usr / bin / find
  • 実行権限:すべてのユーザー
  • 関数の説明:ディレクトリ内のファイルをクエリします
命令格式
find 查找路径 [选项]  搜索内容 [额外选项]

findでサポートされているオプションはたくさんあるので、ゆっくりと見ていきましょう。

二、用途を見つける

1.ファイル名で検索

命令格式
find 查找路径 [选项] 查找内容
选项:
-name:按照文件名进行查找
-iname:按照文件名进行查找,不区分大小写
-inum:按照inode进行查找

次に例を示します
。1。次の図に示すように、検索したいパスが続きます。a。は現在のパスを検索したいことを意味し、-nameオプションはファイル名で検索したいことを意味します。その後ろの*記号は、任意の数の文字に一致することを意味します。つまり、ifで始まる他のすべてのファイルを探しています(現在の作業ディレクトリでifで始まるすべてのファイルを検索します)。
ここに画像の説明を挿入

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

命令格式
find 查找路径 [选项] 查找内容
选项::
-size [+/-]
(+代表搜索比查找大小大的文件,-代表搜索比查找大小小的文件)
查找内容:
b:这是以文件大小查找的默认查找大小,不写单位的话默认就是512Byte的查找内容
c:搜索单位是c,就是以字节进行查找
k:搜索单位是k,就是以KB进行查找(小写k)
M:搜索单位是M,就是以MB进行查找(大写M)
G:搜索单位是G,就是以GB进行查找(大写G)

例:
1.find。-Size4k:このディレクトリ内のサイズが4KBのすべてのファイルを検索します。
ここに画像の説明を挿入


2.find。-size+ 1M:このディレクトリで1MBより大きいすべてのファイルを検索することを意味します。(1の前に-が付いている場合は、1 MB未満のファイルを検索するため、ここでは説明しません)
ここに画像の説明を挿入

3.変更時間に基づいて検索

命令格式
find 查找路径 [选项] 查找内容
-atime [+ | -]时间:按照文件访问时间搜索
-mtime [+ | -]时间:按照文件数据修改时间搜索
-ctime [+ | -]时间:按照文件状态修改时间搜索

これらの時間については前に説明しましたが、今度は-atimeを使用して[+ |-]時間がどのように使用されるかを説明します。

1.find。-atime20:このディレクトリのファイルアクセス時間で、20と21の2日前に変更されたファイルを検索することを意味します。
ここに画像の説明を挿入


2.find。-atime-1:このディレクトリでファイルアクセス時間から1日以内に変更されたファイルを検索することを意味します。
ここに画像の説明を挿入


3.find。-atime+ 2:3日前のファイルアクセス時に変更された、このディレクトリ内のファイルを検索することを意味します。
ここに画像の説明を挿入

何日前と何日か理解するのは難しいですが、このように理解できます
{

-atime -10:このような数値の前にマイナス記号がある場合、通常は日数と見なされ、-10は日数を意味します。

-atime 20:足し算と引き算の記号がないこの例のように、私たちは皆、過去x日とx + 1日と見なします。x= 20は、過去20日と21日を意味します。

-atime +5:このような数字の前にプラス記号がある場合、私たちは皆それをx + 1日前と見なし、+ 5は6日前を意味します。
}
わかりにくいですか?

4.権限に従って検索します

命令格式
find 查找路径 [选项] 查找内容
-perm 权限模式:查找文件权限刚好等于“权限模式”的文件
-perm -权限模式:查找文件权限全部包含“权限模式”的文件
-perm +权限模式:查找文件权限包含“权限模式”的任意一个权限的文件

次に例を示します
。1.find。-Perm644:このディレクトリ内で、パーミッションが644パーミッションとまったく同じであるすべてのファイルを検索します。(644パーミッション:所有者:読み取りと書き込み;グループ:読み取り;その他:読み取り)
ここに画像の説明を挿入


2.find。-perm-444:444パーミッション含むこのディレクトリ内のすべてのファイルをクエリます。つまり、ファイルの所有者が属するグループは、グループ内の他の全員が読み取り権限を持っている場合に表示できます。1つ少なくすると機能しませんが、多く表示できます。
ここに画像の説明を挿入


3.find。-Perm+ 444:クエリこのディレクトリに含まれるパーミッションビット4つのパーミッションを持つファイル(つまり、所有者であるかグループ内の他の人であるかにかかわらず、読み取りパーミッションを持っている限り、表示できます。表示するには、少なくとも読み取りパーミッションが必要です。 、ただし+444、あなたがパーツの1つに対する読み取り権限を持っている限り、所有者はグループなどに属します。つまり、3つのパーツを持っている必要がない人は、444の権限を持っています。、彼らはそれを表示することができます彼らは私の+444コードの権限のいずれかを持っているので)
ここに画像の説明を挿入

5.所有者とグループで検索

命令格式
find 查找路径 [选项] 查找内容
-uid 用户ID:按照用户ID查找所有者是指定ID的文件
-gid 组ID:按照组ID查找所属组是指定ID的文件
-user 用户名:按照用户名查找所有者是指定用户的文件
-group 组名:按照组名查找所属组是指定用户组的文件
-nouser:查找没有所有者的文件

ユーザー名とグループ名に基づく検索の例を2つ挙げてください。

1.find。-userroot:所有者がroot
ここに画像の説明を挿入


である現在のディレクトリ内のすべてのファイルを検索します。2.find。-grouproot:グループがrootである現在のディレクトリ内のすべてのファイルを検索します。
ここに画像の説明を挿入
-nouserオプションについては、所有者のいないファイルの種類を実際に見つけることですが、所有者のないこの種類のファイルはどのように生成されますか?たとえば、Uディスクのウィンドウからコピーされたファイルがある場合、Uディスク上のファイルはLinuxにコピーされます、そして人の何もありません。

6.ファイルタイプに従って検索します

命令格式
find 查找路径 [选项] 查找内容
-type d:查找目录
-type f:查找普通文件
-type l:查找软链接文件

次に例を示します
。1.find.-typef:現在のディレクトリ内の通常のファイルであるすべてのファイルを検索します。
ここに画像の説明を挿入

7.論理演算子で同時に検索します

命令格式
find 查找路径 [选项] 查找内容
-a :and逻辑与
-o :or逻辑或
-not :not逻辑非

論理演算子については、開発を勉強したことがあればはっきりしているはずですが、ここでは開発経験のない友達が私の記事を見てくれるのではないかと心配しているので、3つの例を挙げます。

-a:および論理AND =は、両方の条件が確立された場合、検索検索の結果が確立されることを意味します。
例:
1.find。-userroot -a -name jh2.txt:内のすべての所有者を検索するために現在のディレクトリファイルはrootで、ファイル名はjh2.txtです(つまり、-userと-nameの間に-aを追加した場合、findがファイルを見つける前に、これら2つの条件が満たされている必要があります。つまり、所有者は次のようになります。 root。同時に、ファイル名もjh2.txtである必要があります)
ここに画像の説明を挿入




-o:またはlogicalまたは=は、2つの条件のいずれかが真である限り、findが条件検索を実行することを意味します。
例:
2.find .-type f -o -type d:は、現在のディレクトリで通常のファイルまたはファイルタイプがディレクトリであるファイルを検索することを表します。(-typefと-typed add -o、itまたは、つまり、findはファイルタイプfのファイルを検索するか、ファイルタイプがdのファイルを検索すると言います。)-
ここに画像の説明を挿入




not:notlogical not =これは反転を意味します。
例:
3.find。-Not-namejh .txt:ファイル名を含まないこのディレクトリ内のすべてのファイルクエリするにはjh.txtの他のファイルです(これは理解しやすいです。以下に示すように、-notを追加すると反転することを意味し、-notを追加するとすべてを検索できます)。 jh.txt以外のファイル)
ここに画像の説明を挿入

8.追加オプション

命令格式
find 查找路径 [选项] 查找内容 [额外选项]
额外选项:
-exec 命令 {
    
    } \; :(-exec选项可以让你在查询文件的同时使用命令对文件进行操作)

ファイル名の検索方法を例にとってみましょう。下図のように、ファイル名から直接snljh2ファイルを見つけると、画面に直接表示されます。/snljh2が出てきますが、要望があります。ここで、snljh2ファイルを検索できるだけでなく、snljh2ファイルを長い形式で表示することもできます。これには-exec追加オプションが必要です。
ここに画像の説明を挿入
例:

1.find。-namesnljh2-execls -lh {} \;は、ファイル名がsnljh2であるファイルを現在のディレクトリで検索し、ls -lhの形式で表示することを意味します。
{ 1.1:-を追加した後のユーザーを表しますexec extra optionファイルを探している間、いくつかのコマンドを使用してそのファイルに対していくつかの操作を実行できます

1.2:-execの後にls -lh()=が続くのは、実行のためにボックス()に割り当てられた前の-name snljh2の結果を表しますつまり、見つかったsnljh2ファイルは実行のためにls-lhに配置されます

1.3:-exec ls -lh()\; =次の\;は終了の意味を表し、特別な意味はありません
}
ここに画像の説明を挿入


総括する

ですから、私たちが話し合ったこのセクションでは、主に話しました

{ 1. findの基本的な紹介とそのさまざまな使用方法。}次のセクションでは、別の検索コマンドについて説明します。


Jiehuaです。また会いましょう!

おすすめ

転載: blog.csdn.net/qq313088385/article/details/113572292