В этом руководстве будет показано, как создавать новые папки или каталоги в Linux с помощью командной строки.
Команда, которую вы используете для создания каталогов, - mkdir. В этой статье вы найдете основной способ создания каталогов в Linux, а также для охвата всех доступных переключателей.
Как создать новый каталог
Самый простой способ создать новый каталог выглядит следующим образом:
MkDir Например, если вы хотите создать каталог под домашней папкой с именем test, откройте окно терминала и убедитесь, что находитесь в своей домашней папке (используйте команду cd ~). После создания новой папки вы можете установить разрешения, чтобы только определенный пользователь мог получить доступ к папке или чтобы некоторые люди могли редактировать файлы в папке, а другие - только для чтения. В последнем разделе я показал вам, как создать каталог с именем test. Запуск команды ls покажет вам разрешения для этого каталога: ls -lt Скорее всего, у вас будет что-то в этом роде: drwxr-xr-x 2 группа владельцев 4096 9 марта 19:34 test Интересующие нас биты:Владелец drwxr-xr-xа также группа D сообщает нам, что test - это каталог. Первые три символа после d являются разрешениями владельца для каталога, указанного именем владельца: Следующие три символа - это групповые разрешения для файла, указанного именем группы. Опять же, параметры: r, w и x. Это означает, что отсутствует разрешение. В приведенном выше примере любой, принадлежащий к группе, может получить доступ к папке и прочитать файлы, но не может писать в эту папку. Заключительные три символа - это разрешения, которые все пользователи имеют и как вы можете видеть в приведенном выше примере, такие же, как и групповые. Чтобы изменить разрешения для файла или папки, вы можете использоватьCHMODкоманда. Команда chmod позволяет указать 3 номера, которые устанавливают разрешения: Чтобы получить смесь разрешений, вы добавляете числа вместе. Например, чтобы получить разрешения на чтение и выполнение, вам понадобится 5, чтобы получить разрешения на чтение и запись, число равно 6, и чтобы получить разрешения на запись и выполнение, число равно 3. Помните, что вам нужно указать 3 числа как часть команды chmod. Первый номер предназначен для прав владельца, второй номер для групповых разрешений, а последний номер для всех остальных. Например, чтобы получить полные права на владельца, прочитать и выполнить разрешения для группы, и никакие разрешения для кого-либо еще не набирают следующее: Тест chmod 750 Если вы хотите изменить имя группы, которой принадлежит папка, используйте команду chgrp. Например, представьте, что вы хотите создать каталог, доступ к которому могут получить все бухгалтеры в вашей компании. Прежде всего, создайте учетные записи групп, набрав следующее: Учетные записи groupadd Если у вас нет правильного разрешения на создание группы, вам может понадобиться использовать sudo для получения дополнительных привилегий или переключиться на учетную запись с допустимыми разрешениями с помощью команды su. Теперь вы можете изменить группу для папки, введя следующее: учетные записи chgrp Например: проверка учетных записей chgrp Чтобы кто-либо из группы учетных записей мог читать, записывать и выполнять доступ, а также владельца, но только для чтения всем, вы можете использовать следующую команду: Тест chmod 770 Чтобы добавить пользователя в группу учетных записей, вы, вероятно, захотите использовать следующую команду: учетные записи usermod -a -G Вышеупомянутая команда добавляет группу учетных записей в список дополнительных групп, к которым пользователь имеет доступ. Вы можете создать каталог и установить разрешения для этого каталога в одно и то же время, используя следующую команду: mkdir -m777 Вышеприведенная команда создаст папку, к которой все имеют доступ. Очень редко вы хотите создать что-либо с такими разрешениями. Представьте, что вы хотите создать структуру каталогов, но не хотите создавать каждую отдельную папку вместе с этим способом и прокладывать путь по дереву. Например, вы можете создавать папки для своей музыки следующим образом: Было бы очень неприятно создавать папку с камнем, затем папку с сокровищницей и королевой, а затем создать папку rap и папку dr dre, а затем папку с джазом, а затем папку louisjordan. Указав следующий переключатель, вы можете создать все родительские папки «на лету», если они еще не существуют. mkdir -p Например, чтобы создать одну из перечисленных выше папок, попробуйте выполнить следующую команду: mkdir -p ~ / music / rock / alicecooper По умолчанию команда mkdir не сообщает вам, был ли созданный вами каталог успешно создан. Если ошибок не появляется, вы можете предположить, что они есть. Если вы хотите получить более подробный вывод, чтобы вы знали, что было создано, используйте следующий переключатель. mkdir -v Выход будет по линиямmkdir: созданный каталог / путь / в / имя_каталога. Иногда вам нужно использовать команду «mkdir» как часть сценария оболочки. Например, давайте посмотрим на скрипт, который принимает путь. Когда сценарий будет выполнен, он создаст папку и добавит один текстовый файл с именем «привет». #! / bin / bash mkdir $ @ cd $ @ touch привет Первая строка должна быть включена в каждый скрипт, который вы пишете, и используется, чтобы показать, что это действительно сценарий BASH. Команда «mkdir» используется для создания папки. «$ @» (Также называемый входными параметрами) в конце второй и третьей строк заменяется значением, которое вы указываете при запуске скрипта. Команда «cd» изменяется в указанный вами каталог и, наконец, команда touch создает пустой файл с именем «hello». Вы можете попробовать сценарий для себя. Для этого выполните следующие инструкции: Когда вы запустите скрипт, будет создан каталог с именем «test», и если вы перейдете в этот каталог (cd-тест) и запустите список каталогов (LS), вы увидите один файл с именем «привет». Пока все хорошо, но теперь попробуйте выполнить шаг 7 снова. Существуют различные способы улучшения сценария. Например, если папка уже существует, мы не особенно заботимся до тех пор, пока она существует. #! / bin / bash mkdir -p $ @ cd $ @ touch привет Если вы укажете -p как часть команды mkdir, это не будет ошибкой, если папка уже существует, но если она не существует, она создаст ее. Как это бывает, команда touch создаст файл, если он не существует, но если он существует, он просто изменяет дату и время последнего доступа. Представьте, что оператор touch был заменен выражением echo, которое записывает текст в файл следующим образом: #! / bin / bash mkdir -p $ @ cd $ @ echo "hello" >> hello Если вы снова и снова запускаете команду «./createhellodirectory.sh test», эффект будет заключаться в том, что файл, называемый «hello» в тестовом каталоге, будет становиться все больше и больше с большим количеством строк со словом «привет» в нем. Теперь это может быть или не быть таким, как предполагалось, но пока скажем, что это не желаемое действие. Вы можете написать тест, чтобы убедиться, что каталог не существует до запуска команды echo следующим образом. #! / bin / bash mkdir $ @ 2> / dev / null; если $? -eq 0; затем cd $ @ echo "hello" >> hello exit fi Вышеупомянутый скрипт - мой предпочтительный метод обработки создания папок. Команда mkdir создает папку, которая передается в качестве входного параметра, но любой вывод ошибки отправляется в / dev / null (что по существу означает нигде). Третья строка проверяет состояние вывода предыдущей команды, которая является оператором «mkdir», и если она преуспела, она будет выполнять инструкции до тех пор, пока не будет достигнута инструкция «fi». Это означает, что вы можете создать папку и выполнить все необходимое, если команда будет успешной. Если вы хотите сделать что-то еще, если команда не была успешной, вы можете просто ввести оператор else следующим образом: #! / bin / bash mkdir $ @ 2> / dev / null; если $? -eq 0; thencd $ @ echo "hello" >> helloexitelsecd $ @ echo "hello"> helloexitfi В приведенном выше скрипте, если инструкция mkdir работает, оператор echo отправляет слово «hello» в конец файла с именем «hello», тогда как если он не существует, будет создан новый файл с именем «hello» со словом «hello», привет "в нем. Этот пример не особенно практичен, потому что вы можете достичь тех же результатов, просто используя echo "hello"> hello line, Точка примера должна показать, что вы можете запустить команду «mkdir», скрыть вывод ошибки, проверить статус команды, чтобы убедиться, что она была успешной или нет, а затем выполнить один набор команд, если команда «mkdir» был успешным и еще одним набором команд, если это не так. Изменение разрешений для нового каталога
Как создать каталог и установить разрешения в одно и то же время
Создание папки и любых родителей, которые необходимы
Получение подтверждения о создании каталога
Использование «mkdir» в скрипте оболочки