xutil.dev
ログイン

便利ワンライナー集

そのまま使えるLinux/Unixワンライナー集。HTTPサーバー起動・ファイル転送・テキスト抽出・高度なfind・プロセス分析・ネットワークデバッグ等のレシピをカテゴリ別に整理

56 件のワンライナー

python3 -m http.server 8080

Python3 HTTPサーバー

python3 -m http.server 8080 --bind 127.0.0.1

バインドアドレス指定

python -m SimpleHTTPServer 8080

Python2 HTTPサーバー

ruby -run -e httpd . -p 8080

Ruby HTTPサーバー

php -S 0.0.0.0:8080

PHP組み込みサーバー

npx http-server -p 8080

Node.js HTTPサーバー

busybox httpd -f -p 8080

BusyBox HTTPサーバー

perl -MHTTP::Daemon -e '$d=HTTP::Daemon->new(LocalPort=>8080)||die;print "URL: ",$d->url;while($c=$d->accept){while($r=$c->get_request){$c->send_file_response(".".$r->url->path)}}'

Perl HTTPサーバー

nc -lvnp 4444 < file.txt

Netcatでファイル送信

nc HOST 4444 > file.txt

Netcatでファイル受信

curl -T file.txt http://HOST:8080/

curlでファイルアップロード

curl -O http://HOST:8080/file.txt

curlでファイルダウンロード

scp file.txt user@host:/path/

SCPでファイル転送

rsync -avz --progress src/ user@host:dest/

rsyncで同期

base64 file.bin | tr -d '\n'

Base64エンコードで転送

wget -r -np -nH --cut-dirs=1 http://HOST/dir/

wget再帰ダウンロード

grep -oE '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' file.txt

メールアドレスを抽出

grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' file.txt

IPアドレスを抽出

grep -oE 'https?://[^ "]+' file.txt

URLを抽出

grep -oE '[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' file.txt | sort -u

ドメインを抽出

sort file.txt | uniq -c | sort -rn | head -20

出現回数でソート

sed '/^$/d' file.txt

空行を削除

sed -n '/START/,/END/p' file.txt

パターン間を抽出

awk -F',' '{print $1,$3}' file.csv

CSVの特定列を抽出

find / -perm -4000 -type f 2>/dev/null

SUIDビットが設定されたファイル

find / -writable -type d 2>/dev/null

書き込み可能なディレクトリ

find / -writable -type f 2>/dev/null

書き込み可能なファイル

find / -mtime -1 -type f 2>/dev/null

24時間以内に変更されたファイル

find / -size +100M -type f 2>/dev/null

100MB以上のファイル

find . -empty -type f

空のファイルを検索

find . -name "*.tmp" -type f -delete

パターンに一致するファイルを削除

find . -name "*.log" -exec grep -l "error" {} \;

ファイルを検索して実行

lsof -p PID

プロセスのオープンファイル

lsof -i -P -n | grep LISTEN

リッスン中のポート

lsof -i :8080

ポートを使用しているプロセス

ls -la /proc/PID/fd

プロセスのFD一覧

strace -p PID -f -e trace=network

システムコールをトレース

ps auxf

プロセスツリーを表示

ps aux --sort=-%mem | head -20

メモリ使用量上位

ps aux --sort=-%cpu | head -20

CPU使用量上位

xxd file.bin | head -50

16進ダンプ

xxd -p file.bin

バイナリを16進文字列に

xxd -r -p hex.txt file.bin

16進文字列をバイナリに

strings -n 8 file.bin

バイナリから文字列を抽出

dd if=/dev/sda of=backup.img bs=4M status=progress

ディスクイメージをコピー

objdump -h binary

バイナリのセクション情報

base64 file.bin > file.b64

Base64エンコード

base64 -d file.b64 > file.bin

Base64デコード

tcpdump -i eth0 -w capture.pcap

パケットキャプチャ

tcpdump -i eth0 'port 80' -A

HTTP通信をキャプチャ

iptables -L -n -v --line-numbers

ファイアウォールルール一覧

ss -tulnp

リッスン中のTCP/UDPポート

curl -o /dev/null -s -w 'DNS: %{time_namelookup}s\nConnect: %{time_connect}s\nTLS: %{time_appconnect}s\nTotal: %{time_total}s\n' https://example.com

curl接続タイミング

ss -s

ネットワーク接続の統計

arp -a

ARPテーブル表示

ip route show

ルーティングテーブル表示