Команда Which в Linux

Как определить используется порт на Linux или Unix-подобной системах.Как я могу проверить, какие порты прослушиваются на сервере Linux?

Команды Linux для навигации в терминале

  1. &&. Строго говоря, это не команда. Если вы хотите выполнить сразу несколько команд, поставьте между ними двойной амперсанд вот так: первая_команда && вторая_команда. Терминал выполнит команды по порядку. Вы можете ввести столько команд, сколько захотите.
  2. alias. Присваивает созданные вами названия длинным командам, которые вы не можете запомнить. Введите alias длинная_команда короткая_команда.
  3. cd. Изменяет текущую терминальную папку. Когда вы запускаете терминал, он использует вашу домашнюю папку. Введите cd адрес_папки, и терминал будет работать с файлами, которые там находятся.
  4. clear. Очищает окно терминала от всех сообщений.
  5. history. Отображает все недавно введённые вами команды. Кроме того, вы можете переключаться между недавними командами с помощью клавиш «Вверх» и «Вниз». Если вы не хотите, чтобы введённая вами команда была записана, поставьте перед ней пробел так: ваша_команда.
  6. man. Отображает руководство по программам и командам Linux. Введите man имя_пакетаили man ваша_команда.
  7. whatis. Отображает краткое описание какой-либо программы. Введите команду и название программы whatis имя_пакета.
Команды Linux для навигации в терминале

Назначение операторов find и grep

Команда find в Linux является оператором командной строки для работы с файлами в обход существующей иерархии. Она позволяет производить поиск файлов с использованием множества фильтров, а также выполнять некие действия над файлами после их успешного поиска. Среди критериев поиска файлов – практически все доступные атрибуты, от даты создания до разрешения.

Назначение операторов find и grep

Команда grep в Linux также относится к поисковым, но внутри файлов. Буквальный перевод команды – «глобальная печать регулярных выражений», но под печатью здесь понимается вывод результатов работы на устройство по умолчанию, каковым обычно является монитор. Обладая огромным потенциалом, оператор используется достаточно часто и позволяет производить поиск внутри одного или нескольких файлов по заданным фрагментам (шаблонам). Поскольку терминология в Linuxе существенно отличается от таковой в среде Windows, очень многие пользователи испытывают значительные трудности с использованием этих команд. Постараемся устранить этот недостаток.

Linux Which Command

13 Января 2020 | Терминал В этом руководстве мы рассмотрим команду which.

which — команда Linux используется для определения местоположения данного исполняемого файла, который выполняется при вводе имени исполняемого файла (команды) в командной строке терминала. Команда выполняет поиск исполняемого файла, указанного в качестве аргумента, в каталогах, перечисленных в переменной среды PATH.

Что такое PATH

В Linux PATH это переменная окружения, которая сообщает оболочке и другим программам, в каких каталогах искать исполняемые файлы. Он состоит из списка разделенных двоеточиями абсолютных путей к каталогам, содержащим исполняемые файлы.

Чтобы просмотреть содержимое вашей переменной PATH, используйте команду echo с $PATH аргументом:

Читайте также:  Как пользоваться командой top для наблюдения за процессами в Linux

echo $PATH

Вывод будет выглядеть примерно так:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin Как использовать which команду

Синтаксис which команды следующий:

which [OPTIONS] FILE_NAME…

Например, чтобы найти полный путь команды ping , вы должны набрать следующее:

which ping

Результат будет примерно таким:

/bin/ping

Вы также можете указать несколько аргументов which команды:

which netcat uptime

Вывод будет включать полные пути к обоим netcat и uptime исполняемым файлам :

/bin/netcat /usr/bin/uptime

Поиск выполняется слева направо, и если в каталогах, перечисленных в PATHпеременной пути, найдено более одного совпадения , which будет напечатано только первое. Чтобы распечатать все совпадения, используйте -a опцию:

which -a touch

Вывод покажет два полных пути к touch команде :

/usr/bin/touch /bin/touch

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

Вывод

Команда which используется для поиска команды путем поиска исполняемого файла команды в каталогах, указанных в переменной среды PATH.

#which #linux #command

Синтаксис

Как и любая другая команда, tcpdump имеет свой синтаксис. Зная его, вы сможете задавать все необходимые параметры, которые будут учитываться при выполнении команды. Синтаксис имеет следующий вид:

tcpdump опции -i интерфейс фильтры

При использовании команды вам обязательно необходимо указывать интерфейс для отслеживания. Фильтры и опции — это не обязательные переменные, но они позволяют выполнить более гибкую настройку.

Опции

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

Опция Определение
-A Позволяет отсортировать пакеты с форматом ASCII
-l Добавляет функцию прокрутки
-i После ввода нужно указать сетевой интерфейс, который будет отслеживаться. Чтобы начать отслеживать все интерфейсы, впишите после опции слово «any»
-c Завершает процесс отслеживания после проверки указанного количества пакетов
-w Генерирует текстовый файл с отчетом проверки
-e Показывает уровень интернет-соединения пакета данных
-L Выводит только те протоколы, которые поддерживает указанный сетевой интерфейс
-C Создает другой файл во время записи пакета, если его размер больше заданного
-r Открывает файл для чтения, который был создан с помощью опции -w
-j Для записи пакетов будет использоваться формат TimeStamp
-J Позволяет просмотреть все доступные форматы TimeStamp
-G Служит для создания файла с логами. Опция требует также указания временного значения, по истечении которого будет создаваться новый лог
-v, -vv, -vvv В зависимости от количества символов в опции, вывод команды будет становиться подробнее (увеличение прямо пропорционально количеству символов)
-f В выводе показывает имя домена адресов IP
-F Позволяет считывать информацию не из сетевого интерфейса, а из указанного файла
-D Демонстрирует все сетевые интерфейсы, которые можно использовать
-n Деактивирует отображение доменных имен
-Z Задает пользователя, под учетной записью которого будут созданы все файлы
-K Пропуск анализа контрольных сумм
-q Демонстрация краткой информации
-H Позволяет обнаружить заголовки
-I Используется при захвате пакетов в режиме монитора

Разобрав опции, чуть ниже мы перейдем непосредственно к их применениям. А пока что будут рассмотрены фильтры.

Фильтры

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

Фильтр Определение
host Служит для указания имени хоста
net Указывает IP подсети и сети
ip Служит для указания адреса протокола
src Выводит пакеты, которые были отправлены с указанного адреса
dst Выводит пакеты, которые были получены указанным адресом
arp, udp, tcp Фильтрация по одному из протоколов
port Отображает информацию, относящуюся к определенному порту
and, or Служит для объединения нескольких фильтров в команде
less, greater Вывод пакетов меньше или больше указанного размера

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

Утилита MTR

MTR – это альтернатива программе traceroute. Объединяя функции ping и traceroute, mtr позволяет постоянно опрашивать удаленный сервер и отслеживать изменения задержки и производительности с течением времени.

Синтаксис утилиты также несложный:

$ mtr опции адрес_узла

Например:

$ mtr

Вывод похож на traceroute, но mtr имеет существенное преимущество – ее вывод постоянно обновляется. Это позволяет собирать средние показатели, а также отслеживать тенденции и изменения производительности сети. Как и с утилитой ping, mtr будет работать бесконечно. Чтобы прервать работу команды, нужно нажать специальную клавиатурную комбинацию <Ctrl+C>.

Пояснение вывода:

host — имя хоста; Loss% — процент потерь пакетов; Snt — количество отправленных пакетов; Last — время задержки последнего отправленного пакета в миллисекундах; Avg — среднее время задержки; Best — минимальное время задержки; Wrst — максимальное время задержки; StDev — среднеквадратичное отклонение времени задержки;

Полезные опции:

-c <число> — Количество циклов проверки (количество отправленных пакетов по сути); -r — Режим отчета. Программа выполнит указанное при помощи параметра -c количество циклов, выведет отчет и завершит свою работу; -w — Режим расширенного отчета. Результат такой же, как и при использовании опции -r, но длинные имена хостов обрезаться не будут; -s <количество-байт> — Установить размер пакетов для отправки; -n — Не использовать DNS для разрешения имен хостов и отображать вместо них IP-адреса; -o «список-полей» — Отображать только указанные поля и в таком порядке, в котором они были указаны; -p — Выводить информацию построчно, без перерисовки экрана, с разделением полей пробелом. Этот формат удобен, если вы используете какую-то дополнительную программу-парсер или скрипт для анализа, которому передаются данные. -a <IP-адрес> — Указать адрес интерфейса, с которого будут отправляться пакеты; -i <число-секунд> — Интервал между отправляемыми запросами; -u Использовать протокол UDP для отправки пакетов; -4 Использовать только IPv4; -6 Использовать только IPv6.

Где взять?

Скачать Nmap можно с официального сайта , там доступна самая последняя версия с подробнейшим описанием установки для самых распространенных систем. Либо можно установить из репозиториев (совсем не свежую версию):

sudo apt install nmap Nmap запускается на всех популярных операционных системах, а официальные исполнимые пакеты доступны для Linux, Windows и Mac OS X. В дополнение к классической версии Nmap командной строки, набор Nmap включает продвинутый графический интерфейс и просмотрщик результатов (Zenmap), гибкий инструмент передачи, перенаправления и отладки данных (Ncat), утилиту для сравнения результатов сканирования (Ndiff) и инструмент генерации пакетов и анализа ответов (Nping).

Используя команду lsof

Последний инструмент, который мы рассмотрим в этой статье, это команда lsof, которая используется для вывода списка открытых файлов в Linux. Поскольку в Unix/Linux всё является файлом, открытый файл может быть потоком или сетевым файлом.

Для вывода списка всех Интернет и сетевых файлов, используйте опцию -i. Помните, что эта команда показывает смесь имён служб и цифровых портов.

sudo lsof -i

Чтобы найти, какое приложение прослушивает определённый порт, запустите lsof в следующей форме:

Используя команду lsof

sudo lsof -i :80

Вот и всё! В этой статье мы узнали четыре способа проверить открытые порты в Linux. Мы также показали, как проверить, какой процесс привязан к определённому порту.

О том, как правильно понимать вывод этих команд, смотрите статью «Что означают 0.0.0.0, :*, [::], 127.0.0.1. Как понять вывод NETSTAT».

Связанные статьи:

  • Нерекомендуемые сетевые команды Linux и их замена (79.4%)
  • 14 примеров команды ss для мониторинга сетевых подключений (70.6%)
  • Как исправить «No route to host» SSH в Linux (РЕШЕНО) (58.8%)
  • Какие есть полезные инструменты с интерфейсом командной строки для системных администраторов Linux (50%)
  • Решение проблемы «bash: ifconfig: команда не найдена» (50%)
  • Как отобразить данные POST с cURL (РЕШЕНО) (RANDOM — 50%)

Управление NFS

    • showmount host — отобразить список хостов, которым разрешено монтировать эксп ортированные файловые системы на хосте host (без указания параметра host будет выведена информация с локальной системы);
      • -a — вывести полную информацию об экспортированных иерархиях (хост/strong– вывести первые 10 строк fileempstree n — поиск файла по размеру (n может быть как n, как +n (более n), как -n (менее n), а так же для указания единицы измерения: nc — для байт, nk — для килобайт, nb — блоков) — каталог)
      • exportfs – управление экспортированными каталогами
        • -a — экспорт всех иерархий из /etc/exports, но не разэкспортирует удаленные элементы.
        • -i — игнорирует файл /etc/exports и использует только параметры из командной строки.
        • -o — задает опции экспорта (обычно используют с -i), например exportfs -i -o ro hostname:/folder/subfolder # экспортирует файловую систему
          12 exportfs i o ro hostname:/folder/subfolder# экспортирует файловую систему

          /folder/subfolder из локальной системы в систему

          1 из локальной системы в систему

          hostname только для чтения (

          1 только для чтения (

          ro )

          1 )
        • -r — реэкспортирует элементы файла /etc/exports и удаляет неверные записи из /var/lib/nfs/xtab
        • -u — разэкспортирует иерархию
        • -v — «говорительный» режим )