Всем привет!
В этой статье речь пойдет о команде mkdir в Linux. С помощью команды mkdir можно создавать каталоги и подкаталоги.
Для примера, давайте создадим каталог test:
Код:
|
$ ls -l
drwxr-xr-x 2 hub-lex hub-lex 4096 Апр 15 07:09 hello
drwxr-xr-x 2 hub-lex hub-lex 4096 Апр 15 07:09 src
$ mkdir test
$ ls -l
drwxr-xr-x 2 hub-lex hub-lex 4096 Апр 15 07:09 hello
drwxr-xr-x 2 hub-lex hub-lex 4096 Апр 15 07:09 src
drwxr-xr-x 2 hub-lex hub-lex 4096 Апр 15 07:09 test |
При попытке создать уже существующий каталог, команда mkdir завершится с ошибкой, как показано ниже:
Код:
|
$ ls -l
drwxr-xr-x 2 hub-lex hub-lex 4096 Апр 15 07:09 hello
drwxr-xr-x 2 hub-lex hub-lex 4096 Апр 15 07:09 src
drwxr-xr-x 2 hub-lex hub-lex 4096 Апр 15 07:09 test
$ mkdir test
mkdir: невозможно создать каталог «test»: Файл существует |
Создание каталогов и подкаталогов
Давайте создадим каталог, в котором создадим несколько подкаталогов. На первый взгляд может показаться, что эту задачу следует решать так: создать первый каталог с помощью команды mkdir. Перейти в него, вызвав команду cd. Создать подкаталог, опять же использовав для этого команду mkdir, сделать его текущим и вызвать команду mkdir для создания очередного каталога.
Но к счастью, в команде mkdir предусмотрена удобная опция
-p (или –parents), существенно упрощающая весь процесс:
Код:
|
$ ls -l
drwxr-xr-x 2 hub-lex hub-lex 4096 Апр 15 07:09 hello
drwxr-xr-x 2 hub-lex hub-lex 4096 Апр 15 07:09 src
drwxr-xr-x 2 hub-lex hub-lex 4096 Апр 15 07:09 test
$ mkdir -p new_test/one/two/three
$ cd new_test/
$ ls -l
drwxr-xr-x 3 hub-lex hub-lex 4096 Апр 15 07:21 one
$ cd one/
$ ls -l
drwxr-xr-x 3 hub-lex hub-lex 4096 Апр 15 07:21 two
$ cd two/
$ ls -l
drwxr-xr-x 2 hub-lex hub-lex 4096 Апр 15 07:21 three |
Информация о действиях, выполняемых командой mkdir
Чтобы не проверять результаты вызова команды, можно задать опцию
-v (или –verbose). Эта опция сообщит о каждом выполненном действии, как показано ниже:
Код:
|
$ mkdir -pv new_test/one/two/three
mkdir: создан каталог «new_test»
mkdir: создан каталог «new_test/one»
mkdir: создан каталог «new_test/one/two»
mkdir: создан каталог «new_test/one/two/three» |
Для ленивых пользователей работать с системой Linux – одно удовольствие. Создается впечатление, что чем ленивее пользователь, тем больше идет к нему навстречу система. Подтверждение тому – приведенный выше пример.
Установить права при создании каталога
Чтобы задать права при создании каталога, нужно воспользоваться опцией
-m (или –mode). Эта опция устанавливает права доступа к создаваемым каталогам. Эти права могут быть заданы либо в символьном виде, как описано в chmod(1), либо в виде восьмеричного числа.
Для справки: по умолчанию права доступа к каталогам устанавливаются в 0777 (`a+rwx’) за вычетом битов, установленных в umask.
Код:
|
$ mkdir -pvm 777 my/blog/is/levinkv
mkdir: создан каталог «my»
mkdir: создан каталог «my/blog»
mkdir: создан каталог «my/blog/is»
mkdir: создан каталог «my/blog/is/levinkv»
$ ls -l my/blog/is
drwxrwxrwx 2 hub-lex hub-lex 4096 Апр 15 07:37 levinkv |
Для более детального описания команды mkdir, воспользуйтесь следующей командой:
На сегодня это все.