コマンド内容をシェルに書いておく。速すぎると失敗するのでスリープを入れる
#!/bin/sh sleep 2; echo LOGIN_ACCOUNT sleep 2; echo PASSWORD sleep 5; echo pwd sleep 1; echo exit
実行は以下のように行う
sh test.txt | telnet 192.168.x.x
urllistにurlを入れておき、P3で3並列実行
cat urllist.txt | xargs -P3 -t -n1 curl >/dev/null
join -t, a.csv b.csv > joined.csv
find -name "*.txt" -or -name "*.dat"
find . -mtime +0 -mtime -2
find . -mmin +60 -mmin -120
find . -maxdepth 1 -mtime +1-type d
上記だと1日以内に更新されたディレクトリを列挙
find . -name "*log" | xargs ls -la | awk '{ total +=$5 }; END { print total/1024/1024 }'
find . -name "*gz" | xargs gzip -l | tail -n 1
ls -t1 | tail -n +6
dstat -am --top-bio --top-io -n 5
sed -i 's/hogehoge/fugafuga/' hoge.txt
findとのあわせ技
find . -name "*.css" | xargs sed -i 's/fuga//'
zgrep "キーワード" xxxlog.gz
zgrep "キーワード" xxxlog.gz | wc -l
zgrep "キーワード" xxxlog.gz > grepresult.txt
useradd -s /sbin/nologin ユーザ名
該当ディレクトリ以下ではなく該当ディレクトリだけの情報を見る | ls -d |
ディレクトリだけ表示 | ls -al | grep ^d |
du -h --max-depth=1 /var/tmp
netstat -tpl
touch -t 200612312400 lastupdate
ファイルに基準時刻でtouchしておき、以下のコマンドでその時点以後に更新されたファイルがわかる。
find . -newer lastupdate
find /usr/local /usr/bin /usr/sbin -type f -print
find . -name "org.txt" -print0 | xargs -0 -i diff {} {}.bk
上記でorg.txtとorg.txt.bkの比較になる。sedでの書き換えと合わせ技
探す場所をフルパスで指定すればよい。手動で入力してもよいが、pwdを使うと楽
find `pwd` -name "*"
find ./ -mtime +50 -name "*.gz"
find ./ -mtime -50 -name "*.gz"
find . -mmin -2
find ./ -mtime +50 -name "*.gz" | xargs rm -f
危険なのでいったんリストアップしてから、|以降の処理を加えるとよいだろう
find . -path "./backup" -prune -o -type f -name "*.txt"
ここではbackupフォルダを検索対象から外し、もうひとつの条件を-oオプションで付与している。
rmやlsで「引数リストが長すぎます」のエラーが出てしまった時の対応でまずバックアップを取得したかったので1000ファイルずつ別のフォルダ(ここでは1_work)にコピーした。
ls --color=never | head -n 1000 | xargs -I {} mv -v {} ../1_work/
find . -name "*~" | xargs rm
find . -name '*.php' -type f -print | xargs grep wordwrap 2>/dev/null find . -name "*.php" -type f | xargs grep echo
id
mount -o loop xxxx.iso iso_tmp
script ログファイル名 exitするまで画面内容をログにためてくれる。エスケープシーケンスを正しく表示させるためログはcatでみるべし
split -l ? intput.txt
ps -efw
last | grep "\.r" | awk '{ print $3 }'
grep Did secure* | awk -F" " '{print $12}' grep Illegal secure* | awk -F" " '{print $10}' | uniq grep refused /var/log/secure* | awk -F" " '{print $10}' | sort | uniq -c | wc -l grep refused /var/log/secure* | awk -F" " '{print $10}' | sort | uniq -c | sort -r -n
grep refused /var/log/secure* | awk -F " " '{print $9}' |xargs -n 1 geoiplookup -f /usr/share/GeoIP/GeoIP.dat|sort|uniq -c|sort -n
echo "removed,b,c,d" | awk -F"," '{print $2","$3","$4}'
date --date 'n days ago' '+%y%m%d'
2006/02/15 11:30 date 0215113006
vi /etc/pam.d/suで下記部分をアンコメント auth required /lib/security/pam_wheel.so use_uid
shutdown -h now(haltはNG)
hdparm -ft /dev/hda
lshwをインストールする。ほかにもlspciやlsusbがある
grep -v ^#
grep -v -e "^[ \t]*#" -e "^$" /etc/httpd/conf/httpd.conf
zip -r xxxx.zip ./圧縮したいディレクトリ
cat -v ファイル名
CRLFなら^Mが行末に出る
zcat ファイル.gz | more
hostname NEW_NAME vi /etc/sysconfig/network編集 vi /etc/hosts編集 ネットワーク再起動 /etc/init.d/network restart
tar czf /var/tmp/hoge.tar.gz hoge/ --no-same-owner --no-same-permissions
awk -F "delimiter" 'print {$1}' grep wiki access_log | awk '{ printf("%10s,%10s\n",$1,$11)}' | grep -v "-" | grep -v 221.186.64.20
awk -F , '{ print $1, $3, $5; }' 対象ファイル名
md5sum ファイル名 sha1sum ファイル名
netstat -ic
ソースは以下のページ
http://www.math.kobe-u.ac.jp/~kodama/tips-netstatus.html
nkf
iconv -f EUC-JP -t iso-2022-jp 入力ファイル名