- Работа с файлами и каталогами в Linux
- Введение
- Требования
- Расположение каталогов в файловой системе
- Просмотр содержимого каталогов
- Перемещение между каталогами
- Операции с файлами и каталогами
- Создание
- Удаление
- Перемещение
- Копирование
- Редактирование файлов
- Заключение
- Как создавать каталоги в Linux (команда mkdir)
- Синтаксис команды Linux mkdir
- Как создать новый каталог
- Как создать родительские каталоги
- Как установить разрешения при создании каталога
- Как создать несколько каталогов
- Выводы
- Простейшие команды Linux
- Создание имени пользователя
- Вход в систему
- Виртуальная консоль
- Оболочки и команды
- Выход из системы
- Изменение пароля
- Файлы и каталоги
- Дерево каталогов
- Текущий каталог
- Обращение к домашнему каталогу
- Движение по дереву каталогов
- Просмотр содержимого каталогов
- Создание новых каталогов
- Создание новых файлов
- Смена владельца файла или группы файла
- Копирование файлов
- Перемещение файлов
- Уничтожение файлов и каталогов
- Просмотр содержимого файлов
- Экранная документация
Работа с файлами и каталогами в Linux
Введение
В этом руководстве для начинающих пользователей мы ознакомимся с основными командами для работы с файлами и каталогами (иногда их еще называют директориями) в Linux-системах.
Требования
Cервер с Ubuntu 20.04
Все команды, описанные ниже, будут работать и в других дистрибутивах Linux.
Расположение каталогов в файловой системе
При входе на сервер, вы, как правило, попадаете в домашний каталог вашей учетной записи, отведенный для хранения файлов и создания директорий.
Для того чтобы узнать, где располагается каталог, в котором мы сейчас находимся, используется команда:
Результат выполнения команды выглядит следующим образом:
Домашний каталог располагается после имени учетной записи пользователя, в приведенном примере он называется /demo. Этот каталог находится в каталоге с именем /home и в каталоге верхнего уровня, который называется root или корневой каталог, поэтому представлен одной косой чертой /.
Просмотр содержимого каталогов
Для просмотра содержимого каталога используется команда ls. Название этой команды является сокращением слов list files.
Просмотреть содержимое любой директории можно следующими способами:
Либо введя команду:
В результате выполнения команды отображаются файлы и каталоги, находящиеся внутри данного каталога:
К команде ls можно добавлять дополнительные флаги, например, чтобы показать детализированное представление (права, список владельцев файлов или папок, размер, дату последнего модифицирования) файлов и директорий в текущей директории, можно использовать флаг -l:
Результат выполнения команды:
Для просмотра списка всех файлов, включая скрытые файлы и каталоги, вы можете добавить флаг -a:
Результат выполнения команды:
Отобразить содержимое текущей директории с добавлением к именам символов, характеризующих тип, можно с помощью команды:
Результат выполнения команды:
Перемещение между каталогами
Для перехода в домашний каталог используется команда cd. Название этой команды является сокращением слов change directory.
Для перехода в домашний каталог пользователя user используется команда:
Для перехода в предыдущую директорию, в которой мы находились до перехода в текущую директорию также используется команда cd.
В Linux-системах каждый файл и каталог находятся в самой верхней директории, которая называется «корневой» и обозначается одним символом слэш /.
Абсолютный путь указывает на расположение каталога по отношению к этой директории верхнего уровня. Это позволяет обращаться к справочникам однозначным образом из любого места в файловой системе.
Каждый абсолютный путь должен начинаться с косой черты — символа слэш /.
Для перехода в директорию уровнем выше используется команда:
Для перехода в директорию двумя уровнями выше:
Операции с файлами и каталогами
У каждой команды имеется множество параметров, чтобы узнать их, наберите команду и параметр —help, например:
Далее приведен список основных команд навигации в консоли Linux.
Создание
Создание файлов производится с помощью команды:
Создание каталогов выполняется с помощью команды вида:
Название этой команды является сокращением слов make directory.
Создание двух каталогов одновременно выполняется с помощью команды:
Для создания дерева каталогов используется команда следующего вида:
Удаление
Для удаления директорий используется команда rmdir имя_директории. Название этой команды является сокращением слов remove directory.
Для удаления файлов используется команда rm. Например, для удаления файла с именем file1 используется команда:
Команда rm также позволяет удалять не только файлы, но и каталоги.
Для удаления директории с именем dir1 со всеми подкаталогами и файлами используется опция -r (от слова recursive):
Можно удалить одновременно две директории со всем их содержимым:
Также можно использовать параметр -f, который означает, что при удалении не будет запрашиваться подтверждение.
Команда для удаления файла будет выглядеть так:
Команда для удаления каталога:
Перемещение
Для перемещения и переименования файлов и каталогов используется команда mv. Название этой команды является сокращением слова move.
Переименовать файл можно с помощью команды:
Для того чтобы переместить файл, используется команда:
Копирование
Для копирования используется команда cp. Название этой команды является сокращением слова copy.
Чтобы скопировать файл file1 и назвать его file2, используется команда:
Для того чтобы копировать директорию dir1 в директорию dir2, используется команда:
Скопировать файл с именем file1 в директорию с именем dir1, можно с помощью команды:
Редактирование файлов
Мы ознакомились с основными командами для работы с каталогами и файлами.
Далее мы изучим, как редактировать файлы и добавлять в них содержание.
Команда nano позволяет работать в одном из самых простых текстовых редакторов командной строки Linux, который занимает весь терминал в течение всего срока его использования.
В результате ввода в терминал команды nano будет открыт чистый файл.
Интерфейс выглядит следующим образом:
В верхней части открывшегося редактора отображается имя приложения и имя файла, который мы редактируем.
В середине должно располагаться содержимое файла, в настоящее время оно пустое.
В нижней части интерфейса расположен ряд комбинаций клавиш, которые указывают с основными элементами управления текстового редактора. Для каждого из них символ ^ означает клавишу CTRL.
Для того чтобы открыть справку используйте сочетание клавиш CTRL-G.
Закрывается справка с помощью сочетания клавиш CTRL-X. После закрытия справки мы возвращаемся к редактированию.
Вводить и редактировать можно любой текст, например, можно ввести: “Hello World!”
Для сохранения внесенных изменений следует нажать сочетание клавиш CTRL-O. Внимание! Это буква О, а не ноль.
Далее система попросит вас ввести либо подтвердить имя файла, который вы хотите сохранить:
Как вы можете видеть, параметры в нижней части окна редактирования также изменились. Они являются контекстными, то есть будут меняться в зависимости от того, что вы пытаетесь сделать.
После ввода имени файла нажмите клавишу ENTER.
Для того чтобы выйти из тестового редактора нажмите сочетание клавиш CTRL-X.
Если вы внесли изменения и не сохранили файл, вам будет предложено сохранить сделанные вами изменения:
Вы можете нажать клавишу Y, чтобы сохранить изменения, клавишу N для отмены изменений и выхода, или сочетание клавиш CTRL-C, чтобы отменить операцию выхода из режима редактирования файла.
Если вы решили сохранить изменения, вам будет предложено сохранить их в том же файле, который был отредактирован.
Нажмите клавишу ENTER, чтобы сохранить файл и выйти из редактора.
Заключение
Мы ознакомились с возможностями просмотра доступных файлов и каталогов, с основными командами для работы с файлами, которые позволяют просматривать, копировать, перемещать и удалять файлы, а также с основами редактирования в текстовом редакторе nano.
Источник
Как создавать каталоги в 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 .
Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.
Источник
Простейшие команды Linux
Система Linux является многозадачной многопользовательской операционной системой, что означает, что значительное число людей могут одновременно запускать много различных приложений одновременно на одном и том же компьютере. Этим система Linux отличается от системы MS-DOS, например, где в одно и то же время на компьютере может работать только один человек.
Опции команд Linux обычно начинаются с символа — , после которого можно указать сразу несколько опций. Например, вместо команды ls -l -F можно ввести команду ls -lF .
В качестве аргументов команд Linux могут выступать списки имён файлов или каталогов. Например, аргументами команды cp выступают имена файлов, которые будут копироваться. Список копируемых файлов замыкается именем файла (или каталога), куда будут копироваться файлы. При копировании более чем одного файла в конце должно стоять имя каталога.
Создание имени пользователя
Перед началом работы в только что установленной системе Linux, необходимо создать себе имя для повседневной работы. Нежелательно использовать для этого имя root , которое резервируется для выполнения особых команд и для работ по поддержанию работоспособности системы.
Для создания имени пользователя, следует войти в систему как пользователь root и использовать команду useradd (или adduser ).
Вход в систему
Обычно при входе в систему на экране появляется следующее приглашение:
После ввода имени пользователя и нажатия клавишы Enter появится предложение ввести пароль:
После этого следует ввести пароль (набираемые символы на экране не видны). При неверном вводе пароля на экране появится следующее сообщение:
После правильного ввода имени пользователя и пароля происходит вход в систему.
Виртуальная консоль
Консоль системы представляет собой монитор и клавиатуру, непосредственно подключённые к компьютеру. Система Linux, подобно другим версиям системы UNIX, предоставляет доступ к виртуальным консолям, с которых можно осуществлять одновременно несколько сеансов работы в системе.
Для ознакомления с работой в виртуальных консолях следует войти в систему и нажать комбинацию клавиш Alt-F2 . Снова появится приглашение login: (это вторая виртуальная консоль). Для возврата к первой виртуальной консоли необходимо нажать комбинацию клавиш Alt-F1 (происходит возврат в уже начатый сеанс работы).
Только что установленная система Linux предоставляет, как правило, доступ к первым шести виртуальным консолям, к которым можно обращаться, используя комбинации клавиш Alt-Fx. Таким образом, уже на начальном этапе пользователь получает мощный инструмент, позволяющий работать в одно и то же время сразу в нескольких сеансах.
Оболочки и команды
Большая часть общения с системой Linux происходит через посредство командных оболочек (shell). Командная оболочка — это программа, воспринимающая команды, вводимые с клавиатуры, и преобразующая их в инструкции операционной системе.
После входа в систему, операционная система запускает командную оболочку, после чего можно вводить команды. Команда — это первое слово в командной строке. Все остальное в командной строке воспринимается в качестве аргументов этой команды. В качестве примера создадим ( mkdir ) каталог commands :
Выход из системы
Для выхода из системы нужно после приглашения оболочки ввести команду:
Изменение пароля
Для смены пароля нужно ввести команду passwd . Команда предложит ввести старый пароль, а потом — новый. Затем команда попросит ввести новый пароль еще раз для подтверждения:
Файлы и каталоги
В операционной системе Linux используется понятие файла (file). Файл — это некоторый кусок информации, имеющий собственное имя (filename). Следует знать, что на диске информация сохраняется только в виде отдельных файлов.
Имена обычных файлов в Linux могут иметь длину до 255 символов и состоять из любых символов, кроме символа с кодом 0 и символа / (слэша). Однако имеется еще ряд символов, которые имеют в оболочке shell специальное значение и которые поэтому не рекомендуется включать в имена. Это следующие символы:
Понятие файла тесно связано с понятием каталога (directory). Каталог — это набор файлов. Пользователи Windows называют каталог папкой , по аналогии с папкой, в которой содержится много различных листов. Однако эта аналогия неверна, т.к. каталог содержит не собственно файлы, а ссылки на файлы, а также на другие каталоги. Каталогам даются имена, по которым их можно распознавать. Кроме этого, каталоги образуют древовидную структуру; иными словами, существует единственный корневой каталог, содержащий внутри себя все остальные каталоги.
При обращении к файлу указывается путь ( path ), который может состоять из имени каталога (имен вложенных друг в друга каталогов), за которым пишется имя файла. Имена при этом отделяются друг от друга слэшем ( / ). Например:
В приведенном примере можно видеть, что имена разделяются символом / . Именно по этой причине они и не могут его содержать.
Дерево каталогов
В большинстве систем Linux используется стандартное расположение файлов, так что местоположение основных системных файлов и программ легко найти. Каталоги образуют структуру в виде дерева, которое начинается с каталога / . Этот каталог называется также корневым каталогом ( root directory ). Непосредственно к каталогу / примыкают важные подкаталоги /bin , /etc , /dev , /usr и другие.
Текущий каталог
В любой момент времени отдаваемая команда относится к текущему каталогу (current directory). При входе в систему текущим каталогом назначается домашний каталог (в нашем случае /home/oleg ). Обращаясь к файлу, можно указывать как полный путь к этому файлу, так и только путь от текущего каталога.
Предыдуший пример при нахождении, например, в каталоге /home/oleg/docs будет выглядеть так:
Если путь к файлу (например, mokshadharma/index.xml ) начинается с символа, отличного от / , то это значит, что к файлу обращаются относительно текущего каталога. Такой способ обращения называется относительным путём (relative path).
Если имя файла начинается со знака / , то система интерпретирует это как полный путь ( full path ), т. е. путь, который ведёт к файлу, начиная с корневого каталога / ( /home/oleg/docs/mokshadharma/index.xml ). Это ещё называют абсолютным путём (absolute path).
Обращение к домашнему каталогу
В командной оболочке bash, включаемой почти во все вновь устанавливаемые системы Linux, домашний каталог можно обозначать символом
Движение по дереву каталогов
Команда, используемая для движения по дереву каталогов, называется cd — сокращение от change directory (изменить каталог). В качестве примера использования команды cd перейдем в каталог /home/oleg/docs/mokshadharma/ :
Теперь из текущего каталога можно обратиться к файлу следующей командой:
Для перехода в ближайший каталог более высокого уровня существует команда:
Для перехода в домашний каталог можно отдать команду cd без аргументов:
Просмотр содержимого каталогов
Команда ls (сокращение от list) выводит на экран список файлов и каталогов (опция -F позволяет получить более полную инфомацию):
В листинге видим, что к концу имени подкаталогов приписан символ / , а к концу имени исполняемого файла (executable) приписан символ * .
Создание новых каталогов
Для создания нового каталога используется команда mkdir (сокращение от make directory). Для примера создадим новый каталог и войдем в него:
Создание новых файлов
Для создания файлов используются команды touch и cat
Командой touch создается пустой файл:
Для создания файла командой cat , предназначенной для перенаправления вывода, на вход ее направляют данные со стандартного ввода (клавиатуры), а вывод команды — в новый файл:
После того, как будет введен необходимый текст, нажимается комбинация клавиш Enter и Ctrl-D или Enter и Ctrl-C , и все введенное будет записано в new_file . Конечно, таким образом создаются, в основном, короткие текстовые файлы.
Смена владельца файла или группы файла
Выполнять смену владельца может только суперпользователь, смену группы может выполнить сам владелец файла или суперпользователь. Для того, чтобы иметь право сменить группу, владелец должен дополнительно быть членом той группы, которой он хочет дать права на данный файл.
Для смены владельца используется команда chown :
Для смены группы используется команда chgrp :
Копирование файлов
Для копирования файлов используется команда cp (сокращение от copy):
Для указания текущего каталога может использоваться символ . :
Перемещение файлов
Для перемещения файлов используется команда mv (move):
Команда mv может использоваться и для перемещения файлов в другой каталог:
При переносе файлов в другой каталог следует соблюдать осторожность, т.к. если там уже находится файл с таким же именем, то он будет переписан.
Уничтожение файлов и каталогов
Для уничтожения файлов используется команда rm (сокращение от remove):
По умолчанию команда rm не всегда настроена таким образом, чтобы выдавать предупреждения перед уничтожением файла.
Для уничтожения каталогов используется команда rmdir , которая уничтожает только пустой каталог.
Для уничтожения каталогов, содержащих файлы и подкаталоги, используется команда rm -rf , пользоваться которой следует с крайней осторожностью, т.к. содержимое уничтожается ей без предупреждения.
Просмотр содержимого файлов
Для просмотра содержимого файлов используются команды more и cat . Команда more выводит содержимое файла частями (по одному экрану за один раз), а команда cat выводит весь файл сразу. Усовершенствованная версия more называется less .
Для просмотра содержимого, выведенного на экран командой less используются клавишы B и Space (можно использовать также Page Up и Page Down ).
Экранная документация
Почти все системы семейства UNIX, включая систему Linux, имеют экранную документацию (man pages). Её тексты содержат документацию по системным командам, ресурсам, конфигурационным файлам и т. д. и могут быть выведены на экран в процессе работы.
Для доступа к экранной документации используется команда man (сокращение от manual). Например, для просмотра оций команды ls следует ввести команду:
Источник