[備忘録]最近知ったor利用頻度高いLinuxコマンド

最近知ったor利用頻度高いLinuxコマンドを備忘録として。

sudo su

sudoとsuはいずれも知ってたし使っていたけど、

$ sudo su

を使うとrootユーザーのパスワードの入力ではなく、コマンドを実行したユーザーのパスワードだとは知らなかった。

head

lessコマンドでファイルみてたけど、headのnオプションを使うと指定したx行が表示される。

$ head -n 100

ちなみにtailはログを追うときに便利。

iconv

iconvコマンドを使えばファイルの文字コード変換が可能。

例はEUC-JPのファイルをUTF-8に変換する。

$ iconv -f EUC-JP -t UTF-8 < input_file > output_file

grep

いわずもがなgrep。

$ grep -r "search_string" search_dir

gdb

gdb実行時にcoreダンプファイルを指定する。

coreダンプファイルを使って。

$ gdb -c core.xxxx binary_file
gdbを実行した後に設定する。

gdbを起動しbinay_fileを指定、引数を指定、そしてrunをする。

$ gdb
(gdb) file binary_file
(gdb) set args args_value
(gdb) run

b 関数名でブレークポイントはったり、p 変数名で変数内容を出力したり、nで次のステップへ。

などなど。