Во многих наших статьях проскакивают различные команды, связанные с файловыми манипуляциями – создание директорий, файлов, установка пакетов и т.д. В данной статье мы решили начать повествование последовательно.
Основы
Итак, в 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