Поиск по сайту:

Наиболее часто используемые команды Linux, которые вы должны знать


Linux — очень популярная операционная система (ОС) среди программистов и обычных пользователей. Одной из основных причин его популярности является исключительная поддержка командной строки. Мы можем управлять всей операционной системой Linux только через интерфейс командной строки (CLI). Это позволяет нам выполнять сложные задачи с помощью всего лишь нескольких команд.

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

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

Команды файловой системы Linux

В этом разделе мы обсудим некоторые полезные команды, связанные с файлами и каталогами в Linux.

1. команда кошки

Команда cat в основном используется для отображения содержимого файла. Он считывает содержимое файла и отображает его на стандартном выводе (stdout).

Общий синтаксис команды cat:

cat [OPTIONS] [FILE1] [FILE2] ...

Давайте отобразим содержимое файла /etc/os-release с помощью команды cat:

cat /etc/os-release

Кроме того, мы также можем использовать опцию -n команды для отображения содержимого с номером строки:

cat -n /etc/os-release

2. Команда cp

Команда cp полезна для копирования файлов, групп файлов и каталогов.

Общий синтаксис команды cp:

cp [OPTIONS]  

Здесь квадратные скобки ([]) представляют необязательные аргументы, тогда как угловые скобки (<>) представляют собой существенные аргументы.

Давайте скопируем файл /etc/os-release в каталог /tmp:

cp /etc/os-release /tmp/new-file.txt

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

cat /tmp/new-file.txt

Аналогичным образом мы можем скопировать каталог с помощью команды cp. Давайте скопируем каталог /etc/cron.d в каталог /tmp:

cp -r /etc/cron.d /tmp

Мы использовали опцию -r с командой cp, которая представляет рекурсивную операцию. Он рекурсивно копирует каталог, включая его файлы и подкаталоги.

В следующем примере мы увидим, как проверить успешность копирования каталога.

ls /tmp/cron.d
ls -l /tmp/cron.d

3. Команда ls

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

Общий синтаксис команды ls:

ls [OPTIONS] [FILE1] [FILE2] ...

Если мы не предоставим команде ls никаких аргументов, она выведет содержимое текущего каталога.

ls

В предыдущем примере мы скопировали каталог /etc/cron.d в каталог /tmp. Проверим, что там присутствует и содержит нужные файлы:

ls /tmp/cron.d

Мы можем использовать опцию -l с командой ls для отображения более подробной информации, такой как права доступа к файлу, владелец, метка времени, размер и т. д.

Давайте узнаем подробнее о файлах, находящихся в каталоге /tmp/cron.d:

ls -l /tmp/cron.d

4. Команда mkdir

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

Общий синтаксис команды mkdir:

mkdir [OPTIONS] <DIRECTORY1> <DIRECTORY2> ...

Давайте создадим каталог с именем dir-1 в каталоге /tmp:

mkdir /tmp/dir-1

Теперь проверим, что каталог создан:

ls /tmp/dir-1

Здесь мы видим, что команда ls не сообщает об ошибках, что означает, что каталог присутствует там.

Иногда нам необходимо создать вложенную структуру каталогов для лучшей организации данных. В таких случаях мы можем использовать опцию -p команды, чтобы создать несколько вложенных каталогов в каталоге /tmp/dir-1:

mkdir -p /tmp/dir-1/dir-2/dir-3/dir-4/dir-5

В приведенном выше примере мы создали 4 уровня вложенных каталогов. Подтвердим это с помощью команды ls:

ls -R /tmp/dir-1

Здесь мы использовали опцию -R с командой для рекурсивного отображения содержимого каталога.

5. Команда истории

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

history

Чтобы просмотреть историю команд с отметкой времени, вам необходимо установить отметку времени в истории bash, запустив:

HISTTIMEFORMAT="%d/%m/%y %T "             #Temporarily set the history timestamp
export HISTTIMEFORMAT="%d/%m/%y %T "      #Permanently set the history timestamp
history

6. Командование

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

du -hsx * | sort -rh | head -10

Объяснение приведенных выше опций и переключателей команды du.

  • du – оценить использование файлового пространства.
  • -hsx(-h) Формат, читаемый человеком, (-s) Вывод сводных данных, (-x) Один формат файла, пропускайте каталоги для файлов других форматов.
  • sort – сортировка строк текстового файла.
  • -rh(-r) Обратный результат сравнения, (-h) для сравнения в удобочитаемом формате.
  • head – вывести первые n строк файла.

7. Команда статистики

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

stat anaconda-ks.cfg

Сетевые команды Linux

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

8. Команда ping

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

Общий синтаксис команды ping:

ping [OPTIONS] <destination>

Здесь местом назначения может быть IP-адрес или полное доменное имя (FQDN), например google.com. Давайте проверим, что текущая система может взаимодействовать с Google:

ping -c 4 google.com

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

Давайте посмотрим на пример, когда связь между двумя хостами нарушена.

Чтобы смоделировать этот сценарий, мы попытаемся достичь недостижимого IP-адреса. В данном случае это 192.168.10.100:

ping -c 4 192.168.10.100

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

9. Команда хоста

Иногда нам нужно найти IP-адрес определенного домена. Для этого мы можем использовать команду host, которая выполняет поиск DNS и преобразует полное доменное имя в IP-адрес и наоборот.

Общий синтаксис команды host:

host [OPTIONS] <destination>

Здесь местом назначения может быть IP-адрес или полное доменное имя.

Давайте узнаем IP-адрес google.com с помощью команды host:

host google.com

10. команда whois

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

Общий синтаксис команды whois:

whois [OPTIONS] <FQDN>

Давайте узнаем подробности о google.com:

whois google.com

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

Важно отметить, что команда whois доступна по умолчанию не во всех системах. Однако мы можем установить его с помощью менеджера пакетов. Например, в дистрибутивах на базе Debian мы можем установить его с помощью менеджера пакетов apt:

sudo apt install whois

В дистрибутивах на основе RHEL и других дистрибутивах его можно установить, как показано.

sudo yum install whois         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a net-misc/whois  [On Gentoo Linux]
sudo apk add whois             [On Alpine Linux]
sudo pacman -S whois           [On Arch Linux]
sudo zypper install whois      [On OpenSUSE]    

Команды информации о системе Linux

В этом разделе мы обсудим некоторые команды, которые могут предоставить подробную информацию о текущей системе.

11. Команда времени безотказной работы

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

Давайте выясним время безотказной работы текущей системы:

uptime -p

12:10:57 up  2:00,  1 user,  load average: 0.48, 0.60, 0.45

В этом примере мы использовали опцию -p, чтобы отобразить вывод в красивой форме.

12. свободная команда

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

free -m

Здесь мы использовали опцию -m с командой, которая показывает выходные данные в мебибайтах.

Аналогичным образом мы можем использовать параметры -g, -t и -p, чтобы отображать выходные данные в гибибайтах, тебибайтах и пебибайты соответственно.

13. Команда lsblk

Компьютерные системы хранят данные на блочных устройствах. Примерами блочных устройств являются жесткие диски (HDD), твердотельные накопители (SSD) и т. д. Мы можем использовать команду lsblk для отображения подробной информации о блочных устройствах:

lsblk

В этом примере мы видим, что существует только одно блочное устройство и его имя — /dev/sda. На этом блочном устройстве создано три раздела.

В этой статье мы обсудили некоторые команды, которые будут полезны новичкам в Linux. Сначала мы обсудили команды файловой системы. Затем мы обсудили сетевые команды. Наконец, мы обсудили некоторые команды, предоставляющие подробную информацию о текущей системе.