Во многих наших статьях проскакивают различные команды, связанные с файловыми манипуляциями – создание директорий, файлов, установка пакетов и т.д. В данной статье мы решили начать повествование последовательно.
ОСНОВЫ
Итак, в Linux в отличие от Windows существует понятие полного и относительного пути. Разница между ними в том, что полный путь всегда начинается с корневого каталога (корневой каталог обозначается как /), и далее также через слеш происходит перечисление всех названий каталогов на пути к искомому файлу или директории, а в случае относительного пути – в начале слеш не указывается. То есть без слеша путь указывается относительно нынешнего местоположения, а со слешем – относительно корневого каталога. Примеры:
- /home/user1/tmp/test.sh - полный путь;
- ~/tmp/file1 - относительный путь;
Ниже вы встретите часто используемые команды для работы с файлами, архивами и установкой программ.
КОМАНДЫ ДЛЯ РАБОТЫ С ФАЙЛАМИ И ДИРЕКТОРИЯМИ
Команд довольно много, я перечислю самые, на мой взгляд, часто используемые:
- cd - смена директории на домашнюю, можно добавлять аргументы – к примеру, cd /root;
- pwd - команда покажет текущий путь к директории, в которой вы находитесь в данный момент;
- ls - вывод списка файлов и каталогов по порядку (наверное, самая известная команда) если добавить модификаторы lax, то команда выведет форматированный список всех файлов и директорий (в том числе скрытые);
- cat - показывает содержимое файла, к примеру – cat /root/file.txt;
- tail - например, tail /root/file.txt, выводит только конец файла, удобно при работе с логами;
- cp - копирование директории или файла, то есть cp /root/file.txt /etc/folder1/file.txt – из /root файл будет скопирован в указанную директорию
- mkdir - создание директории, например, mkdir /root/1;
- rmdir - удаление директории, синтаксис такой же, как и у команды выше;
- rm -rf - очень опасная команда (и довольно популярная в интернет фольклоре), но иногда и она может пригодиться – она удаляет директорию со вложенными файлами;
- mv - переименование файла или директории, сначала указывается целевая директория и затем её новое название;
- locate - поиск файла с заданным названием;
Для наглядности, посмотрите на вывод команды tail
# tail install.log
Installing dosfstools-3.0.9-4.el6.i686
Installing rfkill-0.3-4.el6.i686
Installing rdate-1.4-16.el6.i686
Installing bridge-utils-1.2-10.el6.i686
Installing eject-2.1.5-17.el6.i686
Installing b43-fwcutter-012-2.2.el6.i686
Installing latrace-0.5.9-2.el6.i686
Installing trace-cmd-2.2.4-3.el6.i686
Installing crash-trace-command-1.0-5.el6.i686
*** FINISHED INSTALLING PACKAGES ***
В примере выше, команда tail вывела только последние 11 строк.
РАБОТА С АРХИВАМИ
Работа с .tar архивами – очень часто встречающаяся задача, поэтому хотим привести несколько полезных команд, чтобы не пришлось лишний раз пользоваться поисковиком :)
- tar cf example.tar /home/example.txt - создание .tar архива, который будет содержать в себе текстовый файл example.txt;
- tar cjf example1.tar.codez2 /home/example1.txt - команда с тем же функционалом, только будет использоваться сжатие Bzip2;
- tar czf example2.tar.gz /home/example2.txt - опять архивация, только на этот раз со сжатием Gzip;
- tar xf example.tar - распаковка архива в текущую директорию, если тип сжатия нестандартный, то после расширения нужно добавить тип сжатия (.codez2 или .gz соответственно);
РАБОТА С .RPM ПАКЕТАМИ
Так как мы больше всего рассказываем и пишем про FreePBX, который по умолчанию скачивается с официального сайта вместе c СentOS, здесь место для пары команд по работе c RPM пакетами. Почему? Потому что CentOS – RPM-based Linux Distribution :) Команды требуют наличие прав супер - пользователя.
- rpm -qa - вывод списка всех установленных RPM пакетов в системе;
- rpm –i rpmpackage.rpm - установка пакета с именем rpmpackage;
- rpm –e rpmpackage - удаление пакета с таким именем;
- dpkg -i *.rpm - установка всех пакетов в директории;
ПРО ЖЁСТКИЕ ДИСКИ
Команда fdisk –l выводит информацию о всех подключенных жёстких и сменных дисках в системе, бывает очень полезной. Ниже пример вывод этой команды (в качестве пример рассматривается OTRS - сервер)
umask 0077