• ..

Shell

    基礎コマンド

    echo

    適当なことを表示できます。

    echo hello
    # hello
    
    # 環境変数の中を見たり
    echo $HOME
    # /Users/hoge

    less

    ファイルの中身をじっくり見る。デフォルトだと監視モード(追加データがきた時に即表示)で立ち上がります。

    less +F -N log.txt
    # 1 foo
    # 2 bar
    # 3 baz
    # :

    監視モード時にctrl+cを押すことでファイルを読むモードになります。vimのようなキーバインドが効くので、例えばggと入力するとファイルの一番から内容を見ることができます。

    • j 1行下に
    • k 1行上に

    監視モードに戻りたくなったら再度F(shift+f)を入力します。

    qで終わります。

    pwd

    現在いるディレクトリを表示

    pwd
    # /Users/hoge

    mkdir

    ディレクトリを作る。以下はfoo/ディレクトリを作りその中にさらにbar/ディレクトリを作っています。

    mkdir -p foo/bar

    cd

    ディレクトリ移動に使います。

    • ..は1つ上のディレクトリを
    • ~$HOMEディレクトリを
    • /から始めると一番トップ(ルートディレクトリ)

    をそれぞれ指します。

    pwd
    # /Users/hoge
    
    cd foo/bar
    pwd
    # /Users/hoge/foo/bar
    
    cd ../..
    pwd
    # /Users/hoge
    
    cd ~/foo
    pwd
    # /Users/hoge/foo
    
    cd /Users
    pwd
    # /Users

    ls

    現在のディレクトリにあるディレクトリやファイルを一覧する。頭がdから始まるものがディレクトリです。

    ls -al
    # total 0
    # drwxr-xr-x    4 nju33  staff   128 Feb  5 21:30 .
    # drwxr-xr-x  109 nju33  staff  3488 Feb  5 21:30 ..
    # -rw-r--r--    1 nju33  staff     0 Feb  5 21:30 index.js
    # drwxr-xr-x    2 nju33  staff    64 Feb  5 21:30 node_modules

    cp

    ファイルやディレクトリをコピーします。

    ls -al
    # total 0
    # drwxr-xr-x    2 nju33  staff    64 Feb  5 21:30 foo
    
    cp -r foo bar
    ls -al
    # total 0
    # drwxr-xr-x    2 nju33  staff    64 Feb  5 21:30 foo
    # drwxr-xr-x    2 nju33  staff    64 Feb  5 21:31 bar

    mv

    ファイルやディレクトリを移動します。

    ls -al
    # total 0
    # drwxr-xr-x    2 nju33  staff    64 Feb  5 21:30 foo
    
    mv foo bar
    ls -al
    # total 0
    # drwxr-xr-x    2 nju33  staff    64 Feb  5 21:30 bar

    rm

    ファイルやディレクトリを削除します。

    ls -al
    # drwxr-xr-x    4 nju33  staff   128 Feb  5 21:30 .
    # drwxr-xr-x  109 nju33  staff  3488 Feb  5 21:30 ..
    # -rw-r--r--    1 nju33  staff     0 Feb  5 21:30 index.js
    # drwxr-xr-x    2 nju33  staff    64 Feb  5 21:30 node_modules
    
    rm index.js
    # ディレクトリ削除には -r が必要
    rm -r node_modules
    
    ls -al
    # drwxr-xr-x    4 nju33  staff   128 Feb  5 21:30 .
    # drwxr-xr-x  109 nju33  staff  3488 Feb  5 21:30 ..

    grep

    絞り込み。

    ls -al                                                                                   
    # total 0
    # drwxr-xr-x    3 nju33  staff    96 Feb  5 21:41 .
    # drwxr-xr-x  109 nju33  staff  3488 Feb  5 21:30 ..
    # -rw-r--r--    1 nju33  staff     0 Feb  5 21:30 index.js
    
    ls -al | grep index.js
    ls -al                                                                                   
    # -rw-r--r--    1 nju33  staff     0 Feb  5 21:30 index.js

    cat

    ファイルの中身を標準出力に出す。

    cat index.js
    # function hello() {
    #   console.log(123);
    # }
    cat index.js | grep console.log
    #   console.log(123);

    zip ファイルを作る

    -rの後に生成したい zip ファイル名が来るので注意。

    zip -r name.zip ../dir-name

    zip ファイルを展開する

    指定した ZIP ファイルを展開します。-d <dest-dir>オプションを使うと展開先のディレクトリを<dest-dir>にできます。

    unzip name.zip
    unzip name.zip -d foo # foo/ に展開

    pbcopy

    使えるのは、 Mac だけです。標準入力できた内容をクリップボードにコピーします。

    echo hello | pbcopy
    # 上のあとペーストすると
    hello