Основы Linux.Часть 28 (управление жесткими дисками)

Файловая система в ОС Linux, как и в ОС Windows, представляет собой иерархическую структуру каталогов и файлов (в виде дерева), но при этом имеет ряд кардинальных отличий.

Шаг Lsblk

В Linux устройства классифицируются как блочные или символьные. Символьные устройства — это такие устройства, как клавиатуры и принтеры. Блочные устройства — это, например, жесткие диски, устройства DVD и флеш-накопители.

У нас есть команда lsblk (list block), которая отображает нам в виде списка основную информацию о каждом блочном устройстве. Она также отображает все устройства в виде дерева, показывая все разделы дисков в виде ветвей этого дерева. В качестве примера можно посмотреть на отображение диска sda с ветвями sda1, sda2 и sda3.

Шаг Lsblk

kali> lsblk

В вышеприведенных результатах также есть fd0 (дисковод для дискет, флоппи-дисковод) и sr0 (DVD-привод). Дополнительная информация — это точка монтирования устройства. Обратите внимание, что оба моих внешних USB-диска примонтированы в /media/root.

Команды Linux для установки программ

4.1 Просмотр установленных пакетов

RPM-дистрибутивы

# rpm -qa # Отображается список пакетов RPM, установленных в системе.

DEB–дистрибутивы

# dpkg -l |more # Для показа списка пакетов DEB, установленных в системе; # apt-cache search имя пакета # Для поиска в индексах доступного пакета и вывода на экран краткой информации о нужном пакете (это весьма полезная команда, обеспечивающая поиска программ из консоли); # apt-cache showpkg имя пакета # Для отображения полной информации об указанном пакете.

4.2 Установка и удаление пакетов

RPM-дистрибутивы

# [sudo] rpm -i # Устанавливается RPM-пакет ; # [sudo] dpkg -i *.rpm # Устанавливаются все пакеты в директории; # [sudo] rpm -e pkgname # Удаляется RPM-пакет pkgname.

DEB-дистрибутивы

# [sudo] apt-get update # Обновляется список доступных пакетов из интернета; # [sudo] apt-get upgrade # Обновляется доступная версия установленных пакетов в системе; # [sudo] dpkg -i *.deb # Устанавливаются все пакеты в директории; # [sudo] apt-get install pkgname # Устанавливается DEB-пакет pkgname; # [sudo] apt-get remove pkgname # Удаляется DEB-пакет pkgname.

Информация о сети

Рассмотрим 3 типа IP-адресов, с которыми приходится сталкиваться чаще всего:

  1. Внешний IP-адрес — адрес нашего устройства в глобальной сети.
  2. Локальной IP-адрес — адрес в локальной сети устройств.
  3. Внутренний IP-адрес — используется в основном утилитами для взаимодействия между собой. Всегда 127.0.0.1 или localhost
Читайте также:  Apple выпустила iOS 11.4 Beta 4 для iPhone и IPad

Разберем способы узнать внешний и локальный IP-адрес.

Как узнать внешний IP-адрес

В большинстве случаев, чтобы узнать свой внешний IP-адрес требуется сторонний сервис, который скажет с какого IP вы отправили ему запрос.

Как правило, эти сервисы представляют из себя обычные веб-страницы, вот их список:

Разницы в этих сайтах особо нет, выберите тот, который именно вам отвечает быстрее всего.

Их можно открывать через браузер, но это не всегда удобно, поэтому в примерах мы будем рассматривать как обращаться к ним прямо из терминала.

Способ 1: wget

Утилита wget позволяет нам скачивать файлы и получать информацию с веб-страниц. Для начала проверим, установлена ли она, введите в терминал wget и если получите в ответ bash: wget: command not found, значит самое время ее установить

sudo apt install wget

Или вместо apt использовать yum, что зависит от вашего дистрибутива:

sudo yum install wget

Итак, утилита wget установлена, теперь попробуем узнать свой внешний IP-адрес. Для этого введем в терминал команду wget с опциями -qO, далее минус -, а затем уже один из сайтов, список которых выше. В целом шаблон команды такой:

wget -qO — адрес_веб_сайта

Например внешний IP-адрес можно узнать вот так:

wget -qO —

Или вот так:

wget -qO —

И так с любым сайтом из этого списка. Вот так это выглядит в терминале:

$ wget -qO — $ wget -qO — Способ 2: curl (проще)

Второй способ — использовать curl. Сама по себе утилита более универсальна, чем wget и заслуживает не одну отдельную статью, но в данном примере мы разберем как с ее помощью узнать свой внешний IP-адрес.

Для начала также проверим, установлена ли она, введите в терминал curl и если получите в ответ bash: curl: command not found, значит самое время ее установить

sudo apt install curl

Или вместо apt использовать yum, что зависит от вашего дистрибутива:

sudo yum install curl

Итак, утилита curl установлена, теперь попробуем узнать свой внешний IP-адрес. C «курлом» это намного проще, нужно лишь ввести curl и один из сайтов, список которых выше. В целом шаблон команды такой:

curl адрес_веб_сайта

Пробуем:

curl

И с другим сайтом:

curl

Вид из терминала:

$ curl $ curl Как узнать локальный IP-адрес

Локальный IP-адрес узнается при помощи разных утилит, мы рассмотрим наиболее популярный и актуальный инструмент для этих задач на сегодня — инструмент ip. Чтобы увидеть все сетевые интерфейсы, достаточно ввести:

