コマンドの個人復習メモ
#mkdirとは
make directoryの略でフォルダを作成するコマンドです。
$ mkdir フォルダ名
#特徴
###1つのフォルダしか作れない
【OKパターン】
カレントディレクトリに fruits/ フォルダ1つだけを作成は出来ます。
mkdir fruits
【NGパターン】
例えば、tomatoフォルダを作るために
vegetable/tomato/の2階層分をまとめて作成は出来ません。
mkdir目線だとvegetable/tomato/の指定は
コマンド君
「僕は現在存在していない1つのディレクトリを作る役割なので、最初に指定されているvegetable/はただのパスで、最後に指定されたtomato/フォルを作れってことね!」
「あれ?vegetable/の道がそもそもないので工事車両を向かわせることできないです。。。」
mkdir vegetable/tomato
*エラー*
mkdir: vegetable: No such file or directory
#オプション
オプション | 利便性 | 説明 |
---|---|---|
-p (--parents) | ◎ | 最後に指定したフォルダだけでなく、指定さえたパスのフォルダを全て作成してくれる |
-m (--mode) | ○ | 作成と同時に最後に指定したフォルダのパーミッションを同時に設定できる |
-v (--verbose) | フォルダ作成の経過を表示する |
##サンプル
###-p (--parents)
例1
先ほどNGパターンのvegetable/tomato/に-pをつけてみるとtomato/だけでなく
パスで指定されている親ディレクトリのvegetable/も一緒に作成してくれます。
mkdir -p vegetable/tomato
ちゃんと2つのフォルダが作成されているか確かめてみます。
tree vegetable
*結果*
vegetable
└── tomato
例2
すでにvegetable/は存在し、中身もあります。その状態でvegetable/carrot/redのように指定してみます。
vegetable/は中身ごと上書きされることはありません。(tomatoフォルダはそのままです)
そして、存在していないcarrot/とcarrot/の中身のredの合計2フォルダだけを追加で作成してくれます。
mkdir -p vegetable/carrot/red
ちゃんと追加で2つのフォルダが作成されているか確かめてみます。
tree vegetable
*結果*
├── carrot
│ └── red
└── tomato
###-m (--mode)
後日記述
###-v (--verbose)