• 線上工具
  • - 計算器
    • 字元計數
  • - 下載
    • TikTok 下載
    • 抖音下載
  • - 網路工具
    • BASE64
    • Base64 轉圖片
    • 圖片轉 Base64
    • URL 編碼
    • JavaScript
    • 時間戳
    • Unicode 轉換器
    • JSON 格式化
    • 修改副檔名
    • 製作列表
    • CSS 優化器
  • - 加密工具
    • MD5 加密
    • 隨機生成器
  • - 圖像工具
    • 圖像壓縮
    • QR 碼生成器
    • QR 碼識別器
    • 壁紙預覽
    • 圖片 EXIF
  • - 資訊表
    • 血型遺傳
    • 服裝尺寸
    • app.tool_clock
  • [email protected]
DopuBox
  • English
  • Español
  • Français
  • 日本語
  • 한국어
  • 简体中文
  • 繁體中文
全部 ニュース Meta Code 文化・アート
Linux findコマンドにおける-execパラメータの役割の紹介
2021-12-12

Linuxコマンドに異なるパラメータを加えると効果も異なることはよく知られていますが、Linux fingコマンドの-execパラメータについて詳しく説明します。

exec解釈:

-execパラメータの後にcommandコマンドが付いています。その終了は次のとおりです。終了フラグのため、このコマンドの後ろのセミコロンは不可欠であり、各システムでセミコロンが異なる意味を持つことを考慮して、前にスラッシュを付けます。

{}カッコは、前のfindで検索されたファイル名を表します。

findを使うときは、欲しい操作を1つのファイルに書けば、execでfind検索に合わせることができ、便利です。一部のオペレーティングシステムでは、-execオプションのみがl sまたはls-lなどのコマンドを実行できます。ほとんどのユーザーは、古いファイルを検索して削除するためにこのオプションを使用します。本当にrmコマンドを実行してファイルを削除する前に、lsコマンドで見て、削除するファイルであることを確認することをお勧めします。execオプションの後には、実行するコマンドまたはスクリプトが続き、ペア{}、スペース、セミコロンが続きます。execオプションを使用するにはprintオプションを同時に使用する必要があります。findコマンドを検証すると、現在のパスから相対的なパスとファイル名のみが出力されます。

インスタンス1:ls-lコマンドfindコマンドの-execオプションに配置

コマンド:

  find 。 -type f -exec ls -l {} \;

出力:

コードは次のとおりです。

  [root@localhost test]# find 。 -type f -exec ls -l {} \;

  -rw-r--r-- 1 root root 127 10-28 16:51 。/log2014.log

  -rw-r--r-- 1 root root 0 10-28 14:47 。/test4/log3-2.log

  -rw-r--r-- 1 root root 0 10-28 14:47 。/test4/log3-3.log

  -rw-r--r-- 1 root root 0 10-28 14:47 。/test4/log3-1.log

  -rw-r--r-- 1 root root 33 10-28 16:54 。/log2013.log

  -rw-r--r-- 1 root root 302108 11-03 06:19 。/log2012.log

  -rw-r--r-- 1 root root 25 10-28 17:02 。/log.log

  -rw-r--r-- 1 root root 37 10-28 17:07 。/log.txt

  -rw-r--r-- 1 root root 0 10-28 14:47 。/test3/log3-2.log

  -rw-r--r-- 1 root root 0 10-28 14:47 。/test3/log3-3.log

  -rw-r--r-- 1 root root 0 10-28 14:47 。/test3/log3-1.log

  [root@localhost test]#

説明:

上記の例では、findコマンドは現在のディレクトリのすべての一般ファイルに一致し、-execオプションでls-lコマンドを使用してリストされます。

インスタンス2:ディレクトリ内でn日以前に変更されたファイルを検索し、削除します。

コマンド:

  find 。 -type f -mtime +14 -exec rm {} \;

出力:

コードは次のとおりです。

  [root@localhost test]# ll

合計328

  -rw-r--r-- 1 root root 302108 11-03 06:19 log2012.log

  -rw-r--r-- 1 root root 33 10-28 16:54 log2013.log

  -rw-r--r-- 1 root root 127 10-28 16:51 log2014.log

  lrwxrwxrwx 1 root root 7 10-28 15:18 log_link.log -》 log.log

  -rw-r--r-- 1 root root 25 10-28 17:02 log.log

  -rw-r--r-- 1 root root 37 10-28 17:07 log.txt

  drwxr-xr-x 6 root root 4096 10-27 01:58 scf

  drwxrwxrwx 2 root root 4096 10-28 14:47 test3

  drwxrwxrwx 2 root root 4096 10-28 14:47 test4

  [root@localhost test]# find 。 -type f -mtime +14 -exec rm {} \;

  [root@localhost test]# ll

