banner
lca

lca

真正的不自由,是在自己的心中设下牢笼。

linux下のいくつかのショートカットコマンド

特定の行をフィルタリングする#

# vpnを含む行をテキストからフィルタリングする
grep -v "vpn" ファイル名

ポート#

# すべてのサービスのデフォルトのポート名とポート番号を表示する
getent services     

image

前のコマンドを sudo で実行する#

sudo !!

image

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>

image

テキストの内容をループする#

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

image

リアルタイムで特定のディレクトリ内で最新の変更されたファイルを表示する#

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 history(~/.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

その他#

image

X さんからの投稿 @javinpaul

参考:

https://plantegg.github.io/2017/01/01/top_linux_commands/

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。