目次
5、按权限查找文件" >5、按权限查找文件
6、按文件所有者查找文件" >6、按文件所有者查找文件
7、在查找文件后执行命令" >7、在查找文件后执行命令
总结" >总结
ホームページ システムチュートリアル Linux Linux での Find コマンドの 7 つの強力な使用法

Linux での Find コマンドの 7 つの強力な使用法

Feb 15, 2024 am 08:30 AM
linux Linuxチュートリアル Linuxシステム Linuxコマンド シェルスクリプト Linux を始める Linux学習

わかりました。この段落の詳細な疑似オリジナル バージョンを作成してみます。これは私が修正したバージョンです:

Linux では、Windows Server を使用している場合を除き、バックエンド開発者が find コマンドを習得する必要がある操作の 1 つです。

これは技術面接でもよくある話題です。ここに本当の質問があります:

Linux サーバー上に logs というディレクトリがある場合、その中にある最後にアクセスされたのが 1 年以上前のログ ファイルを削除するにはどうすればよいでしょうか? 🤔

# この状況は非常に一般的ですが、驚くべきことに、すべての開発者がインタビューでこのコマンドを明確に記述できるわけではありません。

回答: まず、cd コマンドを使用して、対応するディレクトリに入る必要があります。その場合、コマンドは次のようになります:

リーリー

Linux 中 find 命令的 7 个强大用途上記のコマンドを完全に理解していなくても、心配する必要はありません。この記事では、find コマンドを最終的にマスターできるように、find コマンドの実際的な使い方を 7 つ紹介します。すでにこのことを知っている場合は、この記事を読むと復習になります。

1. ファイル名または正規表現に基づいてファイルを検索します

最も簡単な使用法から始めましょう。特定の名前でファイルを検索するには、次のコマンドを使用します:

リーリー

Linux 中 find 命令的 7 个强大用途上記のコードの . 記号は、現在のパスを示します。別のパスにあるファイルを検索したい場合は、次のように指定するだけです:

リーリー

Linux 中 find 命令的 7 个强大用途PNG 形式のすべての画像を見つけるにはどうすればよいですか?正規表現を使用します:

リーリー

デフォルトでは、find コマンドは通常のファイルを検索しますが、すべてを明確にするためにタイプを指定することをお勧めします。

リーリー

2. さまざまな種類のファイルを見つける

通常のファイルの検索に加えて、-type オプションを指定することで他の種類のファイルも検索できます。

例:

リーリー

またはシンボリックリンク:

リーリー

3. 特定のタイムスタンプでファイルを検索

特定のタイムスタンプでファイルを検索するには、Linux システムの 3 つの異なるタイムスタンプを理解する必要があります。

アクセス タイムスタンプ (atime): ファイルが最後に読み取られた時刻。変更タイムスタンプ (mtime): ファイルの内容が最後に変更された時刻。変更タイムスタンプ (ctime): ファイルのメタデータ (所有権、場所、ファイル タイプ、アクセス許可設定など、ファイルが最後に変更された日時など)。

したがって、冒頭で述べたインタビューの質問と同様に、1 年以上前のファイルを検索するには、次のコマンドを作成できます。

リーリー

Linux 中 find 命令的 7 个强大用途mtime がちょうど 5 日前であるファイルを検索する必要がある場合は、「より大きい」を意味する記号を含めないでください。

リーリー

Linux 中 find 命令的 7 个强大用途明らかに、記号は「より大きい」を意味し、- 記号は「より小さい」を意味します。したがって、ctime が 5 ~ 10 日のファイルを検索できます:

リーリー

Linux 中 find 命令的 7 个强大用途

4. ファイル サイズによるファイルの検索

-size オプションを使用すると、特定のサイズでファイルを検索できます。次の規則を使用して測定単位を指定できます:

  • b:512字节块(默认)
  • c:字节
  • w:两字节单词
  • k:千字节
  • M:兆字节
  • G:千兆字节

与按时间戳查找文件类似,+号表示“大于”,-号表示“小于”。例如,要查找大小在10兆字节和1千兆字节之间的文件:

find . -type f -size +10M -size -1G
ログイン後にコピー

5、按权限查找文件

适当控制文件的权限是Linux管理员的重要任务。find命令的-perm选项可以帮助我们按特定权限搜索文件:

find . -type f -perm 777
ログイン後にコピー

例如,上述命令将搜索所有具有777权限的文件,这意味着文件对其所有者、组和所有用户具有读、写和执行权限。

6、按文件所有者查找文件

这个任务很简单。我们只需要在-user选项中指定一个用户名。例如,以下命令将找到所有属于 linuxmi 的文件:

find -type f -user linuxmi

7、在查找文件后执行命令

在大多数情况下,我们希望在找到所需文件后执行一些后续操作,例如删除它们、检查它们的详细信息等等。-exec命令使所有这些操作变得更加简单。

现在,为了理解如何使用它,让我们回到之前提到的面试问题:

find . -type f -atime +365 -exec rm -rf {} ;
ログイン後にコピー