合計312

  -rw-r--r-- 1 root root 302108 11-03 06:19 log2012.log

  lrwxrwxrwx 1 root root 7 10-28 15:18 log_link.log -》 log.log

  drwxr-xr-x 6 root root 4096 10-27 01:58 scf

  drwxrwxrwx 2 root root 4096 11-12 19:32 test3

  drwxrwxrwx 2 root root 4096 11-12 19:32 test4

  [root@localhost test]#

説明:

shellで任意の方法でファイルを削除する前に、対応するファイルを確認してください。気をつけてください。mvやrmなどのコマンドを使用する場合は、-execオプションのセキュリティモードを使用します。一致するファイルごとに操作する前にプロンプトが表示されます。

インスタンス3:ディレクトリ内でn日以前に変更されたファイルを検索して削除し、削除する前にヒントを与えます。

コマンド:

  find 。 -name “*.log” -mtime +5 -ok rm {} \;

出力:

コードは次のとおりです。

  [root@localhost test]# ll

合計312

  -rw-r--r-- 1 root root 302108 11-03 06:19 log2012.log

  lrwxrwxrwx 1 root root 7 10-28 15:18 log_link.log -》 log.log

  drwxr-xr-x 6 root root 4096 10-27 01:58 scf

  drwxrwxrwx 2 root root 4096 11-12 19:32 test3

  drwxrwxrwx 2 root root 4096 11-12 19:32 test4

  [root@localhost test]# find 。 -name “*.log” -mtime +5 -ok rm {} \;

  《 rm 。。。 。/log_link.log 》 ? y

  《 rm 。。。 。/log2012.log 》 ? n

  [root@localhost test]# ll

合計312

  -rw-r--r-- 1 root root 302108 11-03 06:19 log2012.log

  drwxr-xr-x 6 root root 4096 10-27 01:58 scf

  drwxrwxrwx 2 root root 4096 11-12 19:32 test3

  drwxrwxrwx 2 root root 4096 11-12 19:32 test4

  [root@localhost test]#

説明:

上記の例では、findコマンドは、現在のディレクトリ内のすべてのファイル名を検索する.logの末尾、変更時間が5日以上のファイルを削除しますが、削除する前にヒントを与えます。yキーを押してファイルを削除し、nキーを押して削除しません。

例4:-execでgrepコマンドを使用

コマンド:

  find /etc -name “passwd*” -exec grep “root” {} \;

出力:

コードは次のとおりです。

  [root@localhost test]# find /etc -name “passwd*” -exec grep “root” {} \;

  root:x:0:0:root:/root:/bin/bash

  root:x:0:0:root:/root:/bin/bash

  [root@localhost test]#

説明:

任意の形式のコマンドは-execオプションで使用できます。上記の例ではgrepコマンドを使用します。findコマンドは、passwd、passwdなどのすべてのファイル名の「passwd*」と一致する.old、passwd.bak、grepコマンドを実行して、これらのファイルにrootユーザーが存在するかどうかを確認します。

2 合計3ページ インスタンス5:ファイルを検索して指定したディレクトリに移動

コマンド:

  find 。 -name “*.log” -exec mv {} 。。 \;

出力:

コードは次のとおりです。

  [root@localhost test]# ll

合計12 drwxr-xr-x 6 root root 4096 10-27 01:58 scf

  drwxrwxr-x 2 root root 4096 11-12 22:49 test3

  drwxrwxr-x 2 root root 4096 11-12 19:32 test4

  [root@localhost test]# cd test3/

  [root@localhost test3]# ll

合計304

  -rw-r--r-- 1 root root 302108 11-03 06:19 log2012.log

  -rw-r--r-- 1 root root 61 11-12 22:44 log2013.log

  -rw-r--r-- 1 root root 0 11-12 22:25 log2014.log

  [root@localhost test3]# find 。 -name “*.log” -exec mv {} 。。 \;

  [root@localhost test3]# ll

合計0root@localhost test3]# cd 。。

  [root@localhost test]# ll

合計316

  -rw-r--r-- 1 root root 302108 11-03 06:19 log2012.log

  -rw-r--r-- 1 root root 61 11-12 22:44 log2013.log

  -rw-r--r-- 1 root root 0 11-12 22:25 log2014.log

  drwxr-xr-x 6 root root 4096 10-27 01:58 scf

  drwxrwxr-x 2 root root 4096 11-12 22:50 test3

  drwxrwxr-x 2 root root 4096 11-12 19:32 test4

  [root@localhost test]#

例6:execオプションでcpコマンドを実行する

コマンド:

  find 。 -name “*.log” -exec cp {} test3 \;

出力:

