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