上述命令中-exec选项后面是rm -rf,用于删除文件。{}是找到的结果的占位符。

注意:占位符{}非常重要,特别是如果你想要删除文件。因为如果你不使用它,命令将对所有文件执行,而不仅仅是通过find命令找到的文件。

为了尝试一下,在终端上执行以下两个命令并检查它们的结果有什么不同:

一个使用了占位符:

find . -type f -atime +5 -exec ls {} ;
ログイン後にコピー

另一个没有使用:

find . -type f -atime +5 -exec ls ;
ログイン後にコピー

跟在-exec选项后面的命令必须以分号结束。正如我们所知,转义字符用于取消单个字符的特殊含义。在Linux中,反斜杠\被用作转义字符。因此,我们将其用于分号字符。

总结

阅读完find命令的7个用途后,之前提到的面试问题现在看起来非常简单了。现在你能直接写出答案并清楚地解释吗?

find . -type f -atime +365 -exec rm -rf {};
ログイン後にコピー

感谢阅读。如果你喜欢,请关注Linux迷 www.linuxmi.com 以享受更多精彩文章。 🙂

以上がLinux での Find コマンドの 7 つの強力な使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Linuxアーキテクチャ:5つの基本コンポーネントを発表します Linuxアーキテクチャ:5つの基本コンポーネントを発表します Apr 20, 2025 am 12:04 AM

Linuxシステムの5つの基本コンポーネントは次のとおりです。1。Kernel、2。Systemライブラリ、3。Systemユーティリティ、4。グラフィカルユーザーインターフェイス、5。アプリケーション。カーネルはハードウェアリソースを管理し、システムライブラリは事前コンパイルされた機能を提供し、システムユーティリティはシステム管理に使用され、GUIは視覚的な相互作用を提供し、アプリケーションはこれらのコンポーネントを使用して機能を実装します。

GITの倉庫アドレスを確認する方法 GITの倉庫アドレスを確認する方法 Apr 17, 2025 pm 01:54 PM

gitリポジトリアドレスを表示するには、次の手順を実行します。1。コマンドラインを開き、リポジトリディレクトリに移動します。 2。「git remote -v」コマンドを実行します。 3.出力と対応するアドレスでリポジトリ名を表示します。

Apr 16, 2025 pm 07:39 PM

NotePadはJavaコードを直接実行することはできませんが、他のツールを使用することで実現できます。コマンドラインコンパイラ(Javac)を使用してByteCodeファイル(filename.class)を生成します。 Javaインタープリター(Java)を使用して、バイトコードを解釈し、コードを実行し、結果を出力します。

コードを書いた後に崇高に実行する方法 コードを書いた後に崇高に実行する方法 Apr 16, 2025 am 08:51 AM

Sublimeでコードを実行するには6つの方法があります。ホットキー、メニュー、ビルドシステム、コマンドライン、デフォルトビルドシステムの設定、カスタムビルドコマンド、プロジェクト/ファイルを右クリックして個々のファイル/プロジェクトを実行します。ビルドシステムの可用性は、崇高なテキストのインストールに依存します。

Linuxの主な目的は何ですか? Linuxの主な目的は何ですか? Apr 16, 2025 am 12:19 AM

Linuxの主な用途には、1。Serverオペレーティングシステム、2。EmbeddedSystem、3。Desktopオペレーティングシステム、4。開発およびテスト環境。 Linuxはこれらの分野で優れており、安定性、セキュリティ、効率的な開発ツールを提供します。

Laravelインストールコード Laravelインストールコード Apr 18, 2025 pm 12:30 PM

Laravelをインストールするには、これらの手順を順番に進みます。コンポーザー(MacOS/LinuxとWindows用)インストールLaravelインストーラーをインストールします。

GITソフトウェアのインストール GITソフトウェアのインストール Apr 17, 2025 am 11:57 AM

GITソフトウェアのインストールには、次の手順が含まれています。インストールパッケージをダウンロードしてインストールパッケージを実行して、インストール構成gitインストールgitバッシュ(Windowsのみ)を確認します

vscodeの使用方法 vscodeの使用方法 Apr 15, 2025 pm 11:21 PM

Visual Studio Code(VSCODE)は、Microsoftが開発したクロスプラットフォーム、オープンソース、および無料のコードエディターです。軽量、スケーラビリティ、および幅広いプログラミング言語のサポートで知られています。 VSCODEをインストールするには、公式Webサイトにアクセスして、インストーラーをダウンロードして実行してください。 VSCODEを使用する場合、新しいプロジェクトを作成し、コードを編集し、コードをデバッグし、プロジェクトをナビゲートし、VSCODEを展開し、設定を管理できます。 VSCODEは、Windows、MacOS、Linuxで利用でき、複数のプログラミング言語をサポートし、マーケットプレイスを通じてさまざまな拡張機能を提供します。その利点には、軽量、スケーラビリティ、広範な言語サポート、豊富な機能とバージョンが含まれます

See all articles