Читайте также:  Публичная бета 11 MacOS 3 Big Sur: что нового и другие достижения

ip addr show

В примере используется Debian 9 и вывод там такой:

$ ip addr show 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:16:3e:3d:a0:09 brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet brd scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::216:3eff:fe3d:a009/64 scope link valid_lft forever preferred_lft forever

В выводе отображается очень много информации, в которой легко запутаться. Мы видим 2 интерфейса, один lo (внутренний 127.0.0.1) и проводной eth0, с локальным IP-адресом Как вы уже возможно поняли, сам IP-адрес отображается после inet.

Стоит перечислить самые распространенные интерфейсы, чтобы можно было легко ориентироваться, какой адрес кому пренадлежит.

  • lo — внутренний интерфейс, всегда 127.0.0.1 или localhost
  • eth — проводной интерфейс
  • wlan — Wi-Fi-интерфейс
  • ppp — Point-to-Point Protocol, часто используется для VPN

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

command > /dev/sda — конкретная запись на нашу файловую систему(жесткий диск)

Команда command > /dev/sda работает аналогично команде выше, она выполняет команду и посылает вывод этой команды непосредственно на корневой жесткий диск, записывая данные непосредственно на жесткий диск и таким методом повреждая файловую систему.

command — Выполнить команду (может быть любая команда) > — Отправьте вывод команды по следующему адресу. /dev/sda — Записать вывод команды непосредственно на устройство путь которого здесь прописывается, в нашем случае это жесткий диск(файловая система).

Примечание:  Как и выше я уже говорил, остерегайтесь выполнения команд, которые повлекут за собой повреждения целостности файловой системы.

Регистр имен

Также стоит отметить чувствительность файловой системы Linux к регистру. Файлы и будут интерпретироваться как разные файлы и могут находиться в одной директории, в отличие от ОС Windows, который не различает регистр имен. То же правило действует и на каталоги — имена в разных регистрах указывают на разные каталоги.

Назначение каждой директории регламентирует «Стандарт иерархии файловой системы» FHS (Filesystem Hierarchy Standard). Ниже опишем основные директории согласно стандарту FHS:

Регистр имен

Стандарт иерархии файловой системы

  • / — root каталог. Содержит в себе всю иерархию системы;
  • /bin — здесь находятся двоичные исполняемые файлы. Основные общие команды, хранящиеся отдельно от других программ в системе (прим.: pwd, ls, cat, ps);
  • /boot — тут расположены файлы, используемые для загрузки системы (образ initrd, ядро vmlinuz);
  • /dev — в данной директории располагаются файлы устройств (драйверов). С помощью этих файлов можно взаимодействовать с устройствами. К примеру, если это жесткий диск, можно подключить его к файловой системе. В файл принтера же можно написать напрямую и отправить задание на печать;
  • /etc — в этой директории находятся файлы конфигураций программ. Эти файлы позволяют настраивать системы, сервисы, скрипты системных демонов;
  • /home — каталог, аналогичный каталогу Users в Windows. Содержит домашние каталоги учетных записей пользователей (кроме root). При создании нового пользователя здесь создается одноименный каталог с аналогичным именем и хранит личные файлы этого пользователя;
  • /lib — содержит системные библиотеки, с которыми работают программы и модули ядра;
  • /lost+found — содержит файлы, восстановленные после сбоя работы системы. Система проведет проверку после сбоя и найденные файлы можно будет посмотреть в данном каталоге;
  • /media — точка монтирования внешних носителей. Например, когда вы вставляете диск в дисковод, он будет автоматически смонтирован в директорию /media/cdrom;
  • /mnt — точка временного монтирования. Файловые системы подключаемых устройств обычно монтируются в этот каталог для временного использования;
  • /opt — тут расположены дополнительные (необязательные) приложения. Такие программы обычно не подчиняются принятой иерархии и хранят свои файлы в одном подкаталоге (бинарные, библиотеки, конфигурации);
  • /proc — содержит файлы, хранящие информацию о запущенных процессах и о состоянии ядра ОС;
  • /root — директория, которая содержит файлы и личные настройки суперпользователя;
  • /run — содержит файлы состояния приложений. Например, PID-файлы или UNIX-сокеты;
  • /sbin — аналогично /bin содержит бинарные файлы. Утилиты нужны для настройки и администрирования системы суперпользователем;
  • /srv — содержит файлы сервисов, предоставляемых сервером (прим. FTP или Apache HTTP);
  • /sys — содержит данные непосредственно о системе. Тут можно узнать информацию о ядре, драйверах и устройствах;
  • /tmp — содержит временные файлы. Данные файлы доступны всем пользователям на чтение и запись. Стоит отметить, что данный каталог очищается при перезагрузке;
  • /usr — содержит пользовательские приложения и утилиты второго уровня, используемые пользователями, а не системой. Содержимое доступно только для чтения (кроме root). Каталог имеет вторичную иерархию и похож на корневой;
  • /var — содержит переменные файлы. Имеет подкаталоги, отвечающие за отдельные переменные. Например, логи будут храниться в /var/log, кэш в /var/cache, очереди заданий в /var/spool/ и так далее.
Читайте также:  iOS 11.2.5 бета 6 выпущена для разработчиков от Apple