Создать папку bash linux

Копирование, перемещение, создание и удаление файлов и каталогов

Частыми операциями в файловой структуре являются создание файлов и каталогов, их копирование, перемещение, переименование, а также удаление. Очевидно для подобных действий в командной оболочке Linux должны быть предусмотрены специальные команды.

Копирование файлов и каталогов

В Bash для копирования файлов используется команда cp (от «copy»), которой обычно передаются два аргумента:

адрес с именем исходного файла,

новый адрес с именем или просто адрес каталога, куда помещается копия.

Адрес может быть как абсолютным, так относительным. Если операции с файлами выполняются в текущем каталоге, то указывать адрес смысла нет. Пишется только имя исходного файла и имя копии. Поскольку файлов с одинаковыми именами и адресами быть не может, имя копии должно отличаться от имени исходного файла.

cp readme readme2

В данном случае создается копия файла readme, которая остается в той же директории под именем readme2.

cp readme Desktop/

В папку Desktop копируется файл readme. Здесь текущим является родительский Desktop’у каталог. Имена копии и файла оригинала будут совпадать, а вот полные адреса – нет.

cp /home/irina/tux.png /mnt/D/pingvin.png

Здесь копируется файл из одного каталога в другой, используются абсолютные адреса, имя копии изменяется.

Если надо скопировать несколько разных файлов в один и тот же каталог, то после команды cd сначала перечисляются все файлы-оригиналы, а последним указывается каталог, куда помещаются копии. Понятно, что при таком групповом действии имена файлов изменить нельзя.

Чтобы скопировать каталог со всем его содержимым, необходимо использовать ключ -r команды cp:

cp -r ./letters ./oldletters

Перемещение и переименование

В Bash-оболочке Linux для перемещения и переименования используется одна и та же команда – mv (от «move» – перемещать). Переименование можно рассматривать как частный случай перемещения, ведь по-сути изменяется полный адрес файла, что равносильно перемещению, даже если файл остается в том же каталоге.

Также как в случае cp, для mv необходимо указать пару аргументов. Выбор между перемещением и переименованием зависит от того, что это за аргументы. При перемещении файл меняет свой адрес, следовательно, если в первом и втором аргументах указаны разные адреса, то произойдет перемещение. Если адреса одинаковые, а различаются только имена, происходит переименование. Кроме того, перемещение может быть совмещено с переименованием.

В случае перемещения без переименования во втором аргументе указывается только каталог места назначения.

mv document.txt Work

mv document.txt Work/doc23.txt

Здесь в первом случае файл document.txt перемещается в каталог Work. Во-втором случае одновременно происходит перемещение файла и его переименование: файл document.txt перемещается в директорию Work и получает новое имя doc23.txt.

При использовании команды mv для переименования в качестве второго аргумента указывается новое имя:

mv order.txt orderNew.txt

mv Work/list.odt Work/names.odt

Каталоги перемещаются и переименовываются по тому же принципу, что и файлы. Групповое перемещение файлов работает также, как с командой cp.

Создание файлов и каталогов

Новые директории создаются командой mkdir. Например, чтобы создать каталог Work в текущей директории необходимо выполнить следующую команду:

mkdir Work
или
mkdir ./Work

Существует множество способов создания файлов, обычно они создаются какой-либо программой. Если все же возникает необходимость создать пустой файл, сделать это можно с помощью программы touch. В качестве аргумента ей передается имя создаваемого файла. Еще один способ – перенаправление вывода какой-либо команды в файл. Пример:

Здесь программа cal выводит календарь на текущий месяц, а поскольку стоит знак перенаправления вывода, то вывод команды будет записан в файл January, находящийся в папке Work.

Читайте также:  Windows 64 bit support tools

Удаление файлов и каталогов

Для удаления файлов используется команда rm. Например:

Командой rmdir можно удалить пустой каталог. Если же каталог не пуст, следует использовать команду rm с ключом -r:

Вопросы

