コマンドラインからLinuxでディレクトリを見つける方法
Linuxシステムにフォルダーが見つかりませんか?心配しないで! Linuxは、行方不明のディレクトリを見つけるための強力なコマンドラインツールを提供します。最も一般的なツールは、さまざまな基準に基づいてディレクトリを検索できるfind
コマンドです。このガイドでは、Linux Systemsでディレクトリを見つけるためのいくつかの方法を紹介します。
まず、名前でディレクトリを検索する方法を示します。次に、最近修正されたディレクトリと過去のn日に変更されたディレクトリを見つける方法を示します。また、古いディレクトリを識別する方法も学びます。これは、数日前に変更されたものです。
次に、 maxdepth
およびmindepth
オプションを使用して、指定された深度範囲内でディレクトリを検索する方法について説明します。特定の数のファイルを含むディレクトリとディレクトリの権限に基づいてディレクトリを見つける方法を学びます。
最後に、ファイルシステムの未使用または不要な部分を識別するのに非常に役立つ空のディレクトリの検索方法について説明します。
ガイド全体を通して、Linuxでディレクトリを使用する際にfind
コマンドを利用するのに役立つ実用的な例を提供します。
目次
- 現在のディレクトリのディレクトリを検索します
- -inameを使用してケースを無視します
- ディレクトリとファイルを検索します
- 最近変更されたディレクトリを見つけます
- 過去のn日に変更されたディレクトリを見つけてください
- 古いディレクトリを特定します
- 指定された範囲内のディレクトリを検索します
- ディレクトリアクセス許可に基づいてディレクトリを見つけます
- 特定の数のファイルを含むディレクトリを見つけます
- 空のディレクトリを検索します
- 要約します
ディレクトリ名で検索します
ディレクトリの名前と検索の開始場所がわかっている場合は、次のコマンドを使用します。
find/path/to/search -Type d -Name "directory_name"
/path/to/search
実際のパスで、ターゲットディレクトリに"directory_name"
置き換えます。
例:
$ find〜/ -Type D -Name "Documents"
このコマンドは、ユーザーのホームディレクトリ(〜/)から「ドキュメント」という名前のディレクトリの検索を開始します。
これがコマンドの内訳です:
-
find ~/
:ユーザーのホームディレクトリ(〜/)から検索を開始します。 -
-type d
:通常のファイルではなく、ディレクトリ(-Type D)の検索をfind
てください。 -
-name "Documents"
:このオプションは、「ドキュメント」という名前のディレクトリを見つけるようにfind
に指示します。 「ドキュメント」の両側にある引用は、「ドキュメント」という言葉を含むディレクトリだけでなく、検索が正確な名前を探していることを確認します。
したがって、このコマンドは、「ドキュメント」という名前のディレクトリのユーザーのホームディレクトリとそのすべてのサブディレクトリを検索します。ディレクトリが見つかった場合、それらのディレクトリへのフルパスを印刷します。
現在のディレクトリのディレクトリを検索します
Home Directory(〜/)の代わりに現在のディレクトリから検索を開始する場合は、次のようにコマンドの一部を省略できます。
$ find d -name "documents"
各オプションの機能の内訳は次のとおりです。
-
find .
.
-
-type d
:ディレクトリを検索するように送っfind
ください。 -
-name "Documents"
:このオプションは、「ドキュメント」という名前のディレクトリを見つけるようにfind
に指示します。
このコマンドは、現在のディレクトリとそのすべてのサブディレクトリを検索し、「ドキュメント」という名前のディレクトリを見つけ、それらのディレクトリへのフルパスを印刷します。
または、現在の作業ディレクトリを次のように表す$PWD
変数を使用することもできます。
$ $ PWD -TYPE D -NAME「ドキュメント」を見つけます
両方のコマンドは、現在のディレクトリから始めて、同じ結果を達成します。
-inameを使用してケースを無視します
これは、 find
コマンドの非常に便利なフラグです。
-name
の代わりに-iname
オプションを使用して、ケースに依存しない検索を実行できます。
以下は、 -name
の代わりに-iname
を使用する例です。
$ find -type d -iname "documents"
-iname "Documents"
オプションは、ディレクトリを「ドキュメント」、「ドキュメント」、「ドキュメント」などの名前と一致させます。これは、ディレクトリ名の正確なケースがわからない場合に役立ちます。
-name
と-iname
の主な違いは次のとおりです。
-
-name
ケースに敏感な検索を実行するため、提供されたパターンとまったく同じケースのディレクトリのみを一致させます。 -
-iname
ケースに依存しない検索を実行するため、ケースに関係なくディレクトリと一致します。
このようなワイルドカードに検索用語を含めることもできます。
$ find d -name "*documents*"
このコマンドは、名前に「ドキュメント」を含む現在のディレクトリ(およびそのサブディレクトリ)のすべてのディレクトリをリストします。
-iname
を使用すると、探しているディレクトリ名の正確なケースを知らないか気にしない場合は、より便利です。
個人的には、何かを検索するとき、私はfind
コマンドで-iname
オプションを使用することを好みます。
ディレクトリとファイルを検索します
-name
や-iname
オプションなどの他の基準に一致するファイルとディレクトリを検索find
から-type d
パーツを削除すると、ファイルとディレクトリが検索されます。
コマンドは次のとおりです。
$ find -iname "documents"
これが起こることです:
-
find
コマンドは、「ドキュメント」(ケースの鈍感)という名前のプロジェクト(ファイルおよびディレクトリ)の現在のディレクトリ(。)とそのすべてのサブディレクトリを検索します。 - 「ドキュメント」という名前のディレクトリと、結果に「ドキュメント」という名前の通常のファイルが含まれます。
したがって、このコマンドの出力には次のものが含まれます。
- 「ドキュメント」、「ドキュメント」、「ドキュメント」などという名前のディレクトリ
- 「ドキュメント」、「ドキュメント」、「ドキュメント」などの通常のファイル。
-type d
セクションを削除すると、指定された名前パターンに一致するディレクトリとファイルが含まれるため、検索が広くなります。
これは、探している「ドキュメント」エントリがディレクトリまたはファイルであるかどうか、そしてすべての出来事を見つけたいかどうかがわからない場合に役立ちます。
ただし、「ドキュメント」という名前のディレクトリを具体的に探している場合は、検索を絞るために-type d
オプションを維持することをお勧めします。
最近変更されたディレクトリを見つけます
特定の日付範囲内で変更されたディレクトリをリストするには、 -newermt
2回使用します。
たとえば、2024年3月15日から2024年4月15日までに作成または変更されたディレクトリを検索するには(これら2日間を除く)、次を使用できます。
$ find/path/to/search -Type D -Newermt "2024-03-15"!
上記のコマンドの内訳は次のとおりです。
-
find /path/to/search
:/path/to/search
ディレクトリから検索を開始するようにfind
を見つけます。 -
-type d
:このオプションは、find
コマンドが通常のファイルではなくディレクトリのみを検索することを保証します。 -
-newermt "2024-03-15"
:このオプションは、2024年3月15日よりも更新(作成または変更された)ディレクトリのみを含めるようにfind
を指示します。 -
! -newermt "2024-04-15"
!
find
これらのオプションの組み合わせにより、2024年3月15日以降、2024年4月15日までにfind
検索ディレクトリが作成または変更されます。
たとえば、これは、特定の期間に作成または変更されたすべてのディレクトリを見つけたい場合に役立ちます(たとえば、バックアップや監査など)。
過去のn日に変更されたディレクトリを見つけてください
過去のn日に変更されたディレクトリを見つけるには、 -mtime
を使用してください。
次のコマンドは、〜/ Projects/ディレクトリの下で過去7日間に変更されたディレクトリを検索します。
$ find〜/ projects/ -type d -mtime -7
コマンドの各部分が行うことは次のとおりです。
-
find ~/Projects/
:〜/ projects/ directoryから検索を開始するようにfind
を見つけます。 -
-type d
:このオプションは、find
コマンドが通常のファイルではなくディレクトリのみを検索することを保証します。 -
-mtime -7
:このオプションは、過去7日間に変更されたディレクトリのみを含めるようにfind
に指示されています(「M」は「M」は「時間の変更」を意味します)。
-mtime -7
部分の作業原則は次のとおりです。
- マイナス記号( - )は、「過去に」または「以下」を意味します。
- 7番は日数を表します。
たとえば、これは、〜/ Projects/ Directory(おそらくバックアップまたは追跡用)で最近作成または更新されたすべての新しいディレクトリを見つけたい場合に非常に便利です。
古いディレクトリを特定します
数日前に変更されたディレクトリを見つけるには(つまり、n日前のディレクトリを見つける)、プラス記号で-mtime
使用します。
たとえば、次のコマンドは、7日前に〜/ Projects/ディレクトリの下で変更されたディレクトリを検索します。
$ find〜/ projects/ -type d -mtime 7
言い換えれば、過去7日間に変更されていない(作成、更新、またはアクセス)ディレクトリを探します。
-mtime 7
オプションは、変更時間(「M」の「M」)が7日前よりも大きいディレクトリのみを含めるようにfind
指示しています。
したがって、このコマンドを使用して、しばらくの間触れたり変更されていないディレクトリを見つけることができます。これは、未使用または時代遅れのディレクトリまたはプロジェクトディレクトリ構造のメンテナンス/クリーニングなどのタスクを実行するのに役立ちます。
ディレクトリが実際にX日前に変更されたかどうかをどのようにして知ることができますか?とてもシンプルです。
find
コマンドによって見つかったディレクトリが7日前に変更されたことを確認するために、 stat
コマンドを使用して各ディレクトリの変更時間を表示できます。
$ find〜/ project/ -type d -mtime 7 -exec stat -c '%n%y' {} \;
以下は、上記のコマンドの説明です。
-
find ~/Projects/ -type d -mtime 7
:このコマンドパーツは以前と同じです。7日前にディレクトリを見つけます。 - -exec stat
stat
'-exec
nfind
-exec stat -c '%n %y' {} \;
-
stat -c '%n %y'
:stat
コマンドには、ディレクトリのファイル名(%n)と最後の変更された時間(%y)が表示されます。 -
{}
:これはプレースホルダーであり、find
が見つけた現在のディレクトリに置き換えられます。 -
\;
これは-exec
コマンドを終了します。
このコマンドを実行すると、7日前に各ディレクトリのパスと最後の変更時間が表示されます。これにより、見つかったディレクトリが7日前に実際に変更されたことを確認できます。
これが出力の例です。
<code>/home/ostechnix/Projects/Python 2024-03-22 14:18:14.958042173 0530 /home/ostechnix/Projects/Vim 2024-03-22 14:05:55.887041168 0530</code>
出力に表示される変更時間は、元のfind
コマンドで要求されるように、ディレクトリが実際に7日より長いことを確認するのに役立ちます。
指定された範囲内のディレクトリを検索します
find
コマンドのmaxdepth
およびmindepth
オプションを使用して、指定された深度範囲内のディレクトリを検索できます。
以下は構文です。
find/path/to/search -mindepth x -maxdepth y -type d
このコマンドの各オプションが何をするかを説明させてください。
-
find /path/to/search
:/path/to/search
ディレクトリから検索を開始するようにfind
を見つけます。 -
-mindepth X
:このオプションは、ディレクトリの最小深度レベルを設定して、検索結果に含める。値xは、開始点から始まるディレクトリレベルの最小数を表します。 -
-maxdepth Y
:このオプションは、検索結果に含めるディレクトリの最大深度レベルを設定します。値yは、開始点から始まるディレクトリレベルの最大数を表します。 -
-type d
:このオプションは、find
コマンドが通常のファイルではなくディレクトリのみを検索することを保証します。
-type
を含む他のパラメーターの前に、-mindepth
オプションを指定する必要があることに注意してください。
たとえば、少なくとも2層の深さ2層を検索するには、 /Projects
ディレクトリの深さまで最大4レイヤーを検索するには、次のコマンドを使用できます。
$ find〜/projects -mindepth 2 -maxdepth 4 -type d
このコマンドは/Projects
ディレクトリに比べて、少なくとも2層の深さと深さ4層までのディレクトリ(含まれています)を検索します。
特定のニーズに応じてxとyの値を調整できます。たとえば、深さ3層のディレクトリを検索する場合は、以下を使用できます。
$ find〜/projects -mindepth 3 -maxdepth 3 -type d
これには、検索結果に3層のディープディレクトリのみが含まれます。
maxdepth
とmindepth
を組み合わせて使用すると、検索を特定の範囲のディレクトリ深度に絞り込むことができます。これは、ファイルシステムの整理と管理に非常に役立ちます。
ディレクトリアクセス許可に基づいてディレクトリを見つけます
ディレクトリの権限に基づいてディレクトリを見つけるには、 -perm
オプションを使用して[ find
コマンド]を使用できます。
find/path/to/search -Type D -Perm<permission_specification></permission_specification>
/path/to/search
ディレクトリに置き換えて検索を開始し、<permission_specification></permission_specification>
必要な権限に置き換えます。 Octal Notationを使用してアクセス許可を指定できます。
いくつかの例をお見せしましょう。
現在のディレクトリで許可755(つまり、所有者はRWX、グループ、その他はRXです)を持つすべてのディレクトリを見つけるには:
$ find -type d -perm 755
所有者がRWX許可を持っているディレクトリを見つけるために、グループにはRX許可があり、その他には許可がありません。
$ find -type d -perm 750
所有者が許可証とグループに持っているプロジェクトですべてのディレクトリを見つけるには、RX許可があります。
$ find〜/projects〜 -type d -perm -005
特定の要件に従って調整できます<permission_specification></permission_specification>
。さらに、 -maxdepth
および-mindepth
オプションを使用して、必要に応じて検索の深さを制御できます。
特定の数のファイルを含むディレクトリを見つけます
特定の数のファイルを含むディレクトリを見つけるには、 find
、 wc
およびBashコマンドを組み合わせて使用できます。
例:
次のコマンドは、現在のディレクトリとそのサブディレクトリに4つのファイルを含むディレクトリを探し、それらのディレクトリへのフルパスを印刷します。
$ type d -exec bash 'if [$ 1 "-maxdepe f | wc -l)
コマンドを段階的に分解しましょう。
-
find . -type d
:現在のディレクトリ(。)からディレクトリ(ファイルではない)の検索を開始します。 - -exec bash -c
exec
find
-exec bash -c '...' _ {} \;
-
if [ $(find "$1" -maxdepth 1 -type f | wc -l) -eq 4 ]; then echo "$1"; fi
-
$(find "$1" -maxdepth 1 -type f | wc -l)
現在のディレクトリ(「$ 1」)のファイルの数(ディレクトリではなく)を計算します。-maxdepth 1
オプションは、サブディレクトリのファイルではなく、現在のディレクトリ内のファイルのみを計算することが保証されます。 -
[ ... -eq 4 ]
:これは、現在のディレクトリ内のファイルの数が正確に4であるかどうかをチェックします。 -
then echo "$1"; fi
たとえば、これは、特定の数のファイルを含む特定のディレクトリセットがあり、その基準を満たしていないディレクトリをすばやく識別する場合に役立ちます。
空のディレクトリを検索します
空のディレクトリを見つけるには、 -empty
フラグを使用します。
find/path/to/search -Type D -Empty
たとえば、「作業」ディレクトリで空のディレクトリを検索するには、実行します。
$ find〜/ work/ -type d -Empty
必要に応じてパスを調整することを忘れないでください。
要約します
このガイドでは、 find
コマンドを使用してLinuxシステムでディレクトリを検索するためのいくつかのテクニックを学びました。
名前、前回の変更、または内部ファイルの数で検索できます。特定の権限を備えた空のフォルダーやフォルダーを見つけることもできます。
maxdepth
、 mindepth
、 size
などのオプションを使用する方法を学ぶことで、検索を改善して、必要な特定のディレクトリに集中できます。
したがって、次回フォルダーが紛失したときにパニックに陥らないでください!これらのfind
コマンドを使用して、それを追跡し、ファイルを整理したままにします。
以上がコマンドラインからLinuxでディレクトリを見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Linuxは、サーバー管理、組み込みシステム、デスクトップ環境として最適です。 1)サーバー管理では、LinuxはWebサイト、データベース、アプリケーションをホストするために使用され、安定性と信頼性を提供します。 2)組み込みシステムでは、Linuxは柔軟性と安定性のため、スマートホームおよび自動車電子システムで広く使用されています。 3)デスクトップ環境では、Linuxは豊富なアプリケーションと効率的なパフォーマンスを提供します。

Linuxの5つの基本コンポーネントは次のとおりです。1。カーネル、ハードウェアリソースの管理。 2。機能とサービスを提供するシステムライブラリ。 3.シェル、ユーザーがシステムと対話するインターフェイス。 4.ファイルシステム、データの保存と整理。 5。アプリケーション、システムリソースを使用して機能を実装します。

Linuxシステム管理により、構成、監視、メンテナンスを通じて、システムの安定性、効率、セキュリティが保証されます。 1。TOPやSystemCtlなどのマスターシェルコマンド。 2. APTまたはYUMを使用して、ソフトウェアパッケージを管理します。 3.効率を向上させるための自動スクリプトを書きます。 4.許可問題などの一般的なデバッグエラー。 5.監視ツールを介してパフォーマンスを最適化します。

基本的なLinux学習の方法は次のとおりです。1。ファイルシステムとコマンドラインインターフェイス、2。LS、CD、MKDIR、3。ファイルの作成と編集などのファイル操作を学習するマスター基本コマンド、4。

Linuxは、サーバー、組み込みシステム、デスクトップ環境で広く使用されています。 1)サーバーフィールドでは、Linuxは、その安定性とセキュリティにより、Webサイト、データベース、アプリケーションをホストするための理想的な選択肢となっています。 2)埋め込みシステムでは、Linuxは高いカスタマイズと効率で人気があります。 3)デスクトップ環境では、Linuxはさまざまなユーザーのニーズを満たすために、さまざまなデスクトップ環境を提供します。

Linuxデバイスは、サーバー、パーソナルコンピューター、スマートフォン、組み込みシステムなどのLinuxオペレーティングシステムを実行するハードウェアデバイスです。彼らはLinuxの力を利用して、Webサイトのホスティングやビッグデータ分析などのさまざまなタスクを実行します。

Linuxの欠点には、ユーザーエクスペリエンス、ソフトウェア互換性、ハードウェアサポート、学習曲線が含まれます。 1.ユーザーエクスペリエンスは、WindowsやMacOほどフレンドリーではなく、コマンドラインインターフェイスに依存しています。 2。ソフトウェアの互換性は他のシステムほど良くなく、多くの商用ソフトウェアのネイティブバージョンがありません。 3.ハードウェアサポートはWindowsほど包括的ではなく、ドライバーは手動でコンパイルされる場合があります。 4.学習曲線は急で、コマンドラインの操作をマスターするには時間と忍耐が必要です。

Linuxisfundantallyfree、「freeasinfreedom」を具体化する、研究、共有、およびsoftware.modifythesoftware.software.costmayarisefromprofsisalsupport、commercial -distributions、proprietaryhardwaredrivers、およびrelearningresourseSepoten
