
phpthumb
今日は、PHP ファイルの 1 つが古くなっていることに気づいたので、サーバー全体のディレクトリを上書きする必要がありました。
複数の Web サイトが複数の不明な場所でこのフォルダーを使用しているため、1 つのソース パスからこれらすべてのディレクトリを上書きするにはどうすればよいですか? (つまり/home/test/testuser/phpthumb/
、/home/*/*/phpthumb/
)
答え1
これは動作するはずです:
echo /home/*/*/phpthumb | xargs -t -n 1 cp -r /home/test/testuser/phpthumb/*
を操作する必要がありますxargs
。残念ながら、cp
複数のターゲットにコピーすることはできません。cp
複数のソースを処理できます。
説明:
echo /home/*/*/phpthumb
: すべてのphpthumb
ディレクトリを一覧表示しますxargs -t -n 1
: xargsはcp
各行を個別に呼び出す必要がありますcp -r /home/test/testuser/phpthumb/*
コマンドはxargs
を呼び出す必要があります。ターゲット ディレクトリは によって末尾に追加されることに注意してくださいxargs
。
答え2
これを試して:
$ find /home -name "phpthumb" -type d -not -path "*test/testuser/phpthumb" \
-exec cp /home/test/testuser/phpthumb/* {} \;
find
コマンドはphpthumb
次の場所を検索します/home
:
-type d
フォルダーを選択-not -path
除外test/testuser/phpthumb
各フォルダーに対してcp
コマンドを実行します。 がtest/testuser/phpthumb
サブフォルダーを含むツリーの場合は、-R
にオプションを追加しますcp
。