こんにちは!今回は「たぶん、普段使わないLinuxコマンド」をテーマを記事にしました。
お昼休憩とかで適当に読んでください。
ls
コマンドやcat
コマンドなど基本的なコマンドに飽きたLinux厨のために書きました(笑)
警告
割と危険なコマンドも多いので、気軽に試さない方がいいです!
straceでのシステムコールデバッグ
straceを使用すると、プログラムが実行時に呼び出すシステムコールを追跡できます。
例: プロセスID 1234のシステムコールをリアルタイムで監視。
strace -p 1234
ポイント
- 動作がおかしいプロセスのトラブルシューティングに役立つ
- どのファイルやネットワークリソースにアクセスしているかを確認可能
ddでのディスク操作
ddは、ディスクイメージの作成やクローン作成に使用される強力なコマンドです。誤った使い方をするとデータを破壊する可能性があるため、注意が必要です。
例: ディスク全体のバックアップを作成。
dd if=/dev/sda of=/backup/sda.img bs=64K conv=noerror,sync
ポイント
- if(input file)とof(output file)を指定
- bs(block size)で速度を最適化
- noerrorオプションでエラーを無視して続行
bpftraceでのカーネルイベントの監視
bpftrace
は、カーネルレベルのトレースができるツールです。特定の条件に応じたカーネルイベントをキャプチャできます。
例: すべての新規プロセス起動を監視。
bpftrace -e 'tracepoint:sched:sched_process_exec { printf("%s started\n", comm); }'
ポイント
-
tracepoint
で監視するイベントを指定 - リアルタイムでプロセス名を取得。
cryptsetupでのディスク暗号化
cryptsetup
は、ディスク全体を暗号化するためのツールで、高度なセキュリティを提供します。
例: 新しいLUKSパーティションを作成してマウント。
cryptsetup luksFormat /dev/sdb1
cryptsetup open /dev/sdb1 secure_disk
mkfs.ext4 /dev/mapper/secure_disk
mount /dev/mapper/secure_disk /mnt/secure
ポイント
-
luksFormat
で暗号化フォーマットを適用 - マウント時に暗号化を解除してアクセス可能に
perfでのパフォーマンス解析
perf
は、システムやアプリケーションのパフォーマンスを解析するツールです。
例: プログラム./appのCPU使用率を測定。
perf stat ./app
ポイント
- CPUやキャッシュミスなどの詳細なパフォーマンスデータを提供
- チューニングやボトルネックの発見に役立つ
最後に
上司に「dd」コマンド知ってます?ってドヤりましょう。