誰得コマンド&オプション35連発

48
DevLOVE ターミナル勉強会 26 Mar. 2012 さとうようぞう Twitter: @yoozoosato

Upload: yozo-sato

Post on 24-May-2015

10.033 views

Category:

Self Improvement


0 download

DESCRIPTION

DevLOVE ターミナル勉強会の発表資料です。

TRANSCRIPT

Page 1: 誰得コマンド&オプション35連発

DevLOVE ターミナル勉強会

26 Mar. 2012 さとうようぞう

Twitter: @yoozoosato

Page 2: 誰得コマンド&オプション35連発

謝辞

会場をご提供いただきました、日本オラクル様。 どうもありがとうございます。 お集まり頂きましたみなさま、ありがとうございます。 企画・運営に関わっていただいたDevLOVEの皆様。 いつも感謝しています。

Page 3: 誰得コマンド&オプション35連発

#hashtag • 今日の勉強会のハッシュタグ

#devlove0326 #devlove

Page 4: 誰得コマンド&オプション35連発

自己紹介

Page 5: 誰得コマンド&オプション35連発

devlove% echo $NAME

0 zsh !2012/03/26

devlove% SATO Yozo devlove% echo $TWITTER_ID devlove% @yoozoosato devlove% echo $MAIL devlove% [email protected]

Page 6: 誰得コマンド&オプション35連発

devlove% echo $JOB

0 zsh !2012/03/26

devlove% 某ISP

Page 7: 誰得コマンド&オプション35連発

devlove% disclaimer

0 zsh !2012/03/26

このプレゼンテーションでは皆さんにターミナルにもっと馴染んでもらうため、コマンドやそのオプションをたくさん紹介します。ターミナルを hack するような話はあまりありません。!また、さとうようぞうが所属ないし関係する組織の公式な意見・見解を反映したものではありません。

Page 8: 誰得コマンド&オプション35連発

Agenda

Page 9: 誰得コマンド&オプション35連発

誰得コマンド &

オプション 35連発

Page 10: 誰得コマンド&オプション35連発

•  今から 1個/1min 未満で紹介 •  一応 ~/.zhistory を漁って、使わなそうなものを中心に

•  明日の仕事で役に立たない •  (70人居て30個紹介できれば、1個くらいは・・・)

•  それじゃあんまりなんで、役立ちそうなのも適当に混ぜた

•  基本、全部 man に書いてある •  MacOS X Snow Leopard で動作確認

Page 11: 誰得コマンド&オプション35連発

01: nl NAME

nl -- line numbering filter

•  行番号を表示してくれるだけです •  less –N でいいんじゃね? •  エディタで行番号分かるし

Page 12: 誰得コマンド&オプション35連発

02: less -N NAME

less - opposite of more

•  -N オプションを付けると行番号を表示してくれます

Page 13: 誰得コマンド&オプション35連発

03: less; F NAME

less - opposite of more

•  less 実行中に F (Shift + f) を押すと、 tail –f しているのと同じことになります

•  検索結果をハイライトしたまま動かせるのが便利

Page 14: 誰得コマンド&オプション35連発

04: less; v NAME

less - opposite of more

•  less 実行中に v を押すと、環境変数 $EDITOR に設定されているエディタでドキュメントを開ける

Page 15: 誰得コマンド&オプション35連発

05: df NAME

df -- display free disk space

•  ディスクの残り容量を見るときに使う

Page 16: 誰得コマンド&オプション35連発

06: df -h NAME

df -- display free disk space

•  デフォルト表示はちょっと見難い。 •  -h (human readable)をつけるとメガバイトやギガバイト単位で表示してくれるので見やすい

Page 17: 誰得コマンド&オプション35連発

07: df -l NAME

df -- display free disk space

•  ローカルにマウントされているディスクのみを表示

•  S3とかを /mnt に置いている場合、そういうのを除外してくれる

Page 18: 誰得コマンド&オプション35連発

08: ps -w NAME

ps -- process status

•  ps aux → ps auxw とかすると、横幅が132文字になる(長くなる)

•  ps auxww とかすると、もっと長くなる

Page 19: 誰得コマンド&オプション35連発

09: wget --random-wait NAME

wget - The non-interactive network downloader.

•  -r オプションで全部取得する時など •  --waitで指定した秒数に 1 ~ 1.5 くらいの乱数を掛けてくれる

•  待ち時間にばらつきを持たせられる

Page 20: 誰得コマンド&オプション35連発

10: wget –-spider NAME

wget - The non-interactive network downloader.

•  ファイルを保存しない •  -S オプションと組み合わせることで、ヘッダだけ確認したい時に使える

Page 21: 誰得コマンド&オプション35連発

11: tcpflow NAME

tcpflow - TCP flow recorder

•  パケットモニタリングツール •  tcpdump よりこっちの方が便利 •  Wireshark 使っちゃうので利用頻度低

Page 22: 誰得コマンド&オプション35連発

12: cd - NAME

cd - change the working directory

•  cd – はこれをやるのと同じ – cd "$OLDPWD" && pwd

•  個人的にディレクトリ移動は(タブによる補完を駆使して)一発でやるのが好き

•  .zshrc で setopt auto_pushd しとけばもっと幸せになれる

Page 23: 誰得コマンド&オプション35連発

13: ls -lh NAME

ls - list directory contents

•  キロバイト、メガバイト、ギガバイト 単位で表示してくれる

Page 24: 誰得コマンド&オプション35連発

14: ls -lT NAME

ls - list directory contents

•  詳細なタイムスタンプを表示 •  秒、年などが出る

Page 25: 誰得コマンド&オプション35連発

15: ls -lt NAME

ls - list directory contents

•  更新時間が新しいファイル順にソートして表示

Page 26: 誰得コマンド&オプション35連発

16: head NAME

head -- diplay first lines of a file

•  そのまま使う事はほとんどないはず •  他のコマンドから | で渡してもらうと便利

•  例: ls –lt | head –n 10

Page 27: 誰得コマンド&オプション35連発

17: open -R NAME

open -- open files and directories

•  開かないで、Finder に表示するだけ •  ディレクトリを指定した場合は、内包するディレクトリを Finder で表示

Page 28: 誰得コマンド&オプション35連発

18: open -g NAME

open -- open files and directories

•  起動したアプリケーションをフォアグラウンドにしない

•  作業をそのままシェルで続行できる

Page 29: 誰得コマンド&オプション35連発

19: sed -i NAME

sed -- stream editor

•  ファイルの内容を直接いじれる •  バックアップをとっておけるので、拡張子を指定すればいい

Page 30: 誰得コマンド&オプション35連発

20: cp -p NAME

cp -- copy files

•  コピー時にファイルの属性を保持する •  証拠保全などの目的でファイルのコピーを取る場合は cp で取るよりも cp -p で取ったほうがいい

Page 31: 誰得コマンド&オプション35連発

21: file -I NAME

file -- determine file type

•  MIMEタイプを教えてくれる •  こんなオプションもある – --mime-type – --mime-encoding

Page 32: 誰得コマンド&オプション35連発

22: tar -p NAME

tar -- manipulate tape archives

•  preserve file permissions •  展開時に元のパーミッションを保持する

Page 33: 誰得コマンド&オプション35連発

23: tar -j NAME

tar -- manipulate tape archives

•  圧縮に bzip2 を使う

Page 34: 誰得コマンド&オプション35連発

24: fc

•  直前のコマンドを、環境変数 EDITOR で指定したエディタで編集 & 実行できる

•  ./configure –-with-emacs=.. \ --lisp-dir=.. \ みたいに複数行のを打ちなおすとき便利

Page 35: 誰得コマンド&オプション35連発

25: zcat NAME

gzip, gunzip, zcat - compress or expand files

•  gzip 圧縮されたファイルの中身を表示 •  いちいち展開しなくても大丈夫

Page 36: 誰得コマンド&オプション35連発

26: zgrep NAME

zgrep - search possibly compressed files for a regular expression

•  gzip 圧縮されたファイルを対象に grep 実行

•  圧縮されたアクセスログとかを展開せずに grep できる

Page 37: 誰得コマンド&オプション35連発

27: bzcat NAME

bzcat - decompresses files to stdout

•  bz2 圧縮されたファイルの中身を表示

Page 38: 誰得コマンド&オプション35連発

28: bzgrep NAME

bzgrep, bzfgrep, bzegrep - search possibly bzip2 compressed files for a regular expression •  bzip2 圧縮されたファイルを対象に grep 実行

•  圧縮されたアクセスログとかを展開せずに grep できる

Page 39: 誰得コマンド&オプション35連発

29: wc NAME

wc -- word, line, character, and byte count

•  ファイルに含まれる単語数をカウント •  -l は標準出力に出たモノを数えるのに便利 – ps auxw | grep ‘hoge’ | wc -l

Page 40: 誰得コマンド&オプション35連発

30: cal -y NAME

cal, ncal -- displays a calendar and the date of easter

•  指定した年のカレンダーを表示

Page 41: 誰得コマンド&オプション35連発

31: chown NAME

chown -- change file owner and group

•  名前とグループは : 区切りで一括指定できるよ

•  . 区切りでも行けるよ

Page 42: 誰得コマンド&オプション35連発

32: su - NAME

su -- substitute user identity

•  - を付けないと、自分の環境変数を引きずる

Page 43: 誰得コマンド&オプション35連発

33: gtags NAME

gtags - create tag files for global.

•  ソースコードにタグをつけてくれる •  この「タグ」を使って emacs でコードジャンプなどが可能に

•  参照元検索、定義にジャンプなど

Page 44: 誰得コマンド&オプション35連発

34: screen; :kanji NAME

screen - screen manager with VT100/ANSI terminal emulation

•  当該スクリーンで表示する文字コードを変更できる

•  標準出力に EUC-JP なものが返ってきた時など

Page 45: 誰得コマンド&オプション35連発

35: nmap NAME

nmap - Network exploration tool and security / port scanner

•  ポートスキャナ

Page 46: 誰得コマンド&オプション35連発

第3回もやります。多分。 •  LLでWEB系をやっていると、ターミナルは避けて通れない

•  LL系WEB開発 三種の神器 1.  Editor •  vim / emacs / Textmate / 秀丸 etc.

2.  Browser 1.  Chrome / Firefox / Safari / w3m etc.

3.  Terminal •  Terminal.app / iTerm / TeraTerm / DOS窓

Page 47: 誰得コマンド&オプション35連発

ネタは随時募集しています

• twitter で @yoozoosato 宛につぶやいてみる • twitter でハッシュタグ #devlove を付けて「こんなのやりたい/聞きたい」とリクエスト

Page 48: 誰得コマンド&オプション35連発

Thank you!