• Online Tools
  • - Calculators
    • Character Count
  • - Download
    • TikTok Download
    • DouYin Download
  • - Web Tools
    • BASE64
    • Base64 to Image
    • Image to Base64
    • URL Encoding
    • JavaScript
    • Timestamp
    • Unicode Converter
    • JSON Format
    • Modify Extension
    • Make List
    • CSS Optimizer
  • - Encryption Tools
    • MD5 Encryption
    • Random Generator
  • - Image Tools
    • Image Compression
    • QR Code Generator
    • QR Code Reader
    • Wallpaper Preview
    • Image EXIF
  • - Info Sheets
    • Blood Type Heredity
    • Clothing Sizes
    • 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

Other Tools
  • Character Count TikTok Download DouYin Download BASE64 Base64 to Image Image to Base64 URL Encoding JavaScript Timestamp Unicode Converter JSON Format Modify Extension Make List CSS Optimizer MD5 Encryption Random Generator Image Compression QR Code Generator QR Code Reader Wallpaper Preview Image EXIF Blood Type Heredity Clothing Sizes app.tool_clock
  • 英国を代表する作曲家ブリテンが世界平和を願って作った『戦争レクイエム』【クラシック今日は何の日?】
    2024-05-29

    週末見たい展覧会5選。今週は木下佳通代の個展、テルマエ展、UESHIMA MUSEUMなど。【2024年6月第1週】
    2024-05-29

    MURAKAMI × Liquem 夢のコラボアクセが再登場☆|長山智美 デザイン狩人
    2024-05-30

    日テレ、意思疎通できず信頼喪失 「セクシー田中さん」の調査結果
    2024-05-31

    黒柳徹子さん、北京で特別授業 「日本語勉強続けて」
    2024-05-31

    「ねこクラゲ」被告、脱税認める 原稿優先で申告せず、福岡地裁
    2024-05-31

    【大河ドラマ「光る君へ」本日第22話】紫式部と清少納言は「顔を合わせていなかった」?
    2024-06-01

    日本の「木」の文化を家具を通して世界へ【ミラノデザインウィーク】
    2024-06-01

    声優の増山江威子さん死去
    2024-06-03

    中国でドラえもん映画が興行首位 国際こどもの日に12億円
    2024-06-03

    ジャスパー・モリソンの名言「…が「普通」のものより役にたつことはない。」【本と名言365】
    2024-06-03

    彫刻の森美術館で「舟越桂 森へ行く日」が開催へ
    2024-06-05

    「三島喜美代―未来への記憶」(練馬区美術館)開幕レポート。最大規模のインスタレーションも
    2024-06-05

    「ゲバルト」展が東京日仏学院などで開催。反暴力的反応とその美的様式を探る
    2024-06-05

    PARCELで「Not Quite」開催。「~でなくもない」作家が集結
    2024-06-04

    「ART OSAKA 2024」が7月18日より開幕。近代建築と現代美術のコラボレーションにも注目
    2024-06-04

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

    「VOCA展」に関するハラスメント防止のためのガイドラインが制定
    2024-06-05

    「再会長江」北京で特別上映 竹内監督のトークイベントも
    2024-06-04

    田名網敬一が新作の巨大インスタレーションを発表へ。世界初の大規模回顧展「田名網敬一 記憶の冒険」
    2024-06-06

    ©  Dopu Box
    💛