More Related Content Similar to Cli mini Hack!#1 ~Terminalとの親睦を深めよう~ (20) More from Kei IWASAKI (9) Cli mini Hack!#1 ~Terminalとの親睦を深めよう~6. 今回のテーマは CLI mini Hack と称した
主に Unix 系環境におけるコマンドライン Tips
をいくつか紹介していきます。
といっても普段
「俺こんな風に使ってるよー」
とい紹介チックな感じになりそうです。
今回の NODE-Setagaya
14. Windows だと以下も注意するといいかも
• cmd.exe は辛いので ckw-mod や console2 などの
フロントエンド (?) を使うと少し幸せになれる。
• vim や emacs のエディタに PATH を通しておこう。
• mintty(cygwin) いいけど、 Windows との違いには注意
•
フォントのレンダリングがしょっぱいので
gdipp や MacType などのレンダリングを改善してくれる
ツールを導入すればいい感じ。
•
フォントリンク機能でお気に入りの英字フォントと日本語フォン
トを組み合わせることができるので、案外選択の幅は広い。
• 個人的には Windows だと
Meiryo_Consolas( 等幅メイリオ ) + Consolas 押し
22. bash(emacs モード ) の最低限覚えておきたい
ショートカット
• C-a … コマンドの先頭にジャンプ
• C-e … コマンドの文末にジャンプ
• C-w … 1 単語を後方削除
• C-k … カーソル位置から文末まで削除
• C-u … カーソル位置から文頭まで削除
• C-y … ショートカットで削除した文字を復元
• C-x C-e … 入力中のコマンドをエディタで編集
• C-r … history を検索
• !<num> … history 番号 $num のコマンドを再実行
“※ C-” は “ Ctrl+” の意味
29. シェル芸 Tips
## 重複処理
% cat hoge | sort | uniq
% cat hoge | sort | uniq -c ## 重複数カウント
## sed の基礎 (aaa => bbb 全置換 )
% sed -i 's/aaa/bbb/g' hoge.txt
% sed -i.bak 's;aaa;bbb;g' hoge.txt ## バックアップ有り
## 改行を取っ払う
% cat hoge | tr -d 'n'
•## for 文基礎 (in で指定したスペース区切りの文字でループ )
% for var in “a b c d” ; do
> echo $var ## ここに繰り返し処理
> done
## while 基礎 (1 行ごとにループ )
% cat hoge | while read line ; do
> echo $line ## ここに繰り返し処理
> done
30. シェル芸 Tips
## awk 芸基礎
% echo 'a b c' | awk '{print $2}'
b ## 単純なセパレータの抽出
% echo 'a b c' | awk '{print $NF}'
c ## 最後のセパレータ抽出
% cat hoge | awk '/^hoge/ { print $1 }'
hoge
hogehoge ## ^hoge にマッチした部分だけセパレート抽出
## find + xargs による定期的ログ圧縮
% find ~/myapps/logs
> -ctime +7 -a
> -name “*.log”
> -type f |
> xargs gzip
39. • C-v からヴィジュアルモードに入れ、矩形編集ができる。
• vim -p <file1> <file2> …
で複数ファイルタブ編集化。 (:tabe <file> もね )
• 設定ファイルの syntax が効くので読みやすくなる
• C-n による補完がプラグインなしでも結構強力
• C-x C-f によるファイルパス補完も非常に便利
など
サーバ作業でも Vim を押す理由
SSH 経由の場合は Terminal ソフトの機能でどうにかなるケースもあるけど
データセンターなどのコンソール越し作業の場合は効率が雲泥の差。
普段から vim の扱いに慣れておくのが吉!
49. 環境設定系
• 環境変数確認
• プロンプト変更
bash の場合は環境変数 PS1 を変更する。
• デフォルトエディタの変更
visudo 、 crontab -e などで起動するエディタ。
環境変数 EDITOR を編集。
## 時間を追加したい場合
[laughk@devel ~]$ PS1="(t)$PS1"
(03:58:58)[laughk@devel ~]$
## vim に変更したい
% EDITOR=vim
% env
50. alias 系
• view を vi ではなく vim の読み込み専用として使う
alias するのも手
• ls がカラーでない場合の対処 (GNU 系の場合のみ )
% vim -R /etc/hosts
% alias view='vim -R'
% view /etc/hosts
## カラー ON にする場合
% alias ls='ls –color=auto'
## カラーの代わりに文末のシンボルを ON にする
% alias ls='ls -F'
51. Vim,vi 系
• 行番号の on/off
• シンタックスが効かない場合
• <tab> をソフトスペースに変更する。
• ソフトスペースに変更した <tab> の長さを変更
• 新しいタブで別ファイルを開く
:set nu “ 行番号 on
:set nonu “ 行番号 off
:set expandtab
:set tabstop=2 “ <tab> を半角スペース 2 つに変更
:syntax on
:tabe <filename>