10 малоизвестных команд Linux

В этой статье мы рассмотрим еще 10 практичных команд Linux, которые не всегда оказываются в центре внимания, но могут быстро вывести ваши навыки работы с терминалом на новый уровень.
1. lsb_release – Проверьте информацию о вашем дистрибутиве
Команда lsb_release
отображает информацию, специфичную для дистрибутива Linux, такую как версия, идентификатор, выпуск и кодовое имя.
lsb_release -a
Если lsb_release
не установлен, вы можете использовать apt для установки lsb-core в Debian или yum для установки redhat-lsb в Red Hat.
sudo apt install lsb-core # Debian/Ubuntu sudo yum install redhat-lsb # RHEL/CentOS
Примечание: опция -a
отображает всю доступную информацию о дистрибуции, включая версию, идентификатор, описание, выпуск и кодовое имя.
2. nc -zv localhost 80 – Проверка открытия порта
Команда nc
(сокращение от netcat), которая используется для проверки того, открыт ли определенный порт на вашем компьютере и принимает ли он соединения. Это очень удобный инструмент для устранения неполадок в работе сети или сервера.
Проверка порта 80
(используется веб-серверами):
nc -zv localhost 80
Если порт 80
открыт и служба запущена (например, Apache или Nginx), вы увидите что-то вроде:
Connection to localhost 80 port [tcp/http] succeeded!
Проверка порта 8080
(еще один распространенный веб-порт):
nc -zv localhost 8080
Если на этом порту не запущена ни одна служба, вы увидите:
nc: connect to localhost port 8080 (tcp) failed: Connection refused
3. curl ipinfo.io – Найдите свой публичный IP-адрес и информацию о местоположении
Эта команда — быстрый и простой способ проверить публичный IP-адрес вашей системы и некоторую базовую информацию о местоположении на основе этого IP-адреса.
curl ipinfo.io
При запуске он отправляет запрос на веб-сайт ipinfo.io
, который отвечает кучей полезной информации о вашем соединении, например:
- Ваш публичный IP-адрес
- Имя хоста (если доступно)
- Страна, регион, а иногда и город
- Геолокация (широта и долгота)
- Интернет-провайдер или организация, к которой вы подключены
Пример вывода :
{ "ip": "123.45.67.89", "hostname": "your-host.example.com", "city": "Mumbai", "region": "Maharashtra", "country": "IN", "loc": "19.0760,72.8777", "org": "AS12345 Your Internet Provider" }
Это действительно полезно, если вы устраняете неполадки в сети, настраиваете удаленный сервер или просто хотите узнать свой IP-адрес и местоположение.
4. Найти файлы, принадлежащие определенному пользователю в каталоге
Команда find помогает найти все файлы в текущем каталоге (и его подкаталогах), которые принадлежат определенному пользователю — в данном случае пользователю root
.
find. -user root
Это выведет список всех файлов в текущей папке и ниже, принадлежащих пользователю.root
./.recently-used.xbel ./.mysql_history ./.aptitude/ ./.aptitude/config ./.aptitude/cache ./.bluefish/ ./.bluefish/session-2.0 ./.bluefish/autosave ./.bash_history
Если вы хотите найти все файлы, принадлежащие другому пользователю, просто замените root
на нужное имя пользователя. Например, файлы, принадлежащие пользователю ravi
:
find. -user ravi
Пример вывода :
./.cache/chromium/Cache/f_002b66 ./.cache/chromium/Cache/f_001719 ./.cache/chromium/Cache/f_001262 ./.cache/chromium/Cache/f_000544 ...
5. sudo apt build-dep – Автоматическая установка зависимостей сборки
Команда sudo apt build-dep
автоматически устанавливает все требуемые пакеты разработки (называемые зависимостями), которые требуются для компиляции определенного программного обеспечения из исходного кода.
Давайте рассмотрим пример ниже:
sudo apt build-dep ffmpeg
Эта команда посмотрит, что нужно для сборки пакета ffmpeg
из исходников, а затем загрузит и установит все эти библиотеки и инструменты для вас. Это избавит вас от необходимости вручную разбираться и устанавливать каждый требуемый пакет, что может быть запутанным и отнимать много времени.
Таким образом, вместо того, чтобы застрять с сообщениями об ошибках типа «отсутствует зависимость» во время компиляции, эта команда заранее все настроит за вас.
6. lsof -iTCP:80 -sTCP:LISTEN – Проверка того, что запущено на порту
Эта команда поможет вам узнать, какой процесс или служба использует определенный TCP-порт, например порт 80 (используется веб-серверами).
lsof -iTCP:80 -sTCP:LISTEN
Давайте разберем объяснение команды:
lsof
= « Список открытых файлов » (в Linux все рассматривается как файл , даже сетевые подключения).-iTCP:80
= Фильтрует вывод, отображая только TCP-соединения на порту 80.-sTCP:LISTEN
= Показывает только службы, которые активно прослушивают соединения на этом порту.
Пример вывода :
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME apache2 1566 root 5u IPv6 5805 0t0 TCP *:www (LISTEN) apache2 1664 www-data 5u IPv6 5805 0t0 TCP *:www (LISTEN) ...
Это означает, что веб-сервер Apache2 запущен и прослушивает соединения на порту.80
7. find -size +100M – Легко находит большие файлы
Иногда ваш диск заполняется, и вы задаетесь вопросом, что же занимает все это пространство? Вот где команда find
становится очень удобной и помогает вам искать большие файлы (больше определенного размера), начиная с вашего текущего каталога и проверяя каждую папку внутри него — это то, что мы называем «рекурсивно».
find. -size +100M
Вот что он делает:
.
– означает начать поиск с текущего каталога.-size +100M
– означает поиск файлов размером более 100 мегабайт.
При желании можно найти файлы еще большего размера, например, 1000 МБ (это 1 ГБ):
find. -size +1000M
Это позволит найти только действительно большие файлы размером более 1 ГБ.
8. pdftk – Объединить несколько PDF-файлов в один
Команда pdftk ( PDF Toolkit ) — это удобный инструмент, позволяющий объединять несколько PDF — файлов в один файл, что очень полезно, когда у вас есть несколько документов, таких как отчеты, отсканированные страницы или электронные книги, и вы хотите сохранить их все в одном аккуратном файле.
Вам необходимо установить pdftk в вашей системе.
sudo apt install pdftk # Для Debian/Ubuntu sudo yum install pdftk # Для RHEL/CentOS
Чтобы объединить несколько файлов PDF (например 1.pdf
, 2.pdf
, , …, 10.pdf
) в один:
pdftk 1.pdf 2.pdf 3.pdf 4.pdf 5.pdf cat output merged.pdf
9. ps -LF -u – Проверка пользовательских процессов и потоков
Следующая команда отображает все запущенные процессы и потоки для определенного пользователя в подробном формате.
ps -LF -u ravi
Давайте разберемся:
- ps — стандартная команда для вывода списка запущенных процессов в вашей системе.
-L
показывает потоки (а не только процессы), что полезно, поскольку один процесс может иметь несколько потоков.-F
предоставляет вам полный формат списка, то есть вы увидите больше столбцов с подробной информацией.-u user_name
ограничивает результаты процессами, запущенными определенным пользователем (заменитеuser_name
фактическим именем пользователя).
Будут отображены все процессы и потоки, запущенные пользователем ravi
, включая идентификаторы процессов , идентификаторы потоков , загрузку ЦП , время запуска и фактическую запущенную команду или программу.
10. Startx — :1 — запуск нескольких графических сеансов
Вам когда-нибудь приходилось входить и выходить из графического рабочего стола только для того, чтобы сменить пользователя или запустить отдельный сеанс? Вот тут-то и startx
пригодится эта команда.
Команда startx -- :1
позволяет вам запустить совершенно новый сеанс X (отдельную графическую среду рабочего стола), не закрывая текущий сеанс. Это означает, что вы можете одновременно запускать несколько сеансов графического интерфейса — это полезно для тестирования, многозадачности или переключения между пользователями без выхода из системы.
После того, как вы запустили второй сеанс X, используя:
startx -- :1
Вы можете переключаться между сеансами с помощью сочетаний клавиш:
- Нажмите
Ctrl + Alt + F7
, чтобы вернуться к исходному сеансу X. - Нажмите
Ctrl + Alt + F8
, чтобы переключиться на новый сеанс, который вы только что начали.
Большинство систем Linux резервируют Ctrl + Alt + F1
для F6
неграфических консольных терминалов и F7
для F12
графических сеансов X. Так что технически вы можете запускать несколько сред GUI и переключаться между ними с помощью этих сочетаний клавиш.
Заключение
Вот и все.! Надеемся, вы узнали несколько интересных и полезных приемов, которые помогут вам улучшить работу с командной строкой.
Если мы упустили какие-то интересные моменты, не стесняйтесь поделиться ими с нами — ваши отзывы помогают нам расти и обслуживать клиентов лучше!
Редактор: AndreyEx