• オンラインツール
  • - 計算機
    • 文字数カウント
  • - ダウンロード
    • TikTok ダウンロード
    • Douyin ダウンロード
  • - Webツール
    • BASE64
    • Base64→画像
    • 画像→Base64
    • URLエンコード
    • JavaScript
    • タイムスタンプ
    • ユニコード変換
    • JSON整形
    • 拡張子変更
    • リスト作成
    • CSS最適化
  • - 暗号化ツール
    • MD5暗号化
    • ランダムジェネレーター
  • - 画像ツール
    • 画像圧縮
    • QRコードジェネレーター
    • QRコードリーダー
    • 壁紙プレビュー
  • - 情報シート
    • 血液型遺伝
    • 服のサイズ
  • [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 ダウンロード Douyin ダウンロード BASE64 Base64→画像 画像→Base64 URLエンコード JavaScript タイムスタンプ ユニコード変換 JSON整形 拡張子変更 リスト作成 CSS最適化 MD5暗号化 ランダムジェネレーター 画像圧縮 QRコードジェネレーター QRコードリーダー 壁紙プレビュー 血液型遺伝 服のサイズ
  • 「現実をみんなに伝えたい」能登高校書道部が新作の書道パフォーマンスを披露…部員それぞれが抱える大地震の被害
    2024-05-30

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

    【6月1日~2日】週末必見の“アート&デザイン”まとめ!
    2024-06-01

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

    知られざる作品や作家との巡り合いが生まれる高円寺のギャラリーショップ。
    2024-06-02

    「警察密着24時」担当者ら懲戒 テレビ東京、石川社長は3割返上
    2024-06-03

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

    河合隼雄物語賞に八木詠美さん 学芸賞は湯沢規子さん
    2024-06-03

    IT国家の最先端研究を知って 奈良・宇陀市がエストニアへの短期留学事業
    2024-06-04

    写真家たちは強大な権力の抑圧にどう抗ったのか。バルト三国の写真家に焦点を当てる展覧会をレポート
    2024-06-04

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

    アレクサンダー・カルダー個展「カルダー:そよぐ、感じる、日本」が開催
    2024-06-04

    美術評論家連盟が「ガザ戦争に対する意⾒表明」を公開
    2024-06-04

    「ロエベ ファンデーション クラフト プライズ 2024」の大賞が発表。等身大のセラミック彫刻を制作したアンドレス・アンサが受賞
    2024-06-05

    クールべ《世界の起源》はなぜ攻撃されたのか? ポンピドゥー・センター・メッスで破壊・盗難事件
    2024-06-04

    今年の「アートウィーク東京」は11月に開催。「AWT FOCUS」の監修には片岡真実
    2024-06-04

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

    105歳で死去した画家弥勒祐徳さん おごらず、黙々と、ひたすらに神楽など描く
    2024-06-05

    そごう・西武が百貨店として初めてNFTマーケット開設、NFT作品約100点を発売
    2024-06-06

    長山智美 デザイン狩人|HAY DOGS♡
    2024-06-06

    ©  Dopu Box
    💛