Набор основных команд Linux команд — часть 3

Привет всем! Сегодня мы закончим разбираться со списком наиболее востребованных в Linux команд. Для тех, кто пропустил начало — напоминаю ссылки на первую и вторую части, посвященные командам для работы с файлами.

Команды для работы с текстом
more | less
Как часто бывает при чтении огромного текста: есть простыня с оным, на экране не помещающаяся… Команда more — уже считается устаревшей, а команда less более новая, и поддерживает больше опций, потому… решать вам 🙂

head | tail
Head — выводит некоторое заданное количество начальных строк из файла, а tail — соответственно конец. Несмотря на то, что команды выводят по 10 строк, меняя параметр -n можно корректировать это число. Еще одной интересной особенностью файла является параметр -f — благодаря которому можно отслеживать изменения в файле и выводить их на экран. Чаще всего это нужно использовать для работы с логами — отслеживать нужно, причем в режиме он-лайн: tail -nf

grep
Grep — команда, работающая только для одной операции — поиск текста по шаблону. Шаблон может быть либо строкой, либо регулярным выражением.

sort
Команда сортирует строки текста по самым разным критериям. В числе основных опций можно указать:
-n (Numeric) — сортировка по числовому значению
-r (Reverse) — сортировка для переворачивания вывода.

wc
Команда, которая вам пригодится для подсчёта количества слов, строк, байт и символов.

diff
Нужно обнаружить различия между двумя файлами в построчном виде? Используйте эту команду! Важно — выводятся только строки, в которых обнаружены отличия. Измененные строки отмечаются символом «с», удаленные — «d», а новые — «а».

clear — команда очистки окна терминала (тут все просто):
clear

Команды для управления процессами
kill | xkill | pkill | killall
Команды служат для завершения (убийства) процессов. Но — они принимают различные параметры для идентификации процессов. Kill нужен PID процесса, xkill — достаточно кликнуть по окну, чтобы закрыть его, killall и pkill принимают имя процесса. Вообщем, используем тот варианта, который наиболее подходящий в данной ситуации 🙂

ps | pgrep
Выше я писал про команду kill. Т.е. что бы убить процесс — нужен его идентификатор. Один из способов получить его — использование команды ps, которая и выведет всю информацию о работающих процессах. Так как вывод иногда бывает очень длинным — используем опцию -e, — это позволит увидеть информацию только о нужном процессе. Не забываем, что вывод информации на экран — это слепок состояния на момент запуска команды, и информация эта не обновляется. Потому — нужно использовать команду ps с ключом aux выводит полную информацию о процессах. Pgrep работает так: вы задаете имя процесса, а утилита показывает его идентификатор.

top | htop
Команды в целом похожи, но htop — улучшенная версия top. Можно не только просматривать, но и контролировать процессы через его интерактивный интерфейс:
htop

time
Команда, которая покажет время работы нужного процесса — эдакий секундомер для программы. Команда пригодится в случае, если возникает вопрос — сколько уже работает та или иная команда. Важно: команда не скажет, который час :):
time

Команды окружения
su | sudo
Su и sudo — это два способа выполнить одну и ту же задачу: запустить программу от имени другого пользователя. В зависимости от вашего дистрибутива вы, наверное, используете одну или другую. Но работают обе. Разница в том, что su переключает вас на другого пользователя, а sudo только выполняет команду от его имени. Поэтому использование sudo будет наиболее безопасным вариантом работы.

date
В отличие от time, делает именно то, чего вы от неё и ожидаете: выводит дату и время в стандартный вывод. Его можно форматировать в зависимости от ваших потребностей: вывести год, месяц, день, установить 12-ти или 24-ти часовой формат, получить наносекунды или номер недели. Например, date +»%j %V», выведет день в году и номер недели в формате ISO.

alias
Команда создаёт синонимы для других команд Linux. То есть вы можете делать новые команды или группы команд, а также переименовывать существующие. Это очень удобно для сокращения длинных команд, которые вы часто используете, или создания более понятных имен для команд, которые вы используете нечасто и не можете запомнить.

uname
Выводит некую основную информацию о системе. Без параметров она не покажет ничего полезного, кроме строчки Linux, но, если задать параметр -a (All), можно получить информацию о ядре, имени хоста и узнать архитектуру процессора.

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

sleep
Вам, наверное, интересно как же её можно использовать. Даже не учитывая Bash-скриптинг, у неё есть свои преимущества. Например, если вы хотите выключить компьютер через определенный промежуток времени или использовать в качестве импровизированной тревоги.

Команды для управления пользователями
useradd | userdel | usermod
Эти команды консоли Linux позволяют вам добавлять, удалять и изменять учетные записи пользователей. Скорее всего, вы не будете использовать их очень часто. Особенно если это домашний компьютер, и вы являетесь единственным пользователем. Управлять пользователями можно и с помощью графического интерфейса, но лучше знать об этих командах на всякий случай.

passwd
Эта команда позволяет изменить пароль учетной записи пользователя. Как суперпользователь вы можете сбросить пароли всех пользователей, даже несмотря на то, что не можете их увидеть. Хорошая практика безопасности — менять пароль почаще.

Команды для просмотра документации
man | whatis
Команда man открывает руководство по определённой команде. Для всех основных команд Linux есть man страницы. Whatis показывает, какие разделы руководств есть для данной команды.

whereis
Показывает полный путь к исполняемому файлу программы. Также может показать путь к исходникам, если они есть в системе.

Команды для управления сетью
ip
Если список команд Linux для управления сетью вам кажется слишком коротким, скорее всего вы не знакомы с утилитой ip. В пакете net-tools содержится множество других утилит: ipconfig, netstat и прочие устаревшие, вроде iproute2. Всё это заменяет одна утилита — ip. Вы можете рассматривать её как швейцарский армейский нож для работы с сетью или как непонятную массу, но в любом случае за ней будущее. Просто смиритесь с этим.

ping
Ping — это ICMP ECHO_REQUEST дейтаграммы, но на самом деле это неважно. Важно то, что утилита ping может быть очень полезным диагностическим инструментом. Она поможет быстро проверить, подключены ли вы к маршрутизатору или к интернету, и дает кое-какое представление о качестве этой связи.

nethogs
Если у вас медленный интернет, то вам, наверное, было бы интересно знать, сколько трафика использует какая-либо программа в Linux или какая программа потребляет всю скорость. Теперь это можно сделать с помощью утилиты nethogs. Для того чтобы задать сетевой интерфейс используйте опцию -i.

traceroute
Это усовершенствованная версия ping. Мы можем увидеть не только полный маршрут сетевых пакетов, но и доступность узла, а также время доставки этих пакетов на каждый из узлов.