コードは次のとおりです。

  [root@localhost test3]# ll

合計0root@localhost test3]# cd 。。

  [root@localhost test]# ll

合計316

  -rw-r--r-- 1 root root 302108 11-03 06:19 log2012.log

  -rw-r--r-- 1 root root 61 11-12 22:44 log2013.log

  -rw-r--r-- 1 root root 0 11-12 22:25 log2014.log

  drwxr-xr-x 6 root root 4096 10-27 01:58 scf

  drwxrwxr-x 2 root root 4096 11-12 22:50 test3

  drwxrwxr-x 2 root root 4096 11-12 19:32 test4

  [root@localhost test]# find 。 -name “*.log” -exec cp {} test3 \;

cp:「./test 3/log 2014.log」および「test 3/log 2014.log」は同じファイル

cp:「./test 3/log 2013.log」および「test 3/log 2013.log」は同じファイル

cp:「./test 3/log 2012.log」および「test 3/log 2012.log」は同じファイル

  [root@localhost test]# cd test3

  [root@localhost test3]# ll

合計304

  -rw-r--r-- 1 root root 302108 11-12 22:54 log2012.log

  -rw-r--r-- 1 root root 61 11-12 22:54 log2013.log

  -rw-r--r-- 1 root root 0 11-12 22:54 log2014.log

  [root@localhost test3]#

Linux findコマンドの-execパラメータの使い方を説明しましたが、findコマンドのパラメータはまだたくさんあります。他のパラメータの使用を知りたい場合は、Linux findコマンドの-path-pruneパラメータの役割を参照してください。


ソース元URL:https://dopubox.com/article/p/d357da49c8a16c5e

其他工具
  • 字元計數 TikTok 下載 抖音下載 BASE64 Base64 轉圖片 圖片轉 Base64 URL 編碼 JavaScript 時間戳 Unicode 轉換器 JSON 格式化 修改副檔名 製作列表 CSS 優化器 MD5 加密 隨機生成器 圖像壓縮 QR 碼生成器 QR 碼識別器 壁紙預覽 圖片 EXIF 血型遺傳 服裝尺寸 app.tool_clock
  • 「現実をみんなに伝えたい」能登高校書道部が新作の書道パフォーマンスを披露…部員それぞれが抱える大地震の被害
    2024-05-30

    被害者「問題解決には程遠い」 旧ジャニーズ被害者らが会見
    2024-05-29

    囲碁、一力遼本因坊が初防衛 余正麒破り三冠堅持
    2024-05-30

    『ボールアンドチェイン』南Q太著 評者:三木那由他【このマンガもすごい!】
    2024-05-30

    社長「関係者や視聴者不安にさせた」と謝罪
    2024-05-30

    あらゆる知識に精通した「天才」が教えてくれた、頭を良くするための新書の読み方と「究極のインプット・アウトプット」の方法
    2024-06-02

    芸術レベルのグッズも登場! パリ・東京・大阪の名コレクションが集まる「TRIO展」
    2024-06-01

    森トラストが平安女学院から有栖川宮旧邸を取得…今度の活用は京都市とも引き続き協議
    2024-06-01

    富士山麓のダイナミックな食材を味わう“奥・山梨”のガストロノミー〈Restaurant SAI 燊〉。
    2024-06-01

    万博無料招待、大阪の学校7割が希望 「不参加」の選択肢ない調査手法に批判も
    2024-06-03

    香川県・直島に開館する新たな美術館の正式名称が「直島新美術館」に決定
    2024-06-03

    アルテミス計画&天の川銀河! 大人も学んで楽しめる「大人レゴ」最新ラインナップは”宇宙”がテーマ!
    2024-06-03

    現代美術作家の杉本博司がYouTubeチャンネル開設 素顔に迫る映像を公開
    2024-06-04

    太宰府天満宮で「Fukuoka Art Book Fair」が開催へ
    2024-06-04

    石川九楊の個展「石川九楊大全」が上野の森美術館で2ヶ月連続開催へ
    2024-06-05

    【1971年の今日 : 6月5日】京王プラザホテル全面開業―今からは想像もできない着工前の巨大な貯水池だった頃の写真も
    2024-06-05

    佐渡金山「情報照会」と勧告 世界遺産登録に可能性残す
    2024-06-06

    アキナの山名さん骨折 毎日放送、ロケ中に転倒
    2024-06-06

    ブリン・バン・バン・ボンが1位 ビルボード、上半期人気曲
    2024-06-06

    今週末に見たい展覧会ベスト8。閉幕の横浜トリエンナーレから、「梅津庸一 クリスタルパレス」、石川九楊の2ヶ月連続個展まで
    2024-06-06

    ©  Dopu Box
    💛