DevLOVEターミナル勉強会            26 Mar. 2012            さとうようぞう   Twitter: @yoozoosato
謝辞会場をご提供いただきました、日本オラクル様。どうもありがとうございます。お集まり頂きましたみなさま、ありがとうございます。企画・運営に関わっていただいたDevLOVEの皆様。いつも感謝しています。
#hashtag•  今日の勉強会のハッシュタグ #devlove0326 #devlove
自己紹介
devlove% echo $NAMEdevlove% SATO Yozodevlove% echo $TWITTER_IDdevlove% @yoozoosatodevlove% echo $MAILdevlove% yoozoosato@g...
devlove% echo $JOBdevlove% 某ISP0 zsh !2012/03/26
devlove% disclaimerこのプレゼンテーションでは皆さんにターミナルにもっと馴染んでもらうため、コマンドやそのオプションをたくさん紹介します。ターミナルを hack するような話はあまりありません。!また、さとうようぞうが所属ない...
Agenda
誰得コマンド    & オプション  35連発
•  今から 1個/1min 未満で紹介•  一応 ~/.zhistory を漁って、使わな   そうなものを中心に•  明日の仕事で役に立たない•  (70人居て30個紹介できれば、1個   くらいは・・・)•  それじゃあんまりなんで、役立...
01: nlNAME       nl -- line numbering filter•  行番号を表示してくれるだけです•  less –N でいいんじゃね?•  エディタで行番号分かるし
02: less -NNAME       less - opposite of more•  -N オプションを付けると行番号を表示し   てくれます
03: less; FNAME       less - opposite of more•  less 実行中に F (Shift + f) を押   すと、 tail –f しているのと同じこと   になります•  検索結果をハイライトした...
04: less; vNAME       less - opposite of more•  less 実行中に v を押すと、環境変数   $EDITOR に設定されているエディタでド   キュメントを開ける
05: dfNAME       df -- display free disk space•  ディスクの残り容量を見るときに使う
06: df -hNAME       df -- display free disk space•  デフォルト表示はちょっと見難い。•  -h (human readable)をつけるとメガ   バイトやギガバイト単位で表示してくれる   ...
07: df -lNAME       df -- display free disk space•  ローカルにマウントされているディスクの   みを表示•  S3とかを /mnt に置いている場合、そう   いうのを除外してくれる
08: ps -wNAME       ps -- process status•  ps aux → ps auxw とかすると、横幅   が132文字になる(長くなる)•  ps auxww とかすると、もっと長くなる
09: wget --random-waitNAME    wget - The non-interactivenetwork downloader.•  -r オプションで全部取得する時など•  --waitで指定した秒数に 1 ~ 1.5 ...
10: wget –-spiderNAME    wget - The non-interactivenetwork downloader.•  ファイルを保存しない•  -S オプションと組み合わせることで、   ヘッダだけ確認したい時に使える
11: tcpflowNAME       tcpflow - TCP flow recorder•  パケットモニタリングツール•  tcpdump よりこっちの方が便利•  Wireshark 使っちゃうので利用頻度低
12: cd -NAME       cd - change the working directory•  cd – はこれをやるのと同じ  –  cd "$OLDPWD" && pwd•  個人的にディレクトリ移動は(タブによる   補完を...
13: ls -lhNAME       ls - list directory contents•  キロバイト、メガバイト、ギガバイト 単   位で表示してくれる
14: ls -lTNAME       ls - list directory contents•  詳細なタイムスタンプを表示•  秒、年などが出る
15: ls -ltNAME       ls - list directory contents•  更新時間が新しいファイル順にソートして   表示
16: headNAME       head -- diplay first lines of afile•  そのまま使う事はほとんどないはず•  他のコマンドから | で渡してもらうと便   利•  例: ls –lt | head –n...
17: open -RNAME    open -- open files anddirectories•  開かないで、Finder に表示するだけ•  ディレクトリを指定した場合は、内包する   ディレクトリを Finder で表示
18: open -gNAME    open -- open files anddirectories•  起動したアプリケーションをフォアグラウ   ンドにしない•  作業をそのままシェルで続行できる
19: sed -iNAME       sed -- stream editor•  ファイルの内容を直接いじれる•  バックアップをとっておけるので、拡張子   を指定すればいい
20: cp -pNAME       cp -- copy files•  コピー時にファイルの属性を保持する•  証拠保全などの目的でファイルのコピーを   取る場合は cp で取るよりも cp -p で   取ったほうがいい
21: file -INAME       file -- determine file type•  MIMEタイプを教えてくれる•  こんなオプションもある  –  --mime-type  –  --mime-encoding
22: tar -pNAME       tar -- manipulate tape archives•  preserve file permissions•  展開時に元のパーミッションを保持する
23: tar -jNAME       tar -- manipulate tape archives•  圧縮に bzip2 を使う
24: fc•  直前のコマンドを、環境変数 EDITOR で   指定したエディタで編集 & 実行できる•  ./configure –-with-emacs=..     --lisp-dir=.. みたいに複数行のを打ちなおすとき便利
25: zcatNAME    gzip, gunzip, zcat - compress orexpand files•  gzip 圧縮されたファイルの中身を表示•  いちいち展開しなくても大丈夫
26: zgrepNAME    zgrep - search possiblycompressed files for a regularexpression•  gzip 圧縮されたファイルを対象に grep   実行•  圧縮されたアクセ...
27: bzcatNAME    bzcat - decompresses files tostdout•  bz2 圧縮されたファイルの中身を表示
28: bzgrepNAME    bzgrep, bzfgrep, bzegrep - searchpossibly bzip2 compressed files for aregular expression•  bzip2 圧縮されたファ...
29: wcNAME    wc -- word, line, character, andbyte count•  ファイルに含まれる単語数をカウント•  -l は標準出力に出たモノを数えるのに便   利  –  ps auxw | grep...
30: cal -yNAME    cal, ncal -- displays a calendarand the date of easter•  指定した年のカレンダーを表示
31: chownNAME    chown -- change file owner andgroup•  名前とグループは : 区切りで一括指定で   きるよ•  . 区切りでも行けるよ
32: su -NAME       su -- substitute user identity•  - を付けないと、自分の環境変数を引き   ずる
33: gtagsNAME    gtags - create tag files forglobal.•  ソースコードにタグをつけてくれる•  この「タグ」を使って emacs でコード   ジャンプなどが可能に•  参照元検索、定義にジャ...
34: screen; :kanjiNAME    screen - screen manager withVT100/ANSI terminal emulation•  当該スクリーンで表示する文字コードを変   更できる•  標準出力に E...
35: nmapNAME    nmap - Network exploration tooland security / port scanner•  ポートスキャナ
第3回もやります。多分。•  LLでWEB系をやっていると、ターミナル   は避けて通れない•  LL系WEB開発 三種の神器 1.  Editor   •  vim / emacs / Textmate / 秀丸 etc. 2.  Brows...
ネタは随時募集しています•  twitter で @yoozoosato 宛   につぶやいてみる•  twitter でハッシュタグ   #devlove を付けて「こんな   のやりたい/聞きたい」とリク   エスト
Thank you!
Upcoming SlideShare
Loading in …5
×

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

11,261 views

Published on

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

Published in: Self Improvement

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

  1. 1. DevLOVEターミナル勉強会 26 Mar. 2012 さとうようぞう Twitter: @yoozoosato
  2. 2. 謝辞会場をご提供いただきました、日本オラクル様。どうもありがとうございます。お集まり頂きましたみなさま、ありがとうございます。企画・運営に関わっていただいたDevLOVEの皆様。いつも感謝しています。
  3. 3. #hashtag•  今日の勉強会のハッシュタグ #devlove0326 #devlove
  4. 4. 自己紹介
  5. 5. devlove% echo $NAMEdevlove% SATO Yozodevlove% echo $TWITTER_IDdevlove% @yoozoosatodevlove% echo $MAILdevlove% yoozoosato@gmail.com0 zsh !2012/03/26
  6. 6. devlove% echo $JOBdevlove% 某ISP0 zsh !2012/03/26
  7. 7. devlove% disclaimerこのプレゼンテーションでは皆さんにターミナルにもっと馴染んでもらうため、コマンドやそのオプションをたくさん紹介します。ターミナルを hack するような話はあまりありません。!また、さとうようぞうが所属ないし関係する組織の公式な意見・見解を反映したものではありません。0 zsh !2012/03/26
  8. 8. Agenda
  9. 9. 誰得コマンド & オプション 35連発
  10. 10. •  今から 1個/1min 未満で紹介•  一応 ~/.zhistory を漁って、使わな そうなものを中心に•  明日の仕事で役に立たない•  (70人居て30個紹介できれば、1個 くらいは・・・)•  それじゃあんまりなんで、役立ち そうなのも適当に混ぜた•  基本、全部 man に書いてある•  MacOS X Snow Leopard で動作確認
  11. 11. 01: nlNAME nl -- line numbering filter•  行番号を表示してくれるだけです•  less –N でいいんじゃね?•  エディタで行番号分かるし
  12. 12. 02: less -NNAME less - opposite of more•  -N オプションを付けると行番号を表示し てくれます
  13. 13. 03: less; FNAME less - opposite of more•  less 実行中に F (Shift + f) を押 すと、 tail –f しているのと同じこと になります•  検索結果をハイライトしたまま動かせるの が便利
  14. 14. 04: less; vNAME less - opposite of more•  less 実行中に v を押すと、環境変数 $EDITOR に設定されているエディタでド キュメントを開ける
  15. 15. 05: dfNAME df -- display free disk space•  ディスクの残り容量を見るときに使う
  16. 16. 06: df -hNAME df -- display free disk space•  デフォルト表示はちょっと見難い。•  -h (human readable)をつけるとメガ バイトやギガバイト単位で表示してくれる ので見やすい
  17. 17. 07: df -lNAME df -- display free disk space•  ローカルにマウントされているディスクの みを表示•  S3とかを /mnt に置いている場合、そう いうのを除外してくれる
  18. 18. 08: ps -wNAME ps -- process status•  ps aux → ps auxw とかすると、横幅 が132文字になる(長くなる)•  ps auxww とかすると、もっと長くなる
  19. 19. 09: wget --random-waitNAME wget - The non-interactivenetwork downloader.•  -r オプションで全部取得する時など•  --waitで指定した秒数に 1 ~ 1.5 くら いの乱数を掛けてくれる•  待ち時間にばらつきを持たせられる
  20. 20. 10: wget –-spiderNAME wget - The non-interactivenetwork downloader.•  ファイルを保存しない•  -S オプションと組み合わせることで、 ヘッダだけ確認したい時に使える
  21. 21. 11: tcpflowNAME tcpflow - TCP flow recorder•  パケットモニタリングツール•  tcpdump よりこっちの方が便利•  Wireshark 使っちゃうので利用頻度低
  22. 22. 12: cd -NAME cd - change the working directory•  cd – はこれをやるのと同じ –  cd "$OLDPWD" && pwd•  個人的にディレクトリ移動は(タブによる 補完を駆使して)一発でやるのが好き•  .zshrc で setopt auto_pushd しと けばもっと幸せになれる
  23. 23. 13: ls -lhNAME ls - list directory contents•  キロバイト、メガバイト、ギガバイト 単 位で表示してくれる
  24. 24. 14: ls -lTNAME ls - list directory contents•  詳細なタイムスタンプを表示•  秒、年などが出る
  25. 25. 15: ls -ltNAME ls - list directory contents•  更新時間が新しいファイル順にソートして 表示
  26. 26. 16: headNAME head -- diplay first lines of afile•  そのまま使う事はほとんどないはず•  他のコマンドから | で渡してもらうと便 利•  例: ls –lt | head –n 10
  27. 27. 17: open -RNAME open -- open files anddirectories•  開かないで、Finder に表示するだけ•  ディレクトリを指定した場合は、内包する ディレクトリを Finder で表示
  28. 28. 18: open -gNAME open -- open files anddirectories•  起動したアプリケーションをフォアグラウ ンドにしない•  作業をそのままシェルで続行できる
  29. 29. 19: sed -iNAME sed -- stream editor•  ファイルの内容を直接いじれる•  バックアップをとっておけるので、拡張子 を指定すればいい
  30. 30. 20: cp -pNAME cp -- copy files•  コピー時にファイルの属性を保持する•  証拠保全などの目的でファイルのコピーを 取る場合は cp で取るよりも cp -p で 取ったほうがいい
  31. 31. 21: file -INAME file -- determine file type•  MIMEタイプを教えてくれる•  こんなオプションもある –  --mime-type –  --mime-encoding
  32. 32. 22: tar -pNAME tar -- manipulate tape archives•  preserve file permissions•  展開時に元のパーミッションを保持する
  33. 33. 23: tar -jNAME tar -- manipulate tape archives•  圧縮に bzip2 を使う
  34. 34. 24: fc•  直前のコマンドを、環境変数 EDITOR で 指定したエディタで編集 & 実行できる•  ./configure –-with-emacs=.. --lisp-dir=.. みたいに複数行のを打ちなおすとき便利
  35. 35. 25: zcatNAME gzip, gunzip, zcat - compress orexpand files•  gzip 圧縮されたファイルの中身を表示•  いちいち展開しなくても大丈夫
  36. 36. 26: zgrepNAME zgrep - search possiblycompressed files for a regularexpression•  gzip 圧縮されたファイルを対象に grep 実行•  圧縮されたアクセスログとかを展開せずに grep できる
  37. 37. 27: bzcatNAME bzcat - decompresses files tostdout•  bz2 圧縮されたファイルの中身を表示
  38. 38. 28: bzgrepNAME bzgrep, bzfgrep, bzegrep - searchpossibly bzip2 compressed files for aregular expression•  bzip2 圧縮されたファイルを対象に grep 実行•  圧縮されたアクセスログとかを展開せずに grep できる
  39. 39. 29: wcNAME wc -- word, line, character, andbyte count•  ファイルに含まれる単語数をカウント•  -l は標準出力に出たモノを数えるのに便 利 –  ps auxw | grep ‘hoge’ | wc -l
  40. 40. 30: cal -yNAME cal, ncal -- displays a calendarand the date of easter•  指定した年のカレンダーを表示
  41. 41. 31: chownNAME chown -- change file owner andgroup•  名前とグループは : 区切りで一括指定で きるよ•  . 区切りでも行けるよ
  42. 42. 32: su -NAME su -- substitute user identity•  - を付けないと、自分の環境変数を引き ずる
  43. 43. 33: gtagsNAME gtags - create tag files forglobal.•  ソースコードにタグをつけてくれる•  この「タグ」を使って emacs でコード ジャンプなどが可能に•  参照元検索、定義にジャンプなど
  44. 44. 34: screen; :kanjiNAME screen - screen manager withVT100/ANSI terminal emulation•  当該スクリーンで表示する文字コードを変 更できる•  標準出力に EUC-JP なものが返ってきた 時など
  45. 45. 35: nmapNAME nmap - Network exploration tooland security / port scanner•  ポートスキャナ
  46. 46. 第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窓
  47. 47. ネタは随時募集しています•  twitter で @yoozoosato 宛 につぶやいてみる•  twitter でハッシュタグ #devlove を付けて「こんな のやりたい/聞きたい」とリク エスト
  48. 48. Thank you!

×