自分がLinuxクラスターでLS-DYNAのファイルを編集・実行するときによく使用するコマンドをまとめました。
##目次
- 更新ファイルの確認
- 過去のコマンドの再利用
- LS-DYNAのエラーの検索
- ある単語がどのファイルに含まれているかの検索
- Linuxキーバインド(ショートカットキー)
- その他 (chmod/touch/mkdir/cp/mv/vi)
##1. 更新ファイルの確認
ls -trl
- ファイルの更新履歴を一行ごとにlong formatで、下側が最新の履歴となるように表示します。
- LS_DYNAを回すとき、このコマンドでglstat, binout, d3plotファイルが更新有無を確認して、解析が回りだしたかを確認しています。
[補足]
-l
: long formatで一行ごとにファイルを表示
-r
: 表示を逆順に
-t
: 更新順にファイルを表示(リストの一番上が最新-> -rで一番下を最新ファイルに)
-
alias lt='ls -trl'
を.bashrcに登録しておくと便利です。lt
でls -trl
と同じことができます- エイリアスについては@_ydahさんの記事を参照しました。【Linux】エイリアスの設定方法
(おまけ)よく使うlsコマンドのオプション
-
-F
: ファイル種別の表示- ファイル・ディレクトリが
dir/
run@
exe*
のように、ディレクトリの後に記号がついた状態で表示される。
- ファイル・ディレクトリが
記号 | 意味 |
---|---|
/ | ディレクトリ |
@ | シンボリックリンク |
* | 実行可能ファイル (実行可能パーミッションがあるファイル) |
記号無し | 通常ファイル |
-
-a
: 隠しファイルを含めたすべてのファイルを表示
##2. 過去のコマンドの再利用
history | grep hogehoge
- 上記はhogehogeを含む過去のコマンドの履歴一覧を表示する
- 自分が使用しているクラスターは、
qsub -W denendancy=any:hogehoge
のように長いコマンドがあって思い出せないことがあるので、よく使用します。
上記のコマンド後、history一覧で
>594: qsub -W hogehoge
のように表示されます。
その後、下記のようにコマンドを打てばそのコマンドを実行できます。
!594
##3. LS-DYNAのエラーの検索
grep -i error mes* log
- mes*とlogファイル内に"error"(大文字小文字の区別なし)という言葉が含まれている場合、そのファイル名を表示。
-i
: 大文字小文字の区別なし
*
: ワイルドカード
tail -n 15 mes* log d3hsp| less
- mes* log d3hpsファイルの最後の15行を見て、それをlessに表示
##4. contactという単語がどのkeyファイルに含まれるかの検索
find . -name ".key"
grep -i *contact '!!'
1つ目のコマンドで、現在のディレクトリ以下の*.key*ファイルの一覧を取得する。
2つ目のコマンドは1つ目で得たファイル一覧の中から、"contact"という単語を含む部分を返します。
'!!'
はひとつ前のコマンドを指します。
多分、下記のコマンドで同じことができる。
find . -name "*.key" | xargs grep -l -i 'contact'
5. Linuxキーバインド
-
ctrl + a
: 現在のコマンドの最初にカーソルを移動 -
ctrl + k
: 現在のカーソル位置(点滅している個所)から後を削除- ctrl + a -> ctrl + kで現在書いているコマンドを全消去
-
ctrl + d
: 現在のカーソル位置の文字の削除 -
ctrl + l
: ターミナルの表示を整頓- 現在のコマンドラインがターミナルの一番上に移動。
6. 他のよく使用するコマンド
####パーミッション
-
chmod 777 MPP.sh
: MPP.shにパーミッションを付与(実行・書込・読込)
ファイル作成
-
touch d3kil
: 空ファイルd3kil
をカレントディレクトリ(cd)に作成 -
mkdir TEST
: TESTディレクトリをcdに作成 -
cp -r hogedir hogedir2
: hogedirをhogedir2としてディレクトリの中身ごとコピー
ファイル編集
-
mv log log_old
: logファイル(拡張子無)の名前をlog_oldに変更 -
vi fugafuga.key
: vimでfugafuga.key
を開く- vimのコマンドについては、こちらの記事 ~vimコマンド覚書き~にまとめました。