У вас в каталоге есть файлы с разными расширениями. Вам надо группу файлов, имеющих одно и тоже расширение, скопировать в другой каталог. Как это сделать одной командой?

Какой ключ надо использовать, чтобы при перемещении случайно не перезаписать уже имеющийся в каталоге файл с таким именем?

Курс с ответами к заданиям и дополнительными уроками:
android-приложение, pdf-версия.

Источник

Как создавать каталоги в Linux (команда mkdir)

В системах Linux вы можете создавать новые каталоги либо из командной строки, либо с помощью файлового менеджера вашего рабочего стола. Команда, позволяющая создавать каталоги (также известные как папки), — это mkdir .

В этом руководстве рассматриваются основы использования команды mkdir , включая повседневные примеры.

Синтаксис команды Linux mkdir

Синтаксис команды mkdir следующий:

Команда принимает в качестве аргументов одно или несколько имен каталогов.

Как создать новый каталог

Чтобы создать каталог в Linux, передайте имя каталога в качестве аргумента команды mkdir . Например, чтобы создать новый каталог newdir вы должны выполнить следующую команду:

Вы можете убедиться, что каталог был создан, перечислив его содержимое с помощью команды ls :

При указании только имени каталога без полного пути он создается в текущем рабочем каталоге.

Текущий рабочий каталог — это каталог, из которого вы запускаете команды. Чтобы изменить текущий рабочий каталог, используйте команду cd .

Чтобы создать каталог в другом месте, вам необходимо указать абсолютный или относительный путь к файлу родительского каталога. Например, чтобы создать новый каталог в каталоге /tmp вы должны ввести:

Если вы попытаетесь создать каталог в родительском каталоге, в котором у пользователя недостаточно прав, вы получите сообщение об ошибке Permission denied :

Параметр -v ( —verbose ) указывает mkdir печатать сообщение для каждого созданного каталога.

Как создать родительские каталоги

Родительский каталог — это каталог, который находится над другим каталогом в дереве каталогов. Чтобы создать родительские каталоги, используйте параметр -p .

Допустим, вы хотите создать каталог /home/linuxize/Music/Rock/Gothic :

Если какой-либо из родительских каталогов не существует, вы получите сообщение об ошибке, как показано ниже:

Вместо того, чтобы создавать недостающие родительские каталоги один за другим, вызовите команду mkdir с параметром -p :

Когда используется опция -p , команда создает каталог, только если он не существует.

Если вы попытаетесь создать каталог, который уже существует, а параметр -p не mkdir , mkdir выведет сообщение об ошибке File exists :

Как установить разрешения при создании каталога

Чтобы создать каталог с определенными разрешениями, используйте параметр -m ( -mode ). Синтаксис для назначения разрешений такой же, как и для команды chmod .

В следующем примере мы создаем новый каталог с разрешениями 700 , что означает, что только пользователь, создавший каталог, сможет получить к нему доступ:

Когда опция -m не используется, вновь созданные каталоги обычно имеют права доступа 775 или 755 , в зависимости от значения umask .

Как создать несколько каталогов

Чтобы создать несколько каталогов, укажите имена каталогов в качестве аргументов команды, разделенные пробелом:

Команда mkdir также позволяет создать сложное дерево каталогов с помощью одной команды:

Приведенная выше команда создает следующее дерево каталогов :

Выводы

Команда mkdir в Linux используется для создания новых каталогов.

Для получения дополнительной информации о mkdir посетите страницу руководства mkdir .

Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Источник

Как использовать mkdir для создания каталогов Linux

Делайте папки из терминала с помощью этой простой команды

Вы можете создавать новые папки/каталоги в Linux с помощью командной строки. Команда, которую вы используете для создания каталогов – это mkdir.

Ниже приводится полный обзор того, как создавать каталоги с помощью mkdir. Мы также рассмотрим параметры, которые вы можете использовать с mkdir, и правильный синтаксис, который вы должны использовать для правильной работы команды.

Читайте также:  Как сбросить ноутбук до заводских настроек samsung windows

