UNIX/common/小ネタ
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
-一行完結だが、役に立つコマンド等。ほとんどLinuxで確認し...
#contents
*Telnet自動化 簡易版 [#kf022990]
コマンド内容をシェルに書いておく。速すぎると失敗するので...
#!/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
*コマンド集 [#x73ee2ca]
**xargsで並列curl実行 [#j6f041ec]
urllistにurlを入れておき、P3で3並列実行
cat urllist.txt | xargs -P3 -t -n1 curl >/dev/null
**ファイルを結合(INNER JOINのような) [#j69fb2ba]
join -t, a.csv b.csv > joined.csv
**findで拡張子複数を検索 [#ub00be5a]
find -name "*.txt" -or -name "*.dat"
**findで前日に更新されたファイルを列挙 [#y43e1681]
find . -mtime +0 -mtime -2
**findで60分以上120分以内に更新されたファイルを列挙 [#...
find . -mmin +60 -mmin -120
**findで特定の日付以内に更新されたディレクトリ列挙 [#r81c...
find . -maxdepth 1 -mtime +1-type d
上記だと1日以内に更新されたディレクトリを列挙
**findで見つかったファイルの合計MB単位で表示する [#wc3635...
find . -name "*log" | xargs ls -la | awk '{ total +=$5 ...
**上記のさらにgzを対象にしたバージョン [#nd9ff25a]
find . -name "*gz" | xargs gzip -l | tail -n 1
**ディレクトリ古い順に表示して6位から表示 [#md6bc612]
ls -t1 | tail -n +6
**リソース監視 [#kad59585]
dstat -am --top-bio --top-io -n 5
**ファイルを直接書き換える [#yacd8a8f]
sed -i 's/hogehoge/fugafuga/' hoge.txt
findとのあわせ技
find . -name "*.css" | xargs sed -i 's/fuga//'
**gzのファイルを展開せずにgrepする [#p3ae2a2c]
zgrep "キーワード" xxxlog.gz
-件数を確認するだけなら以下でよい
zgrep "キーワード" xxxlog.gz | wc -l
-結果をプレーンテキストに出力する
zgrep "キーワード" xxxlog.gz > grepresult.txt
**ftp専用ユーザの作成 [#tfbb30c4]
useradd -s /sbin/nologin ユーザ名
**ls編 [#g3d6594f]
|該当ディレクトリ以下ではなく該当ディレクトリだけの情報を...
|ディレクトリだけ表示|ls -al | grep ^d|
**指定ディレクトリ以下の総ディスク使用量を求める。 [#xd9a...
du -h --max-depth=1 /var/tmp
**開いているポートを見る [#kb8f2365]
netstat -tpl
**touchで日付時刻指定 [#xd25a46a]
touch -t 200612312400 lastupdate
ファイルに基準時刻でtouchしておき、以下のコマンドでその時...
find . -newer lastupdate
**findで複数場所から指定のファイルを探す [#p0c54dab]
find /usr/local /usr/bin /usr/sbin -type f -print
**findで見つけたファイルと.bkを持つファイルのdiffを一気に...
find . -name "org.txt" -print0 | xargs -0 -i diff {} {}.bk
上記でorg.txtとorg.txt.bkの比較になる。sedでの書き換えと...
**findでフルパス [#kf98bab1]
探す場所をフルパスで指定すればよい。手動で入力してもよい...
find `pwd` -name "*"
**findで最終更新日を基準にファイルを探す [#w0ab3edf]
-50日前より古い更新日付を持つファイル
find ./ -mtime +50 -name "*.gz"
-50日以内に更新されたファイル
find ./ -mtime -50 -name "*.gz"
-2分以内に更新されたファイル
find . -mmin -2
-上記を消す場合(古いファイルを消す)
find ./ -mtime +50 -name "*.gz" | xargs rm -f
危険なのでいったんリストアップしてから、|以降の処理を加え...
-特定フォルダを除外してfind
find . -path "./backup" -prune -o -type f -name "*.txt"
ここではbackupフォルダを検索対象から外し、もうひとつの条...
**ファイル数が多すぎるフォルダから1000ファイルずつバック...
rmやlsで「引数リストが長すぎます」のエラーが出てしまった...
ls --color=never | head -n 1000 | xargs -I {} mv -v {} ....
**emacsのバックアップを消す [#eea178b4]
find . -name "*~" | xargs rm
**特定の関数を使っているファイルをリストアップ [#f4a1be16]
find . -name '*.php' -type f -print | xargs grep wordwra...
find . -name "*.php" -type f | xargs grep echo
**自分がどのグループに所属するか等の情報を見るコマンド [#...
id
**isoイメージをマウントする [#l7cb5892]
mount -o loop xxxx.iso iso_tmp
**画面のログを取る〜script [#g06b6430]
script ログファイル名
exitするまで画面内容をログにためてくれる。エスケープシー...
**指定の行数でファイル分割〜split [#i459c248]
split -l ? intput.txt
**psですべてを表示させる [#p098da1f]
ps -efw
**lastログのDNSホスト取得 [#x6c6e592]
last | grep "\.r" | awk '{ print $3 }'
**不正侵入者のIP取得(Linux限定) [#qbaacafa]
grep Did secure* | awk -F" " '{print $12}'
grep Illegal secure* | awk -F" " '{print $10}' | uniq
grep refused /var/log/secure* | awk -F" " '{print $10}'...
grep refused /var/log/secure* | awk -F" " '{print $10}'...
**不正侵入者国別ランキング [#e6bbb4a0]
grep refused /var/log/secure* | awk -F " " '{print $9}'...
**CSVの特定列取得 [#ta638cd9]
echo "removed,b,c,d" | awk -F"," '{print $2","$3","$4}'
**文字列の前後にリテラルを付与 [#w2943fac]
ダブルクォーテーションは\でエスケープ
cat category.dat | awk '{print "categories.add(\"" $1 "...
**n日前GET [#r26e8c60]
date --date 'n days ago' '+%y%m%d'
**日付設定(Linux) [#febc9de2]
2006/02/15 11:30
date 0215113006
**特定のユーザーにのみsu - を許可 [#e6f523a8]
vi /etc/pam.d/suで下記部分をアンコメント
auth required /lib/security/pam_wheel.so use_uid
**シャットダウンする [#p06df3cc]
shutdown -h now(haltはNG)
**HDDの速度調査 [#za24ed34]
hdparm -ft /dev/hda
**ハードウェア情報 [#yd6ef53a]
lshwをインストールする。ほかにもlspciやlsusbがある
**コメント除去 [#eaff7378]
grep -v ^#
**コメントと空行も除去 [#ba2ead91]
grep -v -e "^[ \t]*#" -e "^$" /etc/httpd/conf/httpd.conf
**zipでディレクトリごと圧縮 [#e121c13e]
-圧縮したいディレクトリの上で以下のコマンドを実行
zip -r xxxx.zip ./圧縮したいディレクトリ
**改行コードをみる [#l021ce23]
cat -v ファイル名
CRLFなら^Mが行末に出る
**gzで圧縮されたファイルを解凍せずに見る [#h1b95464]
zcat ファイル.gz | more
*HOSTNAME変更 [#xd44ab4f]
**CentOS7より後 [#c0f6e2b5]
hostnamectl set-hostname xxx
**CentOS6以前 [#n9817ce1]
hostname NEW_NAME
vi /etc/sysconfig/network編集
vi /etc/hosts編集
ネットワーク再起動
/etc/init.d/network restart
*キーボード編 [#n55023aa]
**CRL+Dでログアウト [#fef23802]
*有名ソフトウェア [#l52a2f3e]
**tarで所有者情報を消す [#la84b401]
tar czf /var/tmp/hoge.tar.gz hoge/ --no-same-owner --no-...
**AWK [#eb9fffdd]
awk -F "delimiter" 'print {$1}'
grep wiki access_log | awk '{ printf("%10s,%10s\n",$1,$1...
-csv処理(単純バージョン)
awk -F , '{ print $1, $3, $5; }' 対象ファイル名
-特定のファイルの先頭前後に文字をつける
awk '{print "prefix" $1 "suffix"}' account.txt
*ダウンロードテクニック [#j37836ea]
**正当性確認 [#hedb4126]
-ダウンロードした巨大ファイルはチェックサムで壊れてないか...
md5sum ファイル名
sha1sum ファイル名
*ネットワークの通信量を調べる [#k20c5368]
netstat -ic
ソースは以下のページ
http://www.math.kobe-u.ac.jp/~kodama/tips-netstatus.html
*文字コード変換 [#s04c11ff]
-nkfは知ってるけどiconvは使い方よくわからんかった。ともに...
**nkf [#r87d1ce1]
nkf
**iconv [#f2ca3c57]
-fは入力ファイル文字コード。-tは出力文字コード。
iconv -f EUC-JP -t iso-2022-jp 入力ファイル名
#counter
終了行:
-一行完結だが、役に立つコマンド等。ほとんどLinuxで確認し...
#contents
*Telnet自動化 簡易版 [#kf022990]
コマンド内容をシェルに書いておく。速すぎると失敗するので...
#!/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
*コマンド集 [#x73ee2ca]
**xargsで並列curl実行 [#j6f041ec]
urllistにurlを入れておき、P3で3並列実行
cat urllist.txt | xargs -P3 -t -n1 curl >/dev/null
**ファイルを結合(INNER JOINのような) [#j69fb2ba]
join -t, a.csv b.csv > joined.csv
**findで拡張子複数を検索 [#ub00be5a]
find -name "*.txt" -or -name "*.dat"
**findで前日に更新されたファイルを列挙 [#y43e1681]
find . -mtime +0 -mtime -2
**findで60分以上120分以内に更新されたファイルを列挙 [#...
find . -mmin +60 -mmin -120
**findで特定の日付以内に更新されたディレクトリ列挙 [#r81c...
find . -maxdepth 1 -mtime +1-type d
上記だと1日以内に更新されたディレクトリを列挙
**findで見つかったファイルの合計MB単位で表示する [#wc3635...
find . -name "*log" | xargs ls -la | awk '{ total +=$5 ...
**上記のさらにgzを対象にしたバージョン [#nd9ff25a]
find . -name "*gz" | xargs gzip -l | tail -n 1
**ディレクトリ古い順に表示して6位から表示 [#md6bc612]
ls -t1 | tail -n +6
**リソース監視 [#kad59585]
dstat -am --top-bio --top-io -n 5
**ファイルを直接書き換える [#yacd8a8f]
sed -i 's/hogehoge/fugafuga/' hoge.txt
findとのあわせ技
find . -name "*.css" | xargs sed -i 's/fuga//'
**gzのファイルを展開せずにgrepする [#p3ae2a2c]
zgrep "キーワード" xxxlog.gz
-件数を確認するだけなら以下でよい
zgrep "キーワード" xxxlog.gz | wc -l
-結果をプレーンテキストに出力する
zgrep "キーワード" xxxlog.gz > grepresult.txt
**ftp専用ユーザの作成 [#tfbb30c4]
useradd -s /sbin/nologin ユーザ名
**ls編 [#g3d6594f]
|該当ディレクトリ以下ではなく該当ディレクトリだけの情報を...
|ディレクトリだけ表示|ls -al | grep ^d|
**指定ディレクトリ以下の総ディスク使用量を求める。 [#xd9a...
du -h --max-depth=1 /var/tmp
**開いているポートを見る [#kb8f2365]
netstat -tpl
**touchで日付時刻指定 [#xd25a46a]
touch -t 200612312400 lastupdate
ファイルに基準時刻でtouchしておき、以下のコマンドでその時...
find . -newer lastupdate
**findで複数場所から指定のファイルを探す [#p0c54dab]
find /usr/local /usr/bin /usr/sbin -type f -print
**findで見つけたファイルと.bkを持つファイルのdiffを一気に...
find . -name "org.txt" -print0 | xargs -0 -i diff {} {}.bk
上記でorg.txtとorg.txt.bkの比較になる。sedでの書き換えと...
**findでフルパス [#kf98bab1]
探す場所をフルパスで指定すればよい。手動で入力してもよい...
find `pwd` -name "*"
**findで最終更新日を基準にファイルを探す [#w0ab3edf]
-50日前より古い更新日付を持つファイル
find ./ -mtime +50 -name "*.gz"
-50日以内に更新されたファイル
find ./ -mtime -50 -name "*.gz"
-2分以内に更新されたファイル
find . -mmin -2
-上記を消す場合(古いファイルを消す)
find ./ -mtime +50 -name "*.gz" | xargs rm -f
危険なのでいったんリストアップしてから、|以降の処理を加え...
-特定フォルダを除外してfind
find . -path "./backup" -prune -o -type f -name "*.txt"
ここではbackupフォルダを検索対象から外し、もうひとつの条...
**ファイル数が多すぎるフォルダから1000ファイルずつバック...
rmやlsで「引数リストが長すぎます」のエラーが出てしまった...
ls --color=never | head -n 1000 | xargs -I {} mv -v {} ....
**emacsのバックアップを消す [#eea178b4]
find . -name "*~" | xargs rm
**特定の関数を使っているファイルをリストアップ [#f4a1be16]
find . -name '*.php' -type f -print | xargs grep wordwra...
find . -name "*.php" -type f | xargs grep echo
**自分がどのグループに所属するか等の情報を見るコマンド [#...
id
**isoイメージをマウントする [#l7cb5892]
mount -o loop xxxx.iso iso_tmp
**画面のログを取る〜script [#g06b6430]
script ログファイル名
exitするまで画面内容をログにためてくれる。エスケープシー...
**指定の行数でファイル分割〜split [#i459c248]
split -l ? intput.txt
**psですべてを表示させる [#p098da1f]
ps -efw
**lastログのDNSホスト取得 [#x6c6e592]
last | grep "\.r" | awk '{ print $3 }'
**不正侵入者のIP取得(Linux限定) [#qbaacafa]
grep Did secure* | awk -F" " '{print $12}'
grep Illegal secure* | awk -F" " '{print $10}' | uniq
grep refused /var/log/secure* | awk -F" " '{print $10}'...
grep refused /var/log/secure* | awk -F" " '{print $10}'...
**不正侵入者国別ランキング [#e6bbb4a0]
grep refused /var/log/secure* | awk -F " " '{print $9}'...
**CSVの特定列取得 [#ta638cd9]
echo "removed,b,c,d" | awk -F"," '{print $2","$3","$4}'
**文字列の前後にリテラルを付与 [#w2943fac]
ダブルクォーテーションは\でエスケープ
cat category.dat | awk '{print "categories.add(\"" $1 "...
**n日前GET [#r26e8c60]
date --date 'n days ago' '+%y%m%d'
**日付設定(Linux) [#febc9de2]
2006/02/15 11:30
date 0215113006
**特定のユーザーにのみsu - を許可 [#e6f523a8]
vi /etc/pam.d/suで下記部分をアンコメント
auth required /lib/security/pam_wheel.so use_uid
**シャットダウンする [#p06df3cc]
shutdown -h now(haltはNG)
**HDDの速度調査 [#za24ed34]
hdparm -ft /dev/hda
**ハードウェア情報 [#yd6ef53a]
lshwをインストールする。ほかにもlspciやlsusbがある
**コメント除去 [#eaff7378]
grep -v ^#
**コメントと空行も除去 [#ba2ead91]
grep -v -e "^[ \t]*#" -e "^$" /etc/httpd/conf/httpd.conf
**zipでディレクトリごと圧縮 [#e121c13e]
-圧縮したいディレクトリの上で以下のコマンドを実行
zip -r xxxx.zip ./圧縮したいディレクトリ
**改行コードをみる [#l021ce23]
cat -v ファイル名
CRLFなら^Mが行末に出る
**gzで圧縮されたファイルを解凍せずに見る [#h1b95464]
zcat ファイル.gz | more
*HOSTNAME変更 [#xd44ab4f]
**CentOS7より後 [#c0f6e2b5]
hostnamectl set-hostname xxx
**CentOS6以前 [#n9817ce1]
hostname NEW_NAME
vi /etc/sysconfig/network編集
vi /etc/hosts編集
ネットワーク再起動
/etc/init.d/network restart
*キーボード編 [#n55023aa]
**CRL+Dでログアウト [#fef23802]
*有名ソフトウェア [#l52a2f3e]
**tarで所有者情報を消す [#la84b401]
tar czf /var/tmp/hoge.tar.gz hoge/ --no-same-owner --no-...
**AWK [#eb9fffdd]
awk -F "delimiter" 'print {$1}'
grep wiki access_log | awk '{ printf("%10s,%10s\n",$1,$1...
-csv処理(単純バージョン)
awk -F , '{ print $1, $3, $5; }' 対象ファイル名
-特定のファイルの先頭前後に文字をつける
awk '{print "prefix" $1 "suffix"}' account.txt
*ダウンロードテクニック [#j37836ea]
**正当性確認 [#hedb4126]
-ダウンロードした巨大ファイルはチェックサムで壊れてないか...
md5sum ファイル名
sha1sum ファイル名
*ネットワークの通信量を調べる [#k20c5368]
netstat -ic
ソースは以下のページ
http://www.math.kobe-u.ac.jp/~kodama/tips-netstatus.html
*文字コード変換 [#s04c11ff]
-nkfは知ってるけどiconvは使い方よくわからんかった。ともに...
**nkf [#r87d1ce1]
nkf
**iconv [#f2ca3c57]
-fは入力ファイル文字コード。-tは出力文字コード。
iconv -f EUC-JP -t iso-2022-jp 入力ファイル名
#counter
ページ名: