Какие методы создания и удаления файлов каталогов вы знаете
В ОС 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:
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:
Читайте также: