Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LinuxCommand入門2

mina
July 01, 2021

 LinuxCommand入門2

大学サークルのイントロ用資料です
https://speakerdeck.com/silmin_/linuxcommandru-men の続きです

mina

July 01, 2021
Tweet

More Decks by mina

Other Decks in Technology

Transcript

  1. Linux Command 入門 2
    Secprj Intro-phase

    View Slide

  2. 標準入力 / 標準出力
    standard input / standard output

    View Slide

  3. 標準入力 / 標準出力
    standard input / standard output

    View Slide

  4. 入力と出力 input / output
    コマンドには入力と出力となるファイルが存在する
    $ cp の場合は...
    $ cp file1 file2
    コマンド本体 引数

    View Slide

  5. 入力と出力 input / output
    コマンドには入力と出力となるファイルが存在する
    $ cp の場合は...
    $ cp file1 file2
    コマンド本体 引数
    input output

    View Slide

  6. 入力と出力 input / output
    コマンドには入力と出力となるファイルが存在する
    $ cp の場合は...
    cp file2
    file1 input output
    - inputされた
    ファイルを複製
    - 指定された名前
    でoutput

    View Slide

  7. View Slide

  8. Terminalへの出力がある

    View Slide

  9. Terminalへの出力がない

    View Slide

  10. 標準入力 / 標準出力
    standard input / standard output

    View Slide

  11. $ ls は出力先を指定してない

    View Slide

  12. どうやって出力先を決めるか
    $ cp のように指定したわけではない
    Terminalがたくさんあったら?
    指定してないけど,出力先が決まっている
    ls
    file1
    dir/
    input Terminal
    output 勝手に
    決まってる?

    View Slide

  13. どうやって出力先を決めるか
    何も指定しない場合に暗黙的に使用される
    出力先のことを標準出力という
    (厳密にはlsが標準出力を指定している)
    ls
    file1
    dir/
    input Terminal
    standard
    output 暗黙的に使用
    される出力先

    View Slide

  14. 標準入力 / 標準出力
    standard input / standard output

    View Slide

  15. 標準入力は標準出力の入力版
    何も指定しないとき,コマンドが入力を求めた場合,標準入力から入力する
    標準入力
    bcコマンドは入力された文字列に対し,簡単な四則演算をして出力する

    View Slide

  16. 標準入力は標準出力の入力版
    何も指定しないとき,コマンドが入力を求めた場合,標準入力から入力する
    標準入力
    bc Terminal
    standard
    output
    Terminal
    standard
    input

    View Slide

  17. パイプとリダイレクト
    どちらも標準入出力を引き回す方法
    パイプ |:コマンドの標準出力を他のコマンドの標準入力にする
    リダイレクト <, >, ...:コマンドの標準入出力を他のファイル宛にする
    $ ls -l /bin | less
    $ bc < file1 > file2

    View Slide

  18. パイプ(Pipe)
    コマンドの標準出力を他のコマンドの標準入力にする
    $ ls -l /usr/bin
    $ ls -l /usr/bin | less
    lsの引数は何でもいい
    今回はlessを使う関係上
    長めなやつを選んだ

    View Slide

  19. パイプ(Pipe)
    コマンドの標準出力を他のコマンドの標準入力にする
    $ ls -l /usr/bin
    $ ls -l /usr/bin | less
    ls Terminal
    standard
    output
    ls Terminal
    output
    less
    standard
    output

    View Slide

  20. パイプ(Pipe)
    コマンドの標準出力を他のコマンドの標準入力にする
    $ ls -l /usr/bin | less
    ls Terminal
    output
    less
    standard
    output
    標準出力した
    と思っている
    標準入力された
    と思っている

    View Slide

  21. リダイレクト(Redirect)
    コマンドの標準入出力を他のファイル宛にする
    $ bc > file2
    $ bc < file1
    $ bc
    $ bc < file1 > file2
    bc Terminal
    standard
    output
    file1 input
    bc file2
    output
    Terminal
    standard
    input
    bc Terminal
    standard
    output
    Terminal
    standard
    input
    bc file2
    output
    file1 input

    View Slide

  22. パイプとgrepコマンド
    grepコマンドは検索文字列と検索対象を受け取り,結果を出力する
    $ grep str file1

    View Slide

  23. パイプとgrepコマンド
    検索対象は標準入力から受け取ることもできる
    $ ls -l /usr/bin | grep apt

    View Slide

  24. パイプとリダイレクトを組み合わせた例
    $ tail はファイルの最後
    数行のみを出力するコマンド
    $ cat hoge.out | grep hoge.9 > hoge9

    View Slide

  25. 正規表現(regular expression)
    文字列が特定のパターンにマッチするかどうかを判定してくれる
    このほかにもたくさんある
    文字 説明
    . 任意の1文字にマッチ
    + 直前の文字が1回以上繰り返す
    * 直前の文字が0回以上繰り返す
    \n 改行文字
    \t タブ文字
    基本的な正規表現一覧 | murashun.jp
    https://murashun.jp/article/programming/regular-expression.html

    View Slide

  26. 正規表現(regular expression)
    CLI操作をする上で便利な場面がいくつかある
    $ ls -l *.py

    View Slide