Подтвердить что ты не робот

Опция mkdir "-p"

Таким образом, это не похоже на ужасно сложный вопрос, который у меня есть, но я тоже не могу найти ответ. Я просто смущен тем, что делает опция -p в Unix. Я использовал его для назначения лаборатории при создании подкаталога, а затем другого подкаталога внутри этого. Это выглядело так:

mkdir -p cmps012m/lab1

Это частный каталог с нормальными правами (rlidwka). Заранее спасибо! О, и кто-нибудь подумает, давая небольшое объяснение тому, что означает "rlidwka"? Я не полный noob для Unix, но я не знаю, что это значит. Надеюсь, это не слишком смутно вопрос.

4b9b3361

Ответ 1

Страницы man - лучший источник информации, который вы можете найти... и у вас под рукой: man mkdir дает это примерно -p:

-p, --parents
    no error if existing, make parent directories as needed

Пример использования примера: предположим, что я хочу создавать каталоги hello/goodbye, но не существует:

$mkdir hello/goodbye
mkdir:cannot create directory 'hello/goodbye': No such file or directory
$mkdir -p hello/goodbye
$

-p созданы оба, hello и goodbye

Это означает, что команда создаст все необходимые каталоги для выполнения вашего запроса, не возвращая никакой ошибки в случае, если каталог существует.

О rlidwka у Google очень хорошая память для акронимов:). Мой поиск возвращал это, например: http://www.cs.cmu.edu/~help/afs/afs_acls.html

 Directory permissions

l (lookup)
    Allows one to list the contents of a directory. It does not allow the reading of files. 
i (insert)
    Allows one to create new files in a directory or copy new files to a directory. 
d (delete)
    Allows one to remove files and sub-directories from a directory. 
a (administer)
    Allows one to change a directory ACL. The owner of a directory can always change the ACL of a directory that s/he owns, along with the ACLs of any subdirectories in that directory. 

File permissions

r (read)
    Allows one to read the contents of file in the directory. 
w (write)
    Allows one to modify the contents of files in a directory and use chmod on them. 
k (lock)
    Allows programs to lock files in a directory. 

Следовательно, rlidwka означает: Все разрешения включены.

Стоит упомянуть, как отметил в комментариях @KeithThompson в комментариях, что не все системы Unix поддерживают ACL. Поэтому, возможно, понятие rlidwka здесь не применяется.

Ответ 2

-p|--parent будет использоваться, если вы пытаетесь создать каталог с подходом top-down. Это создает родительский каталог, затем дочерний элемент и т.д. Iff none существует.

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

О rlidwka означает предоставление полного или административного доступа. Найденный здесь https://itservices.stanford.edu/service/afs/intro/permissions/unix.

Ответ 3

Обратите внимание, что -p является аргументом команды mkdir, а не всей Unix. Каждая команда может иметь любые необходимые ей аргументы.

В этом случае это означает "родители", то есть mkdir создаст каталог и всех родителей, которые еще не существуют.