Какие методы создания и удаления файлов каталогов вы знаете

Обновлено: 05.07.2024

В ОС Linux для каждого файла и каталога задаются права доступа, определяющие, кто и какие операции может осуществлять над данным файлом. Эти права позволяют ограничить доступ к файлу трем категориям пользователей (владелец, группа, остальные).

Кроме этого, можно управлять типом прав доступа к данному файлу или каталогу. Для файла или каталога может быть установлено право на чтение, запись и выполнение (для каталога - это право на вход в него). Наличие соответствующего права на чтение кодируется символом r (от англ. read), право на запись - w (write), право на выполнение - x (execute), отсутствие соответствующего права обозначают дефисом (-).

Эти три типа прав доступа для трех категорий пользователей образуют набор из девяти символов, однозначно задающий все права доступа к файлу (каталогу), например, rwxrwxr-x .

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

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

Команда ls -l выдает подробную информацию о файле, включая права доступа к нему. С файлом, имеющим, например, код доступа rwxr-xr-x его хозяин может производить любые операции (читать, изменять и выполнять), а все остальные - только читать и выполнять.

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

Копировать файлы можно с помощью команды cp (от англ. copy - копировать). Для команды cp обязательны два аргумента: исходный файл и имя копии. При копировании из одного каталога в другой можно использовать как абсолютный, так и относительный пути в именах файлов. Напомним, что между командой и ее аргументами необходимы пробелы. Например,

cp today report/monday

При копировании целого дерева файлов из одного каталога в другой используйте ключик r после имени команды. Скопированный каталог будет содержать все свои подкаталоги. Следующая команда создаст в каталоге oldletters копию каталога letters :

cp -r letters oldletters

cp: jasdfh: No such file or directory

При копировании, перемещении и удалении файлов можно использовать шаблоны в именах файлов и директорий, составленные из символов * (для замены любой комбинации символов) и ? (для замены единственного символа). Например, для копирования всех файлов из текущей директории , которые заканчиваются на .jpg в директорию Work, воспользуйтесь командой

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

Новые директории создаются командой mkdir. Например, команда mkdir Work создаст директорию с именем Work.

mkdir: cannot make directory `Work': File exists

rmdir: `имя_удаляемого_каталога': Directory not empty

В случае успешного удаления никакой дополнительной информации не выводится.

mkdir: cannot create directory `/Texts: Permission denied

Просмотр содержимого файлов

Для просмотра содержимого файлов используются команды more, less и cat . Все три команды в качестве параметра используют имя файла, предназначенного для просмотра, например,

Команда cat ( concatenate ) - сложная и универсальная команда. Простейшее применение этой команды - вывод содержимого файла на экран. Использование этой команды оправдано, если содержимое файла занимает не больше одного экрана. В противном случае часть информации исчезнет из области видимости.

Для файлов, содержащих большое число строк, удобнее использовать команды more или less . Действия этих команд почти аналогичны: информация выводится на экран порциями, нажатие на клавишу Space (пробел) выводит следующую порцию текста (экран), нажатие на клавишу b выводит предыдущий экран, клавиша q прекращает выполнение команды.

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

С помощью команды mv (от англ. move) можно либо изменить имя файла или каталога, либо переместить файл или каталог в другое место. Используя эту команду для переименования в качестве второго аргумента нужно указать новое имя:

mv текущее_имя новое_имя

Команда mv может использоваться для перемещения файла в новый каталог. Для этого нужно в качестве второго аргумента указать имя каталога:

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

В данной статье мы будем рассматривать команды touch, rm, cp, mv, mkdir, rmdir.

touch

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

Пример: touch -t 201202270446.26 file.txt

Для файла file.txt будет установлена дата 27 Февраля 2012 года 4:46:26.

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

Команда в качестве аргумента(имени файла, который нужно удалить) может принимать специальные символы(групповые операции), об этом мы поговорим позже, а сейчас просто посмотрим пару примеров.

cp [OPTIONS] SOURCE DESTINATION

cp -v /var/log/messages /home/user/messages

Сама команда очень гибкая, имеет множество ключей, однако на практике используются они не часто. Наиболее часто используются ключи -f,-v,-i,-r(-R). Функции которых аналогичны команде rm.

Если в директории куда планируется скопировать файл уже есть файл с таким именем, то он будет перезаписан. Во избежание таких ситуаций желательно использовать ключ -i. Также как и команда rm, cp может принимать специальные символы, для копирования сразу нескольких файлов и директорий.

mv

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

Соответственно мы получаем синтаксис команды:

mv [OPTIONS] SOURCE DESTINATION

mv -v /var/log/messages /home/user/messages

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

mkdir

Утилита mkdir используется для создания пустых каталогов. Также можно создавать и подкаталоги, иногда довольно удобно. Синтаксис довольно простой: mkdir [OPTION] DIRECTORY. В качестве опций(ключей) принимает всего 3 ключа:

Использование ключа -p довольно простое, нам всего лишь нужно через слэш указать название подкаталогов, таким образом синтаксис будет иметь следующий вид:

После выполнения команды будет создан каталог test в котором будет создан подкаталог test1 и так далее.

rmdir

Утилита для удаления каталогов. Удаляет только пустые каталоги. Также имеет в арсенале ключ -p, для удаления подкаталогов. Подкаталоги соответственно должны быть пустыми.

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

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

Терминал

запуск терминала

Основным способом управления в Linux, независимо от версии (Ubuntu, Mint и т.п.) является терминал. Он внешне очень схож с командной строкой Windows (или командная строка схожа с терминалом). Даже команды в каком-то смысле очень схожи (дело в том, что исходными являются одни и те же слова из английского языка). Чтобы открыть терминал нужно нажать сочетание клавиш «CTRL+ALT+T».

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

Стирание документов при выполнении через терминал задача необратимая. Удалённые таким образом файлы и папки «пролетают мимо корзины» (аналог в Windows «Shift+Del») и восстановлению не подлежат. С помощью терминала файлы стираются с помощью команды «rm». Используется следующим образом:

Выполнение команды

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

Примечание! есть команда «–rm –rf». Отличается этот вариант тем, что удаляется всё с жёсткого диска. Использовать эту команду действительно не стоит, потому что стираются файлы без подтверждения и рекурсивно (начинается всё с файла, а заканчивается каталогом верхнего уровня, а как следствие и содержимым локального диска).

Создание каталогов и документов

Способов на самом деле много. Различия в них минимальны, но каждый способ приводит к одинаковому эффекту, поэтому все они заслуживают упоминания. Для создания файлов и каталогов в Линукс через терминал используются следующие команды:

Что такое проводник Windows и для чего предназначен

Многие источники по непонятным причинам предлагают для создания файлов и каталогов через терминал использовать сочетание команд Echo > «%имя_файла». Следует понимать, что echo – даже не утилита, а просто способ вывода указанного текста в терминале. Поэтому в терминале будет выводиться название документа. С другой стороны – создание указанной структурной единицы всё равно происходит, поэтому можно пользоваться и им. К этой же категории относится и утилита «cat» связывающая файл. Применяется она через пустое значение по аналогии с СР.

Текстовый редактор в терминале

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

Поставив такую задачу, пользователь провоцирует утилиту выполнить создание файла (-с), а потом выйти из vim. Стоит обратить внимание, что название документа вводится после основного набора команд.

Файловый менеджер

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

Создание документа

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

Создание файлов и директорий в терминале Linux.

Создание текстовых файлов в терминале Linux.

Текстовый файл в терминале Linux можно создать тремя способами.

1. С помощью команды touch:

Вводим команду touch, затем путь и название нового файла.

Например, создадим текстовый файл в текущей директории с именем file.txt:

Результат выполнения команды touch

2. С помощью перенаправления стандартного потока вывода любой команды.

О перенаправлении стандартных потоках вывода в файл более подробно будет рассказано в одной из следующих статей о терминале Linux.

Создать файл можно также перенаправлением вывода любой команды в файл.

В общем виде команда будет следующей:

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

Например, перенаправим вывод справки команды ls в файл, который будет создан (а если такой файл есть, то он будет полностью перезаписан):

Перенаправление потока вывода в файл

Но это мы создали не пустой файл, а если хотим создать пустой, то воспользуемся командой echo c переданной ей пустой строкой (две одинарных ковычки) и перенаправим это в файл:

3. С помощью любого текстового редактора, консольного или с графическим интерфейсом.

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

Самый простой консольный текстовый редактор это nano:

Или с помощью текстового редактора с графическим интерфейсом, который установлен в Gnome по умолчанию:

Про манипуляции с текстом более подробно в одной из следующих статей о терминале Linux.

Создание директорий (каталогов) в терминале Linux.

Создание каталогов выполняется командой "mkdir" (от англ. make directory):

Создание директории в терминале

Создать директорию с именем "dir1":

Создать две директории одновременно:

Создать дерево директорий:

Удаление файлов и директорий в терминале Linux.

Удаление директорий (каталогов) в терминале Linux.

Для удаления директорий используется команда "rmdir" (от англ. remove directory):

Удаление директории в терминале

Удаляются директории аналогично, как и создаются. Такие же команды.

Удаление файлов в терминале Linux.

Для удаления файлов используется команда "rm" (от англ. remove).

Работает очень просто, пишете команду rm и путь к файлу, который хотите удалить:

Удаление файла в терминале

Удалить файл с именем "file1":

Но команда "rm" позволяет удалять не только файлы, но и директории (каталоги) вместе с их содержимым.

Удалить директорию с именем "dir1" и рекурсивно всё её содержимое:

Удалить две директории и рекурсивно их содержимое:

Также можно добавить параметр -f, который означает, что при удалении не будет запрашиваться подтверждение на удаление. Команды будут выглядеть так:

Перемещение и переименование файлов и директорий в терминале Linux.

Для перемещения и переименовывания файлов и директорий (каталогов) используется команда "mv" (от англ. move).

Всё очень просто. Чтобы переименовать файл, выполняем команду:

Переименование файла в терминале

Чтобы переместить файл:

Перемещение файла в терминале

Копирование файлов и директорий в терминале Linux.

Для копирования используется команда "cp" (от англ. copy).

Скопировать файл file1 и назвать его file2:

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

Копировать директорию dir1 в директорию dir2:

Копировать файл с именем file1 в директорию c именем dir1:

Справка о командах.

У каждой команды присутствует множество параметров, чтобы узнать их, просто наберите команду и параметр --help:

Читайте также: