Skip to content

shell and commands

foolmacky edited this page Jun 14, 2025 · 7 revisions

■ xargs

  • xargsは前のコマンドの実行結果をstdinから受け取って、次のコマンドの引数に渡す「仲介役」をするコマンド
  • マルチプロセスで並列実行される:速い
command1 | xargs command2 [command1の出力]
find ./*.txt -ctime -90 | xargs -n 1 -t -I{} sudo mv {} /Users/tmp/
find ./*.txt | xargs -L 100 sudo rm -f
//-L 与える行数
//-n 与える引数の数
//-I プレースホルダ指定
//-t 実際に実行されるコマンドを表示する

Oracleのパフォーマンス検証の例

//あらかじめ用意した128通りのスクリプト(insert*.sq)をPパラメータにより64並列のアクセスで3回繰り返す
//この場合DBのセッション数は最大64となる
//sqlplusはSilent modeを指定しているので、プロンプトはリターンされない
for i in `seq 0 2`
do
    echo loop $1
    seq 0 128 | xargs -I{} -P 64 sqlplus -S hoge/<pass>@ORACLE @insert{}.sql
done

■ rsync

  • scpはいつの間にか非推奨になっていた
  • rsyncはリンクをそのままの状態で転送できるので、いいかも
rsync -av from/ hoge@hoge.server.jp:/home/hoge/dest/

■ zinit

Clone this wiki locally