2015-05-15 6 views
0

Я попытался создать папку в своем локальном репозитории git с помощью mkdir. Это не сработало, но mkdir -p работ.какая разница betwen mkdir vs mkdir -p

Почему?

Я использую Mac OS, кстати. Я проверил определение mkdir -p. Но я все еще не совсем понимаю.

ответ

0

С помощью MKDIR: -p, не --parents нет ошибки, если существующие, сделать родительские каталоги при необходимости

Таким образом, вы не удалось, возможно, только потому, что вы хотите создать как родитель и вложенную папку в одном побеге без -p.

4

Допустим, вы находитесь в каталоге:

/home/Users/john 

И вы хотите, чтобы сделать 3 новые подкаталоги в конечном итоге с:

/home/Users/john/long/dir/path 

Во время пребывания в «/ Home/Users/джон », это не получится:

mkdir long/dir/path 

Вы должны сделать три отдельных вызовов:

mkdir long 
mkdir long/dir 
mkdir long/dir/path 

Причина в том, что mkdir по умолчанию создает только каталоги на один уровень вниз. Добавив флаг «-p», mkdir сделает весь набор за один проход. То есть, в то время как это не будет работать:

mkdir long/dir/path 

это будет работать:

mkdir -p long/dir/path 

и создать все три директории.

0

Этот флаг при необходимости создает родительские каталоги. Вероятно, вы пытались создать что-то с подкаталогами и отказались из-за отсутствия флага -p