Найти тему
Merion Academy

Linux: команды для работы с файлами и директориями

Оглавление

Во многих наших статьях проскакивают различные команды, связанные с файловыми манипуляциями – создание директорий, файлов, установка пакетов и т.д. В данной статье мы решили начать повествование последовательно.

ОСНОВЫ

Итак, в 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