特定の行をフィルタリングする#
# vpnを含む行をテキストからフィルタリングする
grep -v "vpn" ファイル名
ポート#
# すべてのサービスのデフォルトのポート名とポート番号を表示する
getent services
前のコマンドを sudo で実行する#
sudo !!
find#
# ファイルの内容を表示し、現在のファイル名を出力する
find . -type f -print -exec cat {} \;
# サイズが0のファイルを現在のディレクトリとそのサブディレクトリで検索し、ファイルの詳細情報を表示する
find . -size 0 -type f -exec ls -lh "{}" \;
# 現在のディレクトリで、最近1日に変更されたすべての.md拡張子のファイルを検索し、ただし"template.md"と"temp.md"という名前のファイルは含まない
find . -maxdepth 1 -type f -mtime -1 -name "*.md" -not -name "template.md" -not -name "temp.md" -exec ls -lh "{}" \;
# 現在のディレクトリで、最近2日に変更されたファイルで、ファイル名に"margin"が含まれるファイルを検索し、それらを/tmp/img/ディレクトリに移動する
find . -maxdepth 1 -type f -mtime -2 -name "*margin*" -exec mv "{}" /tmp/img/ \;
# '.ibd'で終わるファイルを現在のディレクトリで検索し、'tpcc1000'を含むファイルをフィルタリングし、'mysql_global'を含むファイルを除外する。最後に、見つかったファイルを/tmp/bak/ディレクトリにコピーする
find . -name '*.ibd' | grep tpcc1000 | grep -v mysql_global | xargs -I{} cp --path {} /tmp/bak/
xargs#
xargs は通常、コマンドの出力をバッチ処理し、出力を後続のコマンドに渡すために使用されます。
# ip.txtには1行に1つのIPが含まれており、xargsは各IPを処理し、nmapに渡してポートスキャンを実行します。{}はプレースホルダで、IPアドレスを表します。
cat ip.txt | xargs -I {} nmap -p80 {}
cat aqc.100.ip.alive.1 | xargs -I {} java -jar shiro_tool.jar {}
ps#
ps -Tfp <PID>
テキストの内容をループする#
while read i ; do echo $i ; done <./prometheus.list
root ユーザーファイルを通常のユーザーで開いた vim で保存する#
:w !sudo tee %
前のディレクトリに切り替える#
$cd -
パスワードなしでリモートホストに ssh ログインする#
$ ssh-copy-id remote-machine
ファイルをクリアまたは作成する#
> file.txt
ssh を使用してポートフォワードチャネルを作成する#
# ローカルホストでSSHトンネルを作成し、ローカルホストのポート2001をリモートホストのポート80にマッピングします。これにより、ローカルホストのポート2001を使用してリモートホストのポート80にアクセスできます。注意:「user」は「some machine」でのログインユーザー名です。
ssh -f -N -L2001:remotehost:80 user@somemachine
リアルタイムで特定のディレクトリ内で最新の変更されたファイルを表示する#
watch -d -n 1 'df; ls -FlAt /path'
Wget を使用してウェブサイト全体を再帰的にダウンロードする#
nohup wget --random-wait -nc -q -r -l 0 --reject=html -np -e robots=off -U Mozilla www.example.com &
コマンドを実行しても履歴に保存しない#
コマンドラインの前にスペースを追加することで、このコマンドがbash履歴(~/.bash_history)ファイルに保存されないようにすることができます
$ command
現在のディレクトリのすべてのサブディレクトリのサイズを表示する#
sudo du -h -max-depth=1 -BG //単位 block-size G; or -BM MB
#単位のサイズでソートする
du -sh * | sort -hr | head
Python を使用して SMTP サーバーを簡単に起動する#
python -m smtpd -n -c DebuggingServer localhost:1025
Python を使用して HTTP サーバーを簡単に起動する#
python3 -m http.server 8080
その他#
X さんからの参考: