linux

findコマンドの除外

いつもわからなくなってしまうのでメモ。 # find ./ -type f -print -or -path "/var/log" -prune # find ./ -mtime 10 -print -or -name "*.tmp" -prune 除外条件を複数指定する場合はorでつなげる。 # find /var -type f -ls -or -path "/var/log" -prune …

シェルスクリプトでtelnet自動操作

telnetでログインして何か実行した結果をテキストに保存して情報収集したり、複数のサーバにログインして同じコマンドをひたすら入力したりするのはつらいものです。操作端末がWindowsでTeratermが使える環境ならマクロでどうとでも出来るのですが、UNIXのコ…

grepの色々

こんなテキストを色々grepしてみる。 $ cat hoge.txt A 111 B 222 AB 333 a 444 行番号をつける $ grep -n A hoge.txt 1:A 111 3:AB 333 大文字小文字を無視 $ grep -i A hoge.txt A 111 AB 333 a 444 AND検索(AかつB) $ grep A hoge.txt | grep B AB 333 …

ディレクトリ内ファイルを一括リネームするシェルスクリプト

本番作業前に既存ファイルをリネームしておく、なんて時に一つ一つやるのも面倒なので、スクリプトでサックリと。 *.hogeを*.fooにリネーム。 for file in `find ./ -name "*.hoge" -print` do res=`expr $file : "\(.*\).hoge"` mv $file $res.foo done

毎秒コマンドを打ち続けるシェルスクリプト

サーバやネットワーク機器の設定変更を行っている時、ping以外のコマンドを毎秒打って反応を見たい時がある。そんな時に。 while [ 0 = 0 ]; do COMMAND; sleep 1; done COMMANDに好きなコマンドを入力。lsでもnetstatでも。

シェルスクリプトメモ

ファイルなどの有無をチェックをする シンボリックリンクやパイプなどファイルタイプのチェックはほとんどできる。 [ -f (file) ] (file)が存在するか [ -x (file) ] (file)が存在して、(実行ユーザでの)実行権限があるか [ -d (dir) ] (dir) が存在するか(…

ftpコマンド

インタラクティブモードオフ mgetやmputで複数ファイルをup/downする時、いちいちyes/no答えるのが面倒な時は、応答無しモードにすると便利。promptコマンドを入力するたびに、応答をon/offする。 ftp hogehoge.com ftp> prompt Interactive mode Off . ftp>…

 *.tar.gzを扱う

Solarisとか、GNU tar が無い環境で一気に解凍したい gunzip -dc hoge.tar.gz | tar xvf - Linuxとか、GNU tar が有る環境で一気に解凍したい tar zxvf hoge.tar.gz 解凍せずにファイルのリストを表示 gunzip -dc hoge.tar.gz | tar tvf - 圧縮ファイルを残…