Linuxコマンドとファイル検索の詳しい説明

Linuxコマンドとファイル検索の詳しい説明

1. ファイル名検索を実行する

which ('実行可能ファイル' を検索) //PATH 環境変数で指定されたパスを照会します
which [-a] command //パラメータ-aは、最初に見つかったコマンドだけでなく、見つかったすべてのコマンドをリストすることを意味します。例: which ifconfig

2. ファイル名の検索

1. whereis (特定のファイルを見つける)

whereis [-bmsu] ファイル名/ディレクトリ名
-b : バイナリファイルのみを検索
-m: 手動パス内のファイルのみを検索します
-s: ソースファイルのみを検索
-u: 上記の 3 つのルールで指定されていない特殊ファイルを検索します。例: whereis ifconfig

2. 見つける

事前に構築されたインデックス ライブラリを利用するため、検索速度が速くなります。
使用法: [-ir] キーワードを検索する
-i : 大文字と小文字の違いを無視する
-r: の後に正規表現を続けると防御モードを表示できます。例:locate ifconfig
注: lcoate は /var/lib/mlocate に記録されたデータに基づいて検索し、/etc/updatedb.config の設定に従ってデータベース updatedb を更新することで、データ ソースがハード ディスクから /var/lib/mlocate に更新されます。
注意: データベースが時間どおりに更新されないため (通常は 1 日に 1 回)、whereis コマンドとlocate コマンドは削除されたファイルを検索する場合があります。ただし、updatedb を手動で実行して更新することができます。

インストール場所:
yum -y インストール mlocate
パッケージを表示:
yum 検索 mlocate
このコマンドは、インストール後にデータベースが更新された後にのみ有効になります。
updatedbを直接実行するだけです


3. 見つける

指定されたディレクトリの下のファイル システム階層を走査してファイルを検索するリアルタイム検索ツール。
動作特性:
検索速度が少し遅いです。
正確な検索;
リアルタイム検索;
使用法:
find [オプション] [PATH] [検索条件] [アクション]
検索条件: ファイル名、サイズ、タイプ、所属、権限などに基づいて検索条件を指定します。
アクション: 検索条件を満たすファイルに対して削除などのアクションを実行します。

検索条件:

1) 時間によるクエリ

日数:
-atime、-ctime、-mtime
mtimeを列として取得する
-mtime n: n は数値で、n 日前以内に変更されたファイルを指します。
-mtime -n: n 日以内に変更されたファイル (n 日目を含む)。
-mtime +n: n 日前に変更されたファイル (n 日目は含みません)。
数分で:
-アミン、-mmin、-cmin
注: これからは、次の図に示すように、1 日を 24 時間として計算されます。

2) ユーザーおよびユーザーグループによるクエリ

-uid n: n は指定された所有者の UID で、/etc/passwd で確認できます。
-gid n: nは指定されたグループのGIDで、/etc/groupで確認できます。
-ユーザー名: 名前で所有されているファイルを検索します。
-グループ名: グループ名に属するファイルを検索します。
-nouser: /etc/passwd 内で所有者のいないファイルを検索します。
-nogroup: /etc/group 内でグループに属していないファイルを検索します。
例えば: find /home -user legayu


3) ファイル名とファイル権限で検索

-name 'pattern': ファイルを検索します。
-iname 'pattern': -name と同じですが、検索対象のファイルの大文字と小文字は区別されません。
glob ワイルドカード *、? をサポートします。 ,[],[^];
-type TYPE: タイプ TYPE のファイルを検索します。一般的なファイル タイプには、通常のファイル (f)、デバイス ファイル (b、c)、ディレクトリ (d)、接続ファイル (l)、ソケット (s)、FIFO ファイル (p) などがあります。
-size [+-]SIZE: SIZEより大きい (+) または小さい (-) ファイルを検索します。サイズの指定: c: はバイト、k: は 1024 バイトを表します。また、M、G は MB と GB を表すためにも使用できます。たとえば、50kB より大きいファイルを検索するには、-size +50k と指定します。
-perm mode: ファイル権限が「ちょうど等しい」モードのファイルを検索します。
-perm -mode: ファイル権限の「すべてを含める必要がある」モードでファイルを検索します。
-perm /mode: 任意のモードを含むファイル権限を持つファイルを検索します。
例えば: find / -name passwd


4) 組み合わせ論理

付き: -a
または: -o
非:-いいえ、!
説明: 論理関係の分割と結合
!A -a !B = !(A -o B)
!A -o !B = !(A -a B )
例えば:
/tmp 内の root が所有していないファイルを検索する
2つの方法:
/tmp を検索 -not -user root -ls
/tmp -not -uid 0 -ls を検索
/tmpディレクトリ内の、所有者がルートではなく、ファイル名にfstab文字列が含まれていないファイルを検索します。

5) 特別な機能を見つける

クエリ結果に対する操作を実行する
-print: 標準出力に出力します。デフォルトのアクションです。
-ls: 見つかったファイルに対して「ls -l」コマンドを実行するのと同様に、ファイルの詳細情報を出力します。ここでは「ll」エイリアスは使用できません。
-delete: 見つかったファイルを削除します。
-fls /PATH/TO/SOMEFILE: 見つかったすべてのファイルの長い形式の情報を指定されたファイルに保存します。
-ok COMMAND {} \; : 見つかったファイルごとに COMMAND で表されるコマンドを実行します。各操作はユーザーによって確認されます。
-exec COMMAND {} \; : 見つかったファイルごとに、COMMAND で表されるコマンドを実行します。
注: find が見つかったファイル パスを次のコマンドに渡す場合、最初に条件を満たすすべてのファイル パスを検索し、それらを一度に次のコマンドに渡します。
ただし、一部のコマンドは長すぎるパラメータを受け入れることができず、その場合コマンドの実行は失敗します。
この問題を回避する別の方法:
つまり、find | xargsコマンド
たとえば、find /root -perm +644 -exec ls -l {} \;
注: {} は find によって見つかったコンテンツを参照し、'\;' は終了文字を表し、'\' はエスケープ文字です。例:
/etc ディレクトリ内で、どのユーザーにも書き込み権限がないファイルを検索します。
~]# find /etc -not -perm /222 -type f -ls
注: すべてのユーザーには少なくとも 1 つの書き込み権限があり、その逆の場合は書き込み権限がないことを意味します。
/etc ディレクトリ内で、ユーザーに実行権限がないファイルを少なくとも 1 種類見つけます。
~]# /etc を検索 -not -perm -111 -type f -ls
注: 少なくとも 1 種類のユーザーには実行権限がありません。これは実行権限の逆です。

以上が、Linux コマンドとファイル検索の詳細の統合に関する編集者の紹介です。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • Linux テキスト検索コマンド find の詳細な使用方法
  • Linux でコマンドまたはプロセスの実行時間を調べる方法
  • Linux コマンド find ファイル検索の例
  • Linux の 2 つの検索コマンド:locate と find の詳細な説明
  • Linux での find コマンドの使い方の詳細な説明
  • LINUX tomcat ログキーワードコマンドの検索
  • Linux 検索フィルタリングとユーザーおよびグループ管理コマンドの例
  • Linux の 5 つの検索コマンドの概要
  • Linux でタブ (バックスペース) を含む文字を検索する grep コマンドの使い方

<<:  MySQL 5.7 のインストールと設定のチュートリアル

>>:  jQuery はピッカーをシミュレートしてスライド選択効果を実現します

推薦する

簡単な約束を段階的に実行する方法を教えます

目次ステップ1: フレームワークを構築するステップ2 構築されたPromiseフレームワークに入力す...

独自のサーバーを素早く構築する方法の詳細なチュートリアル(Java 環境)

1. サーバーの購入1. 私はAlibaba Cloudのサーバーを選択しました。学生向けで月額9...

下線を実現するための CSS3 トランジションの例コード

この記事では、下線を実現するための CSS3 トランジションのサンプル コードを紹介します。このコー...

親要素を基準にCSSの位置を絶対的に設定する方法についての簡単な説明

ご存知のとおり、CSS の絶対位置はデフォルトでドキュメントに応じて設定されます。たとえば、posi...

HTMLファイル内の中国語の文字化けとブラウザでの表示の問題

今日も私のページが文字化けしていたので、インターネットで関連する問題を検索しました。この方法はかなり...

Vue スキャフォールディング プロジェクトを作成するための詳細な手順

vue スキャフォールディング -> vue.cli大規模で完全に機能する Vue プロジェク...

MYSQL 文字関数を使用してデータをフィルタリングすることに関する質問

問題の説明:構造:テストには2つのフィールドがあります。これらは col1 と col2 で、どちら...

泡の小さな鋭角効果を実現するCSS

効果画像(境界線の色が薄すぎるので、{} で囲みます): { }参考リンク Pure CSS バブル...

クリーンなXHTML構文

XHTML を書くには、明確な HTML 構文が必要です。 XHTMLを書くには、きれいなHTML構...

Celery と Docker を使用して Django で定期的なタスクを処理する方法

Django アプリケーションを構築して拡張していくと、必然的に特定のタスクをバックグラウンドで自動...

MySQL 5.7 でルートパスワードを変更する方法

MySQL 5.7 以降では、多くのセキュリティ更新が追加されました。旧バージョンのユーザーは慣れて...

VueはCanvasを使用してランダムなサイズで重なり合わない円を生成します

目次キャンバス関連文書エフェクト画像表示ケースの完全なコード親コンポーネントコードサブコンポーネント...

フォームのデフォルトの送信方法を変更する方法

htmlのデフォルトの送信方法は、postではなくgetです。postに変更したい場合は、 meth...

ubuntu20.04 LTS システムのデフォルト ソース ソース リスト ファイルの変更

誤って source.list の内容を変更し、一連のエラーが発生した場合は、デフォルトのソース フ...

ウェブサイト制作におけるオンライン広告の新しいインタラクティブ体験(グラフィックチュートリアル)

インターネット時代が成熟するにつれて、オンライン広告の発展も加速しています。圧倒的な広告収入と完璧な...