コマンドは覚えられるけどオプションが覚えられないそんなあなたへ


背景

lsやらmkdirやらrmやら、「そんな基本コマンドは朝飯前よ!」と思っているそこのあなた。でもオプションはなんか覚えられないなんて経験はありませんか?はい、私ですね。今回は、よく使う割になんか覚えられないコマンドオプションをまとめてみました。この記事を読んで覚えるのもよし。この記事をストックしといて、「あのオプションなんだっけ」って時に見るのもよし。一緒にコマンドマスターになりましょう。では、行ってみよう!

lsコマンド

ディレクトリ内の情報を表示する

$ ls
directory   document.pdf    hoge.txt    img.jpeg

詳細まで見たい![-l]

$ ls -l
total 185856
drwxr-xr-x  3 xxxx  xxxx Users       102  4 14 17:14 directory
-rw-r--r--@ 1 xxxx  xxxx Users  95060924  4 10 11:14 document.pdf
-rw-r--r--  1 xxxx  xxxx Users         0  4 14 17:14 hoge.txt
-rw-r--r--@ 1 xxxx  xxxx Users     92069  4 14 13:05 img.jpeg

色々を一気に見れちゃいますね。

隠しファイルも見たい![-a]

$ ls -a
.       ..      .secret.txt directory   document.pdf    hoge.txt    img.jpeg

怪しいファイルを見つけました。

ファイルサイズ順で見たい![-lS]

$ ls -lS
total 185856
-rw-r--r--@ 1 xxxx  xxxx Users  95060924  4 10 11:14 document.pdf
-rw-r--r--@ 1 xxxx  xxxx Users     92069  4 14 13:05 img.jpeg
drwxr-xr-x  3 xxxx  xxxx Users       102  4 14 17:23 bbb
drwxr-xr-x  3 xxxx  xxxx Users       102  4 14 17:22 directory

お前が容量を圧迫していたのか。

時間順で見たい![-t]

コメントにより追記(4/20)させていただきます。

$ ls -t
hoge.txt    directory   img.jpeg    document.pdf

最近更新されたのがどれかを知りたい時に便利そうですね。

階層表示したい![treeコマンド]

階層表示が出来るlsのオプションありそうでないですね。
そんなときは treeコマンド
番外編ということでお教えします。
まずはインストールしましょう。

$ brew install tree

そしたら使ってみましょう。あら便利。

$ tree
.
├── directory
│   └── fuga.md
├── document.pdf
├── hoge.txt
└── img.jpeg

1 directory, 4 files

mkdirコマンド

ディレクトリを作成する

$ mkdir aaa
$ tree
.
├── aaa
├── directory
│   └── fuga.md
├── document.pdf
├── hoge.txt
└── img.jpeg

子ディレクトリと孫ディレクトリ一気に作りたい![-p]

$ mkdir -p bbb/ccc
$ tree
.
├── aaa
├── bbb
│   └── ccc
├── directory
│   └── fuga.md
├── document.pdf
├── hoge.txt
└── img.jpeg

これオプション使わなくても出来るけどだいぶ面倒ですよね。

rmコマンド

ファイルを削除する

$ rm hoge.txt
$ tree
.
├── aaa
├── bbb
│   └── ccc
├── directory
│   └── fuga.md
├── document.pdf
└── img.jpeg

ディレクトリを削除したい![-r]

$ rm aaa
rm: aaa: is a directory
$ rm -r aaa
$ tree
.
├── bbb
│   └── ccc
├── directory
│   └── fuga.md
├── document.pdf
└── img.jpeg

いつも1回目はオプションつけ忘れて怒られる。

各コマンド共通

このコマンドなんだっけ!オプションなんだっけ![--help]

コメントにより追記させていただきます。

コマンドについて分からないことがあるとついついネットで調べちゃいますが、そこを解決してくれる便利なオプションです。ハイフン2個ってところが私の中では落とし穴です。分からないときはまず--helpmanコマンドを使おうとするのが、コマンドマスターになるための秘訣かもしれませんね。

$ mkdir --help
Usage: mkdir [OPTION]... DIRECTORY...
ディレクトリを作成する。ただし既にディレクトリがあれば何もしない。

長いオプションに必須の引数は短いオプションにも必須です.
  -m, --mode=MODE   set file mode (as in chmod), not a=rwx - umask
  ・
  ・
  ・

まとめ

こういう細かいとこをどうしても毎回調べちゃうとか、覚えられないから便利なオプション使わないとかは、作業効率にじわじわと響いてきちゃいますね。他にもよく使う割になんか覚えられないオプションあったらこの記事に追加していきたいと思います。真のコマンドマスターになりましょう。なりたいです。