Команды по управлению ОС: pwd, cd, mkdir, touch, cp, ls, rm, less, more, find, head, tail, cat, grep, scp и др.
В этой статье коротко пройдемся по незаменимым командам в рутинной работе любого системного администратора. База без которой на хостинге как без рук. Статья будет полезна пользователям, которые начинают осваивать азы управления системой с Linux. Здесь мы пройдемся по основному функционалу и назначению кожной из них. Отдельные команды будут вынесены в отдельные статьи (или уже вынесены).
Команда pwd
Команда pwd сокращение от анг. print working directory и дословно переводится как “вывести рабочую директорию”. Перевод сразу определяет и четко объясняет предназначение команды, цель вывести на экран путь к директории в которой на текущий момент выполняет действия или просто находится пользователь.
Путь будет выведен абсолютный начиная с символа /. Удобно использовать для определения точного пути директории для последующего выполнения действий над ней. pwd имеет простой синтаксис и в большинстве случаев применяется без добавления опций.
Команда cd
С помощью этой команды можно сменить текущую рабочую директорию. Обратите внимание, чтобы это сделать, пользователь должен обладать правами доступа на выполнение в той директории. Синтаксис аналогично очень просто после самой команды нужно указать путь к желаемому источнику перехода.
Например, перейдем в каталог с названием test.
cd /home/maria/test
Часто используемые аргументы:
- - для возврата в предыдущею директорию;
. - для перехода в поддеректорию в текущей рабочей папке;
~ - для перехода в домашнюю директорию.
Команда mkdir
Применяется для создания новой директории. Имеет аналогично понятный и простой синтаксис. После команды вводится путь и название самой папки, если нужно создать сразу несколько, тогда значения прописываются через пробел.
Также можно одной командой установить нужные права доступа к ней (как прописываются права дополнительно можно почитать в нашей статье “Права доступа и типы пользователей к файлам и директориям в ОС Linux”), задается через опцию -m.
Например, создадим новую папку с названием test c стандартными правами доступа.
mkdir -m755 /home/maria/test
Через rmdir можно удалить каталог, но только пустой. Для удаления папки с файлами используется команда rm.
Команда rm
Имеет единственное назначение - удалять файлы или директории. После команды указываем путь к папке или файлу, которые необходимо удалить. Для рекурсивного удаления каталога используется опция -r. Через оператор -i можно включить вывод запросов с подтверждением об удалении каждого файла, для подтверждения нужно ввести символ y. В случае, если есть опасность удалить что-то не то очень полезная функция.
Для подробного вывода информации о процессе удаления добавляем опцию -v, ее можно использовать с большой частью команд и везде имеет одно и тоже предназначение
Пример, удалим рекурсивно папку test c подробным выводом информации о ходе выполнения:
rm -v /home/maria/test
Команда ls
Служит для вывода содержимого текущего каталога (или любого другого заданного вами) и предоставления информации об его файлах. После команды указываем директорию для какой нужно посмотреть наполнение, если для текущей достаточно будет самой команды без доп.аргументов.
Часто используемые опции с этой командой: -a - для отображения всех файлов, в том числе и скрытых, а опция -l - для вывода дополнительной информация об файлых (например, права доступа, владелец, дата создания и т.д.).
Команды more, less, cat
Используются для вывода содержимого файла больших размеров. Команда more очень простая команда с небольшим набором опций, например, в сравнении с схожей командой less, но для выполнения основной своей задачи этого предостаточно.
Текст разбивается постранично, так как весь текст может не помещаться в окно терминале, при использовании команды more для перехода к следующий странице нужно нажимать клавышу “Enter”, где в конце страницы указан процент загрузки содержимого файла. Обе команды имеют много опцией фильтрации и сортировки для более удобного вывода и поиска необходимых данных.
Утилита cat несет в себе кроме задачи вывода содержимого на экран, возможность создавать и объединять файлы (отдельно можно ознакомится с информацией об этой утилите здесь).
Команды cp и mv
Используя утилиту cp и mv объединяет функция копирования файлов и директория в пределах одного сервера. Стоит просто указать путь к файлу который необходимо перенести и желаемое место переноса.
Разница между командами есть, cp копирует файл, но оставляет за собой оригинальный исходный файл на месте, а mv просто переносит файл, не оставляя источник. Второе различие, что mv обладает умением переименовать файлы, для копирования ее используют редко. Узнать больше об утилитах можно в нашей статье “Утилиты CP и MV. Примеры использования”
Команда scp и Rsync
Необхоимы для осуществление копирования файлов, но уже не только в пределах одной системы, ну и между разными серверами. scp считается более примитивной и простой, в сравнении Rsync пользуется большим спросом через обилие ключей, наличие специального алгоритма переноса, который позволяет в случае ошибки передачи данных продолжить копирование и докинуть недостающую часть, также Rsync обеспечивает хорошую скорость при работе с объемными файлами.
Этим утилитам посвящены у нас в блоге две отдельных статьи об scp можно почитать здесь и об Rsync здесь.
Команда touch
Команда позволяет изменять разные временные метки файла (время модификации, время последнего доступа и т.д.), через соответствующие опции. Вызвать краткое описание опций можно через ключ --help.
Второе частое применение создание файла, это можно сделать если ввести название файла которого не существует в системы, создастся пустой новый файл с указанным названием. Синтаксис команды также легок, указываем утилиту, далее опции если необходимо и название файла над каким будут проводиться манипуляции.
Команда find и grep
Не менее нужной есть команда find для осуществление поиска в системе. Содержит в себе большое количество ключей по которым можно хорошо сузить выборку и быстрее найти необходимый материал. Об использовании утилиты и опциях утилиты можно ознакомится в статье здесь.
Часто используют вместе утилиты find и grep, благодаря grep можно выполнять поиск файла по его наполнению, даже по указанному сочетанию слов. Что оптимальный вариант если пользователь ничего не помнит о самом файле, но владеет информацией об его содержании. grep применяется с многими утилитами, является универсальным инструментом для поиска. Например, необходимо вывести список всех процессов связанных с службой dovecot :
ps aux | grep dovecot
Утилиты head и tail
Также помогают выполнять поиск и облегчить вывод необходимого содержимого файлов, и используются в комбинации с другими утилитами для своего рода фильтрации. Но tail будет выводить строки с конца документа, а head сначала. Для указание нужного количества строк для вывода на экран используется опция -n.
Рассмотрим на практическом примере: выведем первые шесть строк файла test.txt.
cat test.txt | head -n 6
Опции man и --help
Не могли не вспомнить об них, с помощью них можно всегда получить справку и документацию об использовании той или иной команды.
Например, для получения справки об использовании команды find, введем:
find --help
Команду df
Незаменимый помощник для проверки занятого и доступного места в системе. После выполнения команды на экране отобразится информация о размере, использованного и доступного пространства и другие параметры такие как: название разделов, занятий объем, занятый обем в процентной соотношении, размер, место монтирования и т.д. к существующим файламам и службам.
Для более читабельного вида можно использовать с опцией -h. Также можно указать конкретную директорию/раздел и получить статистику только по ним.
Конечно, этот список команд и утилит можно продолжать и продолжать, в будущем будем его пополнять и рассказывать о новых возможностях работы через терминал в системы с Linux.