В любой операционной системе главная задача, которую выполняет любой пользователь, – работа с файлами. В Windows большинство операций, связанных с созданием, перемещением и изменением директорий и файлов, выполняется с помощью графического интерфейса. Создание каталога в Linux стоит рассматривать отдельно, так как ОС на основе этого ядра позволяют решать множество задач различными методами, каждый из которых может быть удобен в той или иной ситуации.
Особенности работы с файлами в Linux
В Unix-системах применяется принцип иерархии. Файловое хранилище представляет собой дерево каталогов с корневой директорией «/». Далее можно добавлять и удалять различные ветви, путем их монтирования и демонтирования.
Второй особенностью Linux можно назвать терминал. Несмотря на то, что консоль имеется и в других ОС, именно в Linux она получила большое признание. В терминале можно значительно ускорить работу с системой и ее содержимым.
Команды, с которыми пользователь может столкнуться на первоначальном этапе, – pwd и file. Первая позволяет узнать имя текущего каталога, вторая – тип элемента и некоторые свойства.
Команда file в Linux классифицирует операнды, перечисленные в командной строке. Например, для текстовых файлов реализована возможность определять язык программирования по первым 512 байтам, а для исполняемых – номер версии.
Основные операции с файлами и каталогами
Организация файлового хранилища – основная составляющая работы за компьютером. Создание, перемещение, копирование, удаление – лишь часть операций, с которыми пользователь сталкивается ежедневно. Их реализация возможна через графическую оболочку и через терминал. Поэтому стоит перечислить основные команды для работы с файлами и каталогами в Linux:
- ls – просмотр содержимого папки;
- cd – изменение директории;
- rm – удаление файла;
- rmdir – удаление папки;
- mkdir – создание каталога;
- mv – перемещение файла;
- cp – копирование файла;
- find – поиск файла по параметрам;
- chmod – изменение разрешений.
Каждая из утилит имеет дополнительные опции, позволяющие организовывать работу по определенным принципам, либо обрабатывать информацию массово, поэтому стоит рассмотреть основные из них подробнее.
Создание
Для создания каталога в Linux применяют mkdir. Она позволяет создать подпапку в текущей директории либо в другой папке, но тогда необходимо ввести полный путь до нее. Для выполнения требуются права на запись в указанном каталоге.
Обязательный параметр утилиты – имя новой папки. Можно указать и дополнительные:
- -m – установка прав доступа (-m 755);
- -p – создание промежуточных директорий.
Для создания текстового документа можно воспользоваться консольным редактором, например, Namo или Vi. Так, для запуска второго нужно ввести в терминал:
vi файл.txt
После этого откроется поле для ввода информации.
В консоли Linux возможны и другие способы создания файлов. Самым простым способом является использование оператора перенаправления:
> newtext.txt
Так, можно записать результат выполнения любой команды в текстовый документ. Например:
md5sum file.txt > ~/sum.md5
В результате будет посчитана MD5-сумма и записана в file.txt.
Но чаще для решения такой задачи используют утилиту touch:
touch e.txt
Она создает новый документ. При указании имени, которое уже имеется, для существующего элемента обновится дата изменения.
Копирование
В работе с файлами и каталогами Linux часто возникает потребность в копировании исходного документа в другую директорию, для чего используется утилита cp. При этом исходный документ остается на месте, а для нового можно задать другое имя:
cp file new_file
Cp позволяет скопировать целую папку со всеми вложениями. Для этого предназначен параметр -r:
cp -r /etc /etc_new
Перемещение
Перемещение в Linux работает по тому же принципу, что и копирование, без сохранения исходного документа. Для этого в терминале необходимо выполнить:
mv file new_file
Для перемещения нужно указать путь к требуемому каталогу:
mv file /home/user/tmp/newdir
Утилита имеет несколько опций:
- -f – принудительная замена при существовании элемента с таким же именем;
- -i – уведомление, что одноименный документ уже существует;
- -n – пропуск при возникновении вышеописанной ситуации;
- -u – замена, если в документе есть изменения;
- -v – вывод результата выполнения.
Переименование
Здесь также используется утилита mv. Дело в том, что если действия производить в одном каталоге, то происходит изменение исходного файла или папки.
Так, для переименования каталога «dir» в «folder» нужно задать следующую команду:
mv ~/dir ~/folder
Linux позволяет выполнить рекурсивное переименование всех вложенных каталогов и документов заданием параметра -R.
Удаление
Для удаления элементов применяют команду rm. Если она запускается из другого каталога, необходимо указать полный путь:
rm /usr/share/video.avi
Чтобы удалить папку, команда видоизменяется – rmdir:
rmdir folder1
Для рекурсивного удаления всех вложенных документов и папок указывают параметр -r для rm:
rm -r /home/user/video/
Поиск
Поиск по каталогам в Linux производится с помощью команды find. Его шаблонная запись выглядит следующим образом:
find путь/к/директории опции
Обычно указывают полный путь, однако возможны и частные варианты:
- «.» – поиск в текущей папке;
- «/» – поиск относительно корня хранилища;
- «~» – поиск в домашней папке.
Опции find дают возможность задать условия поиска:
- -name – искать по имени;
- -user – искать среди файлов пользователя;
- -type – искать по типу, например, d – каталог, f – файл, l – ссылка;
- -size (-n, +n, n) – искать элементы с размером не более (-), не менее (+) или равное n;
- -mtime (-n, +n) – искать файлы, модифицированные менее (-) или более (+) чем n дней назад.
Заключение
Создание каталога в Linux, а также выполнение с ним различных операций, значительно упрощается, если все действия выполняются в терминале. Уже в процессе создания, копирования и перемещения есть возможность указать параметры, среди которых имя и права доступа. Более того, при необходимости создать несколько вложенных директорий, их можно сразу задать в одной строке, что, несомненно, является плюсом.