Linux tips
個人的備忘録です。
実行時間の計測(gcc, icc ,ifc)
- -pg をつけてcompile,linkして実行
CFLAGS,FFLAGS,LDFLAGS全てに -pg をつけること!!
- プログラムを実行して終了すると、gmon.outができる
- gprof ./prog-name gmon.out として プログラムとgmon.outからさまざまなものを計算される
- このときは画面に流れるだけなので > としてリダイレクトしてファイル に落とす
profile を使った最適化 (intel)
for-ug_lnx.htm/optimizations/Profile-guided Optimizations
1.-prof_gen をつけてcompileして実行
1$ifc -prof_gen hoge.f a.out2.プログラムを実行して終了すると、****.dynができる。 ***は16進random
3.以下を実行。
1$ifc -prof_use -options hoge.fとして pgopti.dpiが出来上がる。
4.これをfeefbackする
logout しても実行
1$nohup hoge &とするとhogeが実行
logout 後はプロセスとして実行するそうです。
&をつけてバックグランドに放り込んだほうがよいそうです。
コンソール画面をファイルへ出力
1$ hoge > fuga.txt 2>&1
2$ hoge 2>&1 | tee fuga.txt2が標準エラー出力、1が標準出力
atコマンドの使いかた
1#at 10:20 Nov 11 > /sbin/hogefuga
2 Ctrl-D で抜ける
3 /var/lib/spool/at にありatqで確認できる
atコマンドで予定を知らせる!!!
ポカよけに予定の時間が来たら、スクリーン上になにか表示するようにします。
1. atでスクリプトファイル指定
1$at "16:00" -f /home/user/hoge/fuga.sh時間の表記は
"10:50 日.月.西暦(下二桁)"
("10:50 01.04.17")とか
10:50 Apr 1
とするそうです。
"10:30 20200311" (2020年3月11日)でもok
fuga.shの中身は
#!/bin/bash DISPLAY=:0.0 \ eog /home/user/hoge/hoge.jpg
eog(eye of gnome)でpngなりjpgのファイルを表示します。
実行可能ファイルならなんでもokのようです。
DISPLAYの最後のバックスラッシュ必須です。
一行にしないとダメなのでしょう。
2. 端末上からechoをatに食わせる
1echo 'DISPLAY=:0.0 /home/user/hore.sh' | at now+1minutehore.shの中身は上と同じです(DISPLAY無くても大丈夫です)
notify-send(libnotify-bin install)を用いてもできるようですが、 今の環境(wheezy/gnome)では、表示アイコンが沈んでしまうので、使いませんでした。
diffのオプション
- ディレクトリ内ファイルの比較
1$diff -qr FROM_DIR TARGET_DIR- ディレクトリ以下全パッチ(ファイル名書かんでも済む!!)
1$diff -cr FROM_DIR TARGET_DIR > PATCH- ディレクトリ以下全パッチ, 一方にしか存在しないファイルも対象にする時
1$diff -crN FROM_DIR TARGET_DIR > PATCHbashでのパターン照合
hogeに文字列が設定されているとする
- ${hoge#pattern}--hogeの最初の部分と、patternが一致する場合、最も短い一致部分を削除し、残りの部分を返す。
- ${hoge##pattern}--hogeの最初の部分と、patternが一致する場合、最も長い一致部分を削除し、残りの部分を返す。
- ${hoge%pattern}--hogeの最後の部分と、patternが一致する場合、最も短い一致部分を削除し、残りの部分を返す。
- ${hoge%%pattern}--hogeの最後の部分と、patternが一致する場合、最も長い一致部分を削除し、残りの部分を返す。
newname=${hoge%.tex}.txtとすると拡張子の変換が一括でできる。便利!。 ただし、マッチしない場合は、単純に後ろに付け加わるので、注意 !
gnome メニューから電源offが消えた!
gnome-shell-extensionsは入っているが、どのようにしたらいいかわからん?!
システムメニューの高度な設定
GNOME Shell extension 拡張機能の中のAlternative Status Menu拡張機能 をON
なおった!!!
http://maguro.2ch.sc/test/read.cgi/linux/1402722086/
findの使い方
基本
-atime n: access -ctime n: changestatus -mtime n: modify
-nでn日より後、 +nでn日より前
time=>minで分指定
-type {b,c,d,f,l}:block file ,caracter file, dir, file, symlink
1$find ./docs -mtime -1
2$find ./docs -mmin -600
3$find ./docs -mmin -600 | xargs ls -alある日時指定
1$find ./docs/ -newerct '2015/2/5 0:0:0' -and ! -newerct '2015/2/6 0:0:0'すごい!
文字列のあるファイル
1$find ./ -type f -print | xargs grep 'hoge'すごい!!!!
プロセスhogeをまとめてkill
1$pgrep hoge | xargs kill -9
2または
3$pkill hogeとってもらくーーー
unzipで文字化け
windowsのアーカイブをもらってunzipすると、
cp932のままutf8にならないので、ファイル名が化けてます。
unar を使います。(要 apt install)
1$unar ファル名無事に文字化けしない日本語が読めます。
1$unzip -Ocp932\\もあるそうですが、私の環境では-Oは使えませんでした。
unarでもファイル名が化けた場合は、encodingを直接指定します。
1$unar -e cp932 ファル名Windowsの日本語ファイル名かつパスワード付きzipの解凍
上記unarでできました!Happy!(unzipの -Pではcheckdir errorと怒られました)
1$unar -p password filenamepassword中に&が入って怒られたときは、\&で切り抜けました。(バックスラッシュ神)