これだけは覚えておけ!Linuxコマンド
ここでは、何万(パーソナルコマンドを加えれば何億?)あるLinux-Unixのコマンドの中から、計算機科学+プログラミングに必要かつ便利なコマンドを上げてあります。
paste[ペースト]
【名前】paste - ファイルを行間で連結する
【書式】paste [-s] [-d delim-list] [--serial] [--delimiters=delim-list] [--help] [--version] [file...]
http://hp.vector.co.jp/authors/VA003670/bash/unixtool.htm
使い方として
【書式】paste [-s] [-d delim-list] [--serial] [--delimiters=delim-list] [--help] [--version] [file...]
http://hp.vector.co.jp/authors/VA003670/bash/unixtool.htm
使い方として
$paste CIP_energy.txt IDO2_energy.txt IDO3_energy.txt > All_energy.txt
sed[セッド]
【名前】sed - ストリームエディタ
【書式】sed [-e スクリプト] [-f command_file] [-i extension] [file ...]
【書式】sed [-e スクリプト] [-f command_file] [-i extension] [file ...]
$sed -e '1s/\ /\ CIP_/g' 2.txt > 3.txt
(一行目(1s)のスペース「 」を「 CIP_」に変換する、全ての(g)スペースを)
awk[オーク]
【名前】awk - ファイルを行と列単位で編集するコマンド
【書式】awk '条件文{実行文}' ファイル名
使い方として
【書式】awk '条件文{実行文}' ファイル名
使い方として
$awk '{print $1,$2,$3,$4,$5,$6}' IDO3_ele_field_harmo.txt > IDO32.txt
何百列もあるIDO3_ele_field_harmo.txtから1~6列のみを間引きする
ar [エーアール]【ar】
arはアーカイブの作成、変更、削除などを行います。arは.aでおわる静的ライブラリを作るのに使用されます。
ライブラリとは再利用を目的とした関数の集まりで、/usr/libや/libをみるとたくさんあると思います。なお、このライブラリにどんな関数が含まれているかを調べるには nmコマンドを使います。
ライブラリとは再利用を目的とした関数の集まりで、/usr/libや/libをみるとたくさんあると思います。なお、このライブラリにどんな関数が含まれているかを調べるには nmコマンドを使います。
$ar -t libmpi.a
ライブラリのあるディレクトリで
tee [ティー]【tee】
`T' の文字の形のように、1つの流れを2つに分岐させることから tee という名前が付けられた。またはデータの流れが T の字だから tee という名前になった。配管屋はチーズ(tees)と言うらしい。
tee [-ai] [--append] [--ignore-interrupts] [--help] [file...]
標準入力を標準出力とファイルに同時に出力する、makeのログとかを取れるので常用する。ただし,-aオプションをつけないと既存のファイルがあった場合上書きしてしまうので注意が必要。
$ make 2>&1 | tee /usr/myname/Desktop/make_log.txt (sh・bash の場合)
とすると、コンパイル結果を画面で確認しつつ、ファイル make-log にコンパイルの過程を書き込むことができる。コンパイルが失敗すると、すぐに画面上で確認できる上に、make コマンド終了後にゆっくりログファイルを見て、どこで失敗したかを知ることができる。
sudo [須藤さん]【superuser-do】
特定のコマンドのみを root 権限で実行するためのコマンド。"soo-doo[スードゥー]" と発音するらしいが、日本では(愛着?)を込めて[須藤さん]と呼ぶ人が多い。
$ sudo make install
「あるユーザだけには許可したいが、root 権限を与えたくはない場合に使う。また、誰がどういうコマンドを実行したかは /var/log/messages や /var/log/syslog に記録される。」
らしい、Macではデフォルト設定ではrootになれないので多用します。
らしい、Macではデフォルト設定ではrootになれないので多用します。
mail [メール]【mail】
メールを送る、数値計算が終わった後に携帯等にメールが送られるようにスクリプトに記述しておくと便利。
$mail 123@aiueo.co.jp
学内や社内からだと送れないことがあります
yama07:~ macmini$ mail ***@12345.ne.jp Subject: testmail2 <-題名 test <-本文 EOT <ポインタ(カーソル)を先頭に持って行ってCtrl+Dでmailエディタ終了+送信
watch [ウオッチ]
watchはコマンドを一定間隔で実行するコマンドです。
$watch -d -n 3 "date" 現在の時間を三秒毎に更新する
stty[ターミナル(端末)の環境設定]【set tty】
ターミナル実行中にプログラムを止めたい(killではなく)場合sttyに設定されたように
^S[Ctrl+S]を押してやれば、一時停止する。
デフォルトのキー割当を覚えておくと便利。
^S[Ctrl+S]を押してやれば、一時停止する。
デフォルトのキー割当を覚えておくと便利。
yama07: macmini$ stty -a speed 9600 baud; 32 rows; 87 columns; lflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl -echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo -extproc iflags: -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel -ignbrk brkint -inpck -ignpar -parmrk oflags: opost onlcr -oxtabs -onocr -onlret cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow -dtrflow -mdmbuf cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>; eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V; min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T; stop = ^S; susp = ^Z; time = 0; werase = ^W;
top 現在のシステム状況を表示する (1)
構文
top [-] [d delay] [q]
オプション
d delay 検査間隔を指定する。単位は秒 q topを最高の優先順位で実行する。ただし,スーパーユーザーである必要がある
説明
CPUのプロセスをリアルタイムで表示する。実行中はシステム上でリソースを最も使用しているプロセスを上から順に表示する。CtrlキーとCキーを同時に押すことで終了する。表示されるステータスは以下の通り。
ステータス
PID プロセスID USER プロセスを実行しているユーザー名 PRI 優先度 NI ナイス値 SIZE 仮想イメージの大きさ RSS 使用中の物理メモリー量 SHARE 使用中の共有メモリー量 STAT プロセスのステータス。Rは実行可能,Sは停止,Dは割り込み不可の停止,Tは停止またはトレース中,Zはゾンビ・プロセス,Wはスワップ・アウトしたプロセス,Nはナイス値が正であることを表す LIB ライブラリが使用するページ・サイズ %CPU CPU占有率 %MEM メモリー占有率 TIME プロセス開始からの実行時間 COMMAND タスクのコマンド名