Как создать новый каталог

Простейший способ создать новый каталог заключается в следующем:

Например, если вы хотите создать каталог с именем test , откройте окно терминала, перейдите к нужной папке, где вы хотите эту папку, и введите следующую команду:

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

Изменение разрешений нового каталога

После создания новой папки вы можете захотеть установить разрешения, чтобы только определенный пользователь мог получить к ней доступ, или чтобы некоторые люди могли редактировать файлы в папке, а другие имели права только для чтения.

Чтобы продолжить приведенный выше пример, мы запустим команду ls, чтобы увидеть разрешения для папки с именем test :

Вы должны запустить команду ls в любой папке, в которой находится тестовая папка. Если это ваш домашний каталог (т. Е. Вы не использовали команду cd выше), то вам не нужно беспокоиться об изменении каталога здесь.

Вы должны увидеть что-то вроде этого (но, возможно, и с несколькими другими записями, учитывая, что там, вероятно, есть и другие папки):

Нам интересны следующие элементы: владелец drwxrwxr-x 2 и группа группа .

  • d говорит нам, что test – это каталог.
  • Первые три буквы, следующие за буквой d, являются разрешениями владельца для каталога, указанного в имени владельца:
    • r предназначен для чтения
    • w для записи
    • x предназначен для выполнения (в данном случае это означает, что вы можете получить доступ к папке)
  • Следующие три символа – это разрешения группы для файла, указанного в имени группы. Опять-таки варианты: r, w и x. Дефис означает, что отсутствует разрешение. В приведенном выше примере любой член группы может получить доступ к папке и просмотреть файлы, но не может записать в папку.
  • Последние символы – это разрешения, которые есть у всех пользователей, и, как видно из приведенного выше примера, они совпадают с разрешениями группы.

Чтобы изменить разрешения для файла или папки, вы можете использовать команду chmod . Команда chmod позволяет вам указать три числа, которые устанавливают права доступа:

  • Читать = 4
  • Написать = 2
  • Выполнить = 1

Добавьте числа вместе для смеси разрешений. Например, чтобы присвоить разрешения на чтение и выполнение, вам нужно 5 (4 + 1), или для разрешения на чтение и запись вы должны использовать число 6 (4 + 2).

Помните, что вам нужно указать три числа как часть команды chmod. Первое число предназначено для прав доступа владельца, второе – для полномочий группы, а последнее – для всех остальных.

Например, чтобы владелец имел полные права доступа, чтение и выполнение группы, а у кого-то не было никаких прав доступа, вы должны ввести следующее:

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

Сначала вы должны создать учетные записи группы, набрав следующее:

Если у вас нет правильного разрешения на создание группы, вам может потребоваться использовать sudo для получения дополнительных привилегий или перейти к учетной записи с действительными разрешениями с помощью команды su.

Теперь вы можете изменить группу для папки, набрав следующее:

Чтобы предоставить владельцу и всем остальным в группе учетных записей права чтения, записи и выполнения, но только для чтения только для других, вы должны использовать следующую команду:

Как создать каталог и установить разрешения одновременно

Вы можете создать каталог и одновременно установить разрешения для этого каталога, используя следующую команду:

Приведенная выше команда создаст папку, к которой у всех есть доступ. Очень редко вы захотите создать что-либо с такими разрешениями.

Создать папку и любые родители, которые необходимы

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

Например, вы можете создавать папки для вашей музыки следующим образом:

  • /главная/музыка/рок/Элис Купер
  • /главная/музыка/рок/королева
  • /главная/музыка/рэп/drdre
  • /главная/музыка/джаз/louisjordan

Было бы досадно создавать папку для рок-музыки Алисы Купер и королевы, а затем папки для рэпа и джаза для остальных.

Указав -p , вы можете создать все родительские папки на лету, если они еще не существуют:

Читайте также:  Windows 10 pro 1909 x64 rus iso

Например, эта команда mkdir используется для создания одной из папок, перечисленных выше:

Получение подтверждения, что каталог был создан

По умолчанию команда mkdir не сообщает, был ли созданный вами каталог успешно создан. Обычно, если ошибки не отображаются, вы можете предположить, что это сработало.

Однако, если вы хотите получить более подробный вывод, чтобы знать, что было создано, используйте переключатель -v :

Выход будет по линии

Использование mkdir в скрипте оболочки

Вы также можете использовать команду mkdir как часть сценария оболочки.

В нашем примере мы рассмотрим скрипт, который принимает путь. Когда скрипт будет выполнен, он создаст папку и добавит один текстовый файл с именем «hello».

Первая строка должна быть включена в каждый скрипт, который вы пишете. Он используется, чтобы показать, что это действительно BASH-скрипт.

  • mkdir , конечно, используется для создания папки.
  • $ @ (также называемый входными параметрами), помещенный в конец второй и третьей строки, заменяется значением, которое вы указали при запуске скрипта.
  • cd перейдет в указанный вами каталог.
  • touch создает пустой файл с именем привет .

Выполните следующие шаги, чтобы попробовать скрипт самостоятельно:

Откройте окно терминала. Ctrl + Alt + T должен сделать это быстро.

Введите эту команду:

Введите эти команды в редакторе:

Сохраните файл с помощью сочетания клавиш Ctrl + O , а затем нажмите Ввод .

Используйте Ctrl + X для выхода из файла.

Измените разрешения, набрав это:

Выполните это, чтобы запустить скрипт:

Когда вы запустите скрипт, будет создан каталог с именем «test», и если вы перейдете в этот каталог ( тест cd ) и запустите список каталогов ( ls ), вы увидим один файл под названием “привет”.

Пока все хорошо, но теперь попробуйте Шаг 7 снова. Появится ошибка о том, что папка уже существует.

Есть несколько вещей, которые мы можем сделать, чтобы улучшить сценарий. Например, даже если папка уже существует, нам все равно, пока она там.

Если вы укажете -p как часть команды mkdir, это не приведет к ошибке, но если она не существует, она создаст папку.

Сенсорная команда создаст файл, если он не существует, но если он существует, он просто изменяет дату и время последнего доступа.

Представьте, что оператор touch был заменен оператором echo, который записывает текст в файл:

Если вы снова и снова будете запускать команду ./ createhellodirectory.sh test , это приведет к тому, что файл с именем “hello” в каталоге тестов будет становиться все больше и больше с увеличением числа строк слова “привет” в этом.

Теперь, это может или не может быть так, как задумано, но давайте пока скажем, что это не желаемое действие. Вы можете написать тест, чтобы убедиться, что каталог не существует, прежде чем запустить команду echo:

Приведенный выше скрипт является нашим предпочтительным методом для обработки создания папок. Команда mkdir создает папку, которая передается в качестве входного параметра, но любые сообщения об ошибках отправляются в/dev/null (что, по сути, нигде не означает).

Третья строка проверяет состояние вывода предыдущей команды, которая является оператором «mkdir», и в случае успеха выполняет операторы до тех пор, пока не будет достигнут оператор «fi».

Это означает, что вы можете создать папку и выполнять все, что вы хотите, если команда выполнена успешно. Если вы хотите сделать что-то еще, если команда не была успешной, вы можете просто ввести оператор else:

В приведенном выше сценарии, если оператор mkdir работает, то оператор echo отправляет слово «hello» в конец файла с именем «hello», тогда как, если он не существует, будет создан новый файл «hello» со словом «hello». привет “в этом.

Этот пример не особенно практичен, потому что вы можете достичь тех же результатов, просто запустив строку echo “hello”> hello . Суть примера в том, чтобы показать, что вы можете запустить команду «mkdir», скрыть вывод ошибки, проверить состояние команды, чтобы увидеть, была ли она успешной или нет, а затем выполнить один набор команд, если «mkdir» Команда была успешной и другой набор, если это не так.

Источник

Оцените статью