この広告は、90日以上更新していないブログに表示しています。
naoya_itoの火を噴いたシェルtips - Togetter
これを読んでふと書きたくなったので。ちなみに僕はbash使っています。
まず、UNIXな操作あたり。
キーバインド | 意味 |
---|---|
CTRL + s | |
CTRL + q | 上記解除 |
CTRL + z | バックグラウンドに. fgで戻る |
CTRL + l | 画面をクリア。clearと同等 |
CTRL + c | 現在の処理を停止 |
CTRL + d | exitと同等 |
CTRL + r | historyからコマンド検索 |
どっちかというとキー操作に近い。基本はemacs。metaは僕はoptionに割り当ててる。とりあえず触りたい人はESCでOK。
キーバインド | 意味 |
---|---|
CTRL + a | 行頭 |
CTRL + e | 行末 |
CTRL + f | → |
CTRL + b | ← |
CTRL + p | ↑ |
CTRL + n | ↓ |
CTRL + k | いまいるカーソルから後ろを切り取り |
CTRL + y | 貼り付け |
CTRL + j / CTRL + m | returnと同等 |
meta + f | ワードジャンプ(前) |
meta + b | ワードジャンプ(後) |
コマンドというかtips的なもの。
||とか&&で条件書く。ディレクトリがなければmkdirみたいなときに使う。以下のような感じ。
test -d ~/foo || mkdir ~/foo
fooというファイルのバックアップをとるときに以下のようにして書ける。
cp -ip foo{,.bak}
さらに日付を付けたい場合はこんな感じで書く。
cp -ip foo{,.`date +%Y%m%d`}
リダイレクトでやってもいいんだけど、ちょっとハマるのでteeコマンドを使うことが多い。
echo hogehoge | sudo tee /path/to/file
こんなかんじでヒアドキュメントと組み合わせることもある。手順書を書くときなんかは便利。手順書でviとか勘弁。
sudo tee /path/to/file << EOFhogehogefugafugaEOF
find . | xargs echo
みたいにやると、echoの引数に全部わたってきてしまう。1行ずつ実行したい場合は以下のようにしてやる。
find . | xargs -n1 echo
xargsネタになるとfindだけでできるよ的な話になるのでこっちも。こんな感じで書ける。
find . -exec echo {} \;
pidファイルからプロセス調べたいときってある。
ps `cat /var/run/httpd.pid `
名前をひくときにちゃんと見たいときはdigとかつかうけど、ただ単純にIPアドレスを引っ張りたいときはこっちのほうがラク。そういえば、nslookupはやめようねって10年くらい前に言われた。
host nanapi.jp
一旦他のディレクトリに移動してから戻りたいときとかよく使う。pushdでカレントディレクトリがスタックにたまっていく。
findしてgrepしてる人見かけるけど、grepだけでできる。まぁagつかうけど。
grep -ir foo *
バイナリファイルを間違ってcatしたりしてしまってターミナル上の表示がおかしくなった時。resetを打てばOKです。
reset
emacsは--daemonというオプションでdaemon化できる。あとはemacsclientからつなぐだけ。以下の記述をbashrcに入れている。
alias emd="emacs --daemon"alias emc="emacsclient -c"alias ekill="emacsclient -e '(progn (defun yes-or-no-p (p) t) (kill-emacs))'"
とりあえず思いついたあたりでこんなところ。
ここに記載してることは所属している組織と無関係です
引用をストックしました
引用するにはまずログインしてください
引用をストックできませんでした。再度お試しください
限定公開記事のため引用できません。