Как задаются и выполняются простые и сложные команды linux

Обновлено: 06.07.2024

Если вы новичок в Linux, тогда с большой вероятностью вы начали использовать командную строку. Если знать команды Linux, то с терминалом довольно легко работать. Именно поэтому большинство системных администраторов Linux предпочитают работу в терминале. Так как сделать что-то через терминал гораздо быстрее чем через GUI.

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

Системные команды Linux

Эти команды используются для просмотра информации и управления, связанной с системой Linux.

1. uname

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

Следующая команда uname с опцией a отображает всю информацию об операционной системе.

2. uptime

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

$ uptime
15:52:37 up 36 min, 1 user, load average: 0.03, 0.07, 0.04

Полное руководство команды Uptime

3. hostname

Вы можете отобразить имя хоста вашей машины, введя hostname в своем терминале. С помощью опции -i вы можете просмотреть ip-адрес компьютера. А с помощью параметра -d вы можете просмотреть доменное имя.

4. last

$ last
leni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53)
setiwik tty1 Mon Dec 2 09:31 still logged in
reboot system boot 2.6.32-358.23.2 Mon Dec 2 09:20 - 13:25 (04:05)

5. date

В Linux команда date используется для проверки текущей даты и времени системы. Эта команда позволяет задать пользовательские форматы для дат.

6. cal

По умолчанию команда cal отображает календарь текущего месяца. С помощью опции -y вы можете просмотреть календарь на весь год.

7. w

По умолчанию команда w отображает, кто в данный момент вошел в систему на вашем компьютере и что они делают.

$ w
01:36:19 up 2:08, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 39.177.9.194 23:29 3.00s 0.02s 0.00s w
setiwik pts/1 59.177.9.193 01:35 11.00s 0.00s 0.00s -bash

8. whoami

Команда Whoami выводит имя пользователя, вошедшего в систему в данный момент. Это похоже на команду id -un .

9. reboot

Команда reboot используется для перезагрузки системы Linux. Вы должны запустить эту команду из терминала с правами суперпользователя sudo.

10. shutdown

По умолчанию компьютер (сервер) выключится через 1 минуту. Вы можете отменить расписание, выполнив команду: shutdown -c

$sudo shutdown
Shutdown scheduled for Fri 2021-04-09 13:45:51 UTC, use 'shutdown -c' to cancel.
$

Команды Linux, взаимодействующие с оборудованием

Эти команды используются для просмотра аппаратных аспектов операционной системы Linux и управления ими.

11. dmesg

Команда Dmesg печатает свои данные, считывая кольцевой буфер ядра. Данные могут представлять собой информацию о процессоре, жестком диске, принтере, клавиатуре, памяти и драйверах.

Ответ в терминале :

12. lshw

Отображает информацию о конфигурации оборудования системы. Команда Lshw должна выполняться от имени привилегированного пользователя root или sudo, в противном случае она будет сообщать только частичную информацию.

13. lsblk

Отображает информацию о блочном устройстве машины, связанную с устройством. Команда Lsblk с помощью опции -a вы можете просматривать все блочные устройства.

$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 28.5G 0 disk /
sdb 8:16 0 1024M 0 disk [SWAP]

14. free

Команда free используется в Linux для проверки объема свободной оперативной памяти в системе. Так же команда free показывает пространство подкачки, буферное и кэш-пространство.

$ free
total used free shared buff/cache available
Mem: 4022216 723872 1359820 157988 1938524 2661636
Swap: 524284 247820 276464

15. lspci

16. lsusb

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

17. dmidecode

Команда Dmidecode считывает системную таблицу DMI (Интерфейс управления рабочим столом). Используется для отображения информации об оборудовании и BIOS. Выходные данные dmidecode содержат несколько записей из таблицы DMI. Эта таблица содержит описание аппаратных компонентов систем, а также другую полезную информацию, такую как серийный номер, версия BIOS и т. д.

Для использования требуется привилегия root или sudo.

В следующем примере показаны сведения о bios.

18. hdparm

Следующая команда выполнит проверку скорости чтения на диске sda:

Команды Linux, связанные со статистикой

Этот набор команд используется для просмотра различных видов статистики системы Linux.

19. mpstat

Команда Mpstat используется для показа статистики процессора и помогает отслеживать загрузку процессора в вашей системе. Это будет более полезно, если ваша система имеет несколько процессоров.

$ mpstat -P 0
Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)
03:54:00 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:54:00 PM 0 3.82 0.01 1.16 3.88 0.00 0.06 0.00 0.00 91.06

20. vmstat

По умолчанию vmstat работает следующим образом:

Команда Linux vmstat

Команда Linux vmstat

21. iostat

22. tcpdump

Когда вы используете tcpdump без какой-либо опции, он будет анализировать трафик на всех интерфейсах.

23. lsof

Чтобы просмотреть список файлов открытых определенным пользователем, используйте опцию -u .

Команда Lsof в системе Linux

Команда Lsof в системе Linux

24. watch

Команда Linux watch может использоваться для регулярного повторения команды.

Команды Linux для работы с пользователями

Эти команды используются для управления пользователями Linux.

25. id

26. last

Команда last в Linux используется для проверки ранее вошедшего пользователя на вашем сервере. О ней мы писали выше.

27. who

28. groupadd

Команда Groupadd используется для создания группы в Linux.

29. useradd

30. userdel

31. usermod

Команда Linux usermod используется для изменения атрибутов существующего пользователя. Атрибутами пользователя являются домашний каталог, оболочка, дата истечения срока действия пароля, группы, UID и т.д.

32. passwd

Команды Linux, для работы с файлами

Эти команды используются для обработки файлов и каталогов.

33. ls

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

34. pwd

Пример ример ниже:

[setiwik@li53-41 fsfreeze-hook.d]$ pwd
/usr/share/qemu-kvm/qemu-ga/fsfreeze-hook.d

35. mkdir

В Linux мы можем использовать команду mkdir для создания каталога.

По умолчанию, запустив mkdir без какой-либо опции, он создаст каталог в текущем каталоге.

$ mkdir account
$ ls -l
total 4
drwxrwxr-x. 2 linoxide linoxide 4096 Feb 8 08:04 account
$

36. cat

В следующих примерах команды cat отобразится имя дистрибутива Linux и версия, которая в настоящее время установлена на сервере.

$sudo cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)

37. rm

Когда файл больше не нужен, мы можем удалить его, чтобы сэкономить место. В системе Linux мы можем использовать для этого команду rm.

38. cp

Команда Cp используется в Linux для создания копий файлов и каталогов.

39. mv

Когда вы хотите переместить файлы из одного места в другое и не хотите их дублировать, требуется использовать команду mv. Подробнее можно прочитать ЗДЕСЬ.

40.cd

Команда Cd используется для изменения текущего рабочего каталога пользователя в Linux и других Unix-подобных операционных системах.

41. Ln

Команда Ln использует следующий синтаксис:

ln -s [target directory or file] [symlink shortcut]

42. touch

Команда Touch используется в Linux для изменения времени доступа к файлам и их модификации. Мы можем использовать команду touch для создания пустого файла.

43. more

44. head

Команда head используется для печати первых нескольких строк текстового файла. По умолчанию команда head выводит первые 10 строк каждого файла.

45. tail

Как вы, возможно, знаете, команда cat используется для отображения всего содержимого файла с помощью стандартного ввода. Но в некоторых случаях нам приходится отображать часть файла. По умолчанию команда tail отображает последние десять строк.

46. gpg

47. cksum

Команда Cksum используется в Linux для показа контрольной суммы CRC и количества байтов, содержащихся в этом файле.

48. diff

Команда Diff используется для сравнения двух файлов строка за строкой в терминале.

49. sort

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

50. uniq

51. wc

Команда Linux wc подсчитывает количество байтов, символов, слов и строк в файле.

52. dir

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

53. tee

54. tr

Команда tr (translate) используется в Linux в основном для перевода и удаления символов. Его можно использовать для преобразования прописных букв в строчные, сжатия повторяющихся символов и удаления символов.

Команды Linux, связанные с процессом

Эти команды используются для обработки процессов Linux

55. ps

56. pmap

Команда pmap отображает карту использования памяти процесса или нескольких процессов. Pmap сообщает информацию об адресном пространстве или карте использования памяти процесса.

57. top

Команда top в Linux отображает запущенные процессы в системе. Эта команда широко используется для мониторинга нагрузки на сервер.

58. kill

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

59. killall

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

60. pkill

Аналогично команде killall, pkill посылает сигнал для завершения процесса с его именем. Начиная с Centos 7 рекомендуется использовать pkill.

61. fg и bg

Мы можем запускать задания в фоновом режиме без какого-либо вмешательства пользователя. Процессы, которые были остановлены каким-либо сигналом прерывания, могут быть продолжены в фоновом режиме с помощью команды bg. Команда fg похожа на команду bg, за исключением того, что вместо отправки команды в фоновом режиме она запускает их на переднем плане, занимает текущий терминал и ожидает завершения процесса.

Команды Linux, связанные с правами доступа к файлам

Эти команды используются для изменения разрешений файлов

62. chmod

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

63. chown

Команда chown в Linux используется для изменения владельца и группового владения файлами и каталогами.

64. chgrp

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

Команды Linux для работы с сетью

Эти команды используются для просмотра и редактирования сетевых конфигураций, связанных с аспектами системы

65. ifconfig

Команда ifconfig используется для отображения и установки IP-адреса для сетевых интерфейсов в Linux. На данный момент ifconfig устарел в пользу iproute2.

Шпаргалка и сравнение команды iproute2 ЗДЕСЬ.

66. ip

67. ethtool

Команда ethtool используется для отображения/изменения настроек адаптера Ethernet. Вы можете изменить скорость сетевой карты, автоматическое согласование, настройку пробуждения по локальной сети, дуплексный режим с помощью этого инструмента в Linux.

68. mii-tool

Команда mii-tool позволяет системным администраторам Linux изменять или проверять сетевую карту.

69. ping и ping6

Команды ping и ping6 используются для отправки эхо-запросов хосту и для проверки соединения ipv4 и ipv6.

70. whois

В Linux команда whois используется для получения информации о домене, такой как владелец домена, контактная информация владельца и серверы имен.

71. dig

Dig выполняет поиск DNS и отображает ответы, возвращенные с запрошенных серверов имен.

72. host

73. wget

74. netstat

75. nslookup

Команды связанные с сжатием и архивированием

Эти команды используются для сжатия и распаковки файлов.

76. tar

77. gzip

Команда Gzip сжимает файлы в один файл с расширением .gz.

Команды Linux связанные с установкой пакета

Эти команды используются для управления пакетами Linux.

78. rpm

79. make

Команда Make используется для создания исполняемых программ и библиотек из исходного кода.

80. yum

81. Apt

Поиск Связанных Команд Linux

Эти команды используются для поиска файлов и шаблонов

82. grep

Команда grep позволяет выполнять поиск текста или строки в файле или в консоли.

83. locate

84. find

85. ssh

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

86. telnet

Команды Linux, Связанные С Передачей Файлов

Эти команды используются для копирования файлов из одной системы в другую систему

87. scp

$ scp examples.txt user@192.168.1.10:/home/user/account

88. rsync

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

Команды Linux для работы с локальными дисками

Эти команды используются для просмотра статистики диска.

89. df

Команда df отображает использование дискового пространства для файловых систем Linux. Она так же отображает общий объем и свободное дисковое пространство, доступное в смонтированных файловых системах.

90. fdisk

Команда Fdisk используется в Linux для просмотра существующих разделов, создания нового раздела, удаления или изменения существующих разделов.

91. du

92. findmnt

Команда findmnt используется для перечисления смонтированных файловых систем в Linux. Эта команда будет искать конкретную файловую систему в /etc/fstab, /etc/mtab или /proc/self/mountinfo.

93. mount

Заключение

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

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

Я уже писал о командах терминала Linux, но тогда затронул лишь несколько самых интересных, самых полезных команд, рассчитывая на то, что пользователь уже достаточно знаком с возможностями терминала. Но нужно сделать ещё одну статью, рассчитанную на новичков, тех, кто только делает свои первые шаги в освоении Linux.

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

Это не значит, что я перечислю все команды, все перечислены тут - я постараюсь охватить всё самое полезное, то, что может пригодиться в повседневной жизни. Чтобы было удобнее читать, разделим этот список на категории команд по назначению. Большинство рассмотренных здесь утилит не требуют дополнительной установки, они будут предустановлены в любом дистрибутиве Linux, а если не будут, то их несложно найти в официальных репозиториях.

Команды Linux для управления файлами

Утилита для просмотра содержимого каталогов. По умолчанию показывает текущий каталог. Если в параметрах указать путь, то она перечислит содержимое конечного каталога. Полезные опции -l (List) и -a (All). Первая форматирует вывод в виде списка с более подробной информацией, а вторая включает показ скрытых файлов. Подробнее здесь.

2. cat

Позволяет перейти из текущего каталога в указанный. Если запустить без параметров - возвращает в домашний каталог. Вызов с двумя точками возвращает на уровень вверх относительно текущего каталога. Вызов с тире (cd -) возвращает к предыдущему каталогу. Более детально здесь.

4. pwd

Печатает на экран текущий каталог. Это может быть полезно, если ваша командная строка Linux не выводит такую информацию. Эта команда будет востребована в Bash программировании, где для получения ссылки на каталог выполняется скрипт. Более подробно в отдельной статье.

5. mkdir

Создание новых каталогов. Наиболее удобная опция -p (Parents), позволяет создать всю структуру подкаталогов одной командой, даже если они ещё не существуют. Подробнее о том как создать папку читайте в отдельной статье.

6. file

Команда file показывает тип файла. В Linux файлы не обязаны всегда иметь расширения для того, чтобы с ними работать. Поэтому пользователю иногда трудно определить, что за файл перед ним. Эта маленькая утилита решает проблему.

Копирование файлов и каталогов. Она не копирует каталоги по умолчанию рекурсивно (то есть все поддиректории и все файлы в поддиректориях), поэтому не забудьте добавить опцию -r (Recursive) или -a (Archive). Последняя включает режим сохранения атрибутов, владельца и временного штампа в дополнение к рекурсивному копированию.

Перемещение или переименование файлов и каталогов. Примечательно, что в Linux это одна и та же операция. Переименование - это перемещение файла в ту же папку с другим именем. Подробнее - здесь.

Удаляет файлы и папки. Очень полезная команда Linux: с её помощью вы можете убрать весь беспорядок. Если нужно рекурсивное удаление, используйте опцию -r. Однако будьте осторожны: конечно, для того чтобы повредить систему вам нужно будет серьёзно постараться, однако можно удалить собственные важные файлы. Rm удаляет файлы не в корзину, из которой потом всё можно будет восстановить, а полностью стирает. Действия оператора rm необратимы. Поверьте, ваши оправдания в духе "rm съела мою курсовую" никому не будут интересны. Подробнее в этой статье.

10. ln

Создает жёсткие или символические ссылки на файлы. Символические или программные ссылки - это что-то похожее на ярлыки в Windows. Они предоставляют удобный способ доступа к определённому файлу. Символические ссылки указывают на файл, но не имеют никаких метаданных. Жёсткие ссылки, в отличие от символических, указывают на физический адрес области диска, где хранятся данные файла.

11. chmod

Изменяет права доступа к файлу. Это чтение, запись и выполнение. Каждый пользователь может изменять права для своих файлов.

12. chown

Изменяет владельца файла. Только суперпользователь может изменять владельцев. Для рекурсивного изменения используйте опцию -R.

13. find

Поиск в файловой системе, файлах и папках. Это очень гибкая и мощная команда Linux не только из-за своих способностей ищейки, но и благодаря возможности выполнять произвольные команды для найденных файлов.

14. locate

В отличие от find, команда locate ведёт поиск в базе данных updatedb для шаблонов имён файлов. Эта база данных содержит снимок файловой системы, что позволяет искать очень быстро. Но этот поиск ненадёжен, потому что вы не можете быть уверены, что ничего не изменилось с момента последнего снимка. Подробнее - тут.

15. du

Показывает размер файла или каталога. Самые полезные опций: -h (Human), которая преобразует размеры файлов в легко читаемый формат, -s (Summarize), которая выводит минимум данных, и -d (Depth), устанавливающая глубину рекурсии по каталогам.

16. df

Анализатор дискового пространства. По умолчанию вывод достаточно подробный: перечислены все файловые системы, их размер, количество использованного и свободного пространства. Для удобства есть опция -h, делающая размеры легко читаемыми.

17. dd

Как сказано в официальном руководстве, это команда терминала для копирования и преобразования файлов. Не очень понятное описание, но это всё, что делает dd. Вы передаёте ей файл-источник, пункт назначения и пару дополнительных опций. Затем она делает копию одного файла в другой. Вы можете задать точный размер данных, которые нужно записать или скопировать. Работает утилита со всеми устройствами. Например, если вы хотите перезаписать жёсткий диск нулями из /dev/zero, можете сделать это. Также она часто используется для создания LiveUSB или гибридных ISO образов.

18 mount / umount

Это команды консоли Linux для подключения и отключения файловых систем Linux. Можно подключать всё: от USB накопителей, до ISO образов. И только у суперпользователя есть права для этого.

Linux команды консоли для работы с текстом

19. more / less

Это две простенькие команды терминала для просмотра длинных текстов, которые не вмещаются на одном экране. Представьте себе очень длинный вывод команды. Или вы вызвали cat для просмотра файла, и вашему эмулятору терминала потребовалось несколько секунд, чтобы прокрутить весь текст. Если ваш терминал не поддерживает прокрутки, вы можете сделать это с помощью less. Less новее, чем more и поддерживает больше опций, поэтому использовать more нет причин.

20. head / tail

Ещё одна пара, но здесь у каждой команды своя область применения. Утилита head выводит несколько первых строк из файла (голова), а tail выдает несколько последних строк (хвост). По умолчанию каждая утилита выводит десять строк. Но это можно изменить с помощью опции -n. Ещё один полезный параметр -f, это сокращение от follow (следовать). Утилита постоянно выводит изменения в файле на экран. Например, если вы хотите следить за лог файлом, вместо того, чтобы постоянно открывать и закрывать его, используйте команду tail -nf.

21. grep

Grep, как и другие инструменты Linux, делает одно действие, но делает его хорошо: она ищет текст по шаблону. По умолчанию она принимает стандартный ввод, но вы можете искать в файлах. Шаблон может быть строкой или регулярным выражением. Она может вывести как совпадающие, так и не совпадающие строки и их контекст. Каждый раз, когда вы выполняете команду, которая выдает очень много информации, не нужно анализировать всё вручную - пусть grep делает свою магию.

22. sort

Сортировка строк текста по различным критериям. Наиболее полезные опции: -n (Numeric), по числовому значению, и -r (Reverse), которая переворачивает вывод. Это может быть полезно для сортировки вывода du. Например, если хотите отсортировать файлы по размеру, просто соедините эти команды.

23. wc

Утилита командной строки Linux для подсчёта количества слов, строк, байт и символов. Подробнее тут.

24. diff

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

Кстати, я подготовил ещё одну подробную статью, в которой описан именно просмотр содержимого текстового файла в Linux c помощью терминала.

Команды Linux для управления процессами

25. kill / xkill / pkill / killall

Служат для завершения процессов. Но они принимают различные параметры для идентификации процессов. Kill нужен PID процесса, xkill - достаточно кликнуть по окну, чтобы закрыть его, killall и pkill принимают имя процесса. Используйте ту, которая удобна в определенной ситуации.

26. ps / pgrep

Как уже говорилось, чтобы уничтожить процесс, нужен его идентификатор. Один из способов получить его, это утилита ps, которая печатает информацию о запущенных процессах. По умолчанию вывод очень длинный, поэтому используйте опцию -e, чтобы увидеть информацию об определённом процессе. Это только снимок состояния на момент вызова, и информация не будет обновляться. Команда ps с ключом aux выводит полную информацию о процессах. Pgrep работает следующим образом: вы задаете имя процесса, а утилита показывает его идентификатор. Подробнее о команде ps описано тут.

27. top / htop

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

28. time

Время выполнения процесса. Это секундомер для выполнения программы. Полезно, если вам интересно, насколько сильно ваша реализация алгоритма отстает от стандартной. Но, несмотря на такое название, она не сообщит вам текущее время, используйте для этого команду date.

Команды Linux окружения пользователя

29. su / sudo

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

30. date

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

31. alias

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

32. uname

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

33. uptime

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

34. sleep

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

Команды Linux для управления пользователями

35. useradd / userdel / usermod

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

36. passwd

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

Linux команды для просмотра документации

37. man / whatis

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

38. whereis

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

Команды Linux для управления сетью

39. ip

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

40. ping

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

41. nethogs

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

42. traceroute

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

Выводы

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

Команда Linux в общем случае представлена либо исполняемым файлом, либо встроенной функцией командной оболочки. Например, cd, ls, echo и firefox являются командами. Действия, выполняемые в результате исполнения большинства этих команд, полностью описываются в рамках командной строки за исключением последней команды firefox. Более сложные команды сразу же после запуска взаимодействуют с пользователем в интерактивном режиме и называются приложениями. Многие, но не все приложения осуществляют интерактивное взаимодействие с пользователем посредством графического интерфейса или GUI.

Общая информация о командах

Чаще всего при вызове команд будет использоваться сложный набор аргументов:

В данном случае «-l /bin» является парой аргументов (отделенных друг от друга, а также от самой команды с помощью символов пробелов), причем «-l» является аргументом, который изменяет поведение команды ls (данный аргумент позволяет команде выводить подробный листинг содержимого директории), а «/bin» - просто указывает директорию, с которой должна работать команда ls.

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

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

Еще один способ запуска последовательности команд заключается в использовании механизма условного запуска, активируемого в командной оболочке Bash с помощью последовательности символов «&&» и позволяющего исполнить вторую команду лишь в том случае, если первая команда вернет код завершения 0 (то есть, завершится успешно).

При использовании обычного разделителя команд («;») даже в случае некорректной смены текущей директории с помощью первой команды, вторая команда ls будет вызвана и просто выведет список файлов из текущей рабочей директории. Ну а при использовании оператора для условного запуска команд («&&») команда ls не будет вызываться в случае некорректного завершения работы команды cd.

По аналогии оператор «||» позволяет выполнить вторую команду только в том случае, если первая команда вернула ненулевой код завершения (то есть, завершилась некорректно).

Получение информации о командах из локальной документации

Система Linux должна содержать документацию в формате страниц руководства (man-страниц) и, возможно, информационных страниц (info-страниц). Если вы знаете имя команды, о которой необходимо получить информацию, команда

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

для поиска соответствующих команд.

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

позволит получить информацию об интересующей вас утилите.

К тому же, многие команды поддерживают такие аргументы, как «-h», «-H», «-help», «--help» или их комбинации. К сожалению, некоторые команды выполняют какие-либо действия вместо вывода справочной информации при использовании таких аргументов, как «-h» и «-H», поэтому вам следует быть готовым и к нестандартным ситуациям.

Также дополнительные файлы с документацией на английском языке могут располагаться в таких директориях, как «/usr/doc», «/usr/local/doc» и «/usr/src/linux/Documentation» (документация ядра Linux) и некоторых других.

Доступ к информации

Информационные страницы обычно разделены на небольшие разделы и содержат гиперссылки на другие страницы. При этом вам нужно знать хотя бы в минимальном объеме сочетания клавиш для навигации по ним. Эти сочетания клавиш аналогичны сочетаниям клавиш, используемым в текстовом редакторе Emacs. Кроме того, вы можете экспортировать все дерево информационных страниц в единый текстовый файл и просматривать его в рамках пейджера с помощью команды

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

34 Команды Linux, Которые Должен Знать Каждый Пользователь

Большинство людей думают, что Linux — это сложная операционная система, которая используется только программистами. Но на самом деле это не так. К тому же базовые команды Linux довольно понятны и просты.

Linux — это целое семейство операционных систем Unix с открытым исходным кодом, основанных на ядре Linux. Сюда входят все самые популярные системы на основе Linux, такие как Ubuntu, Fedora, Mint, Debian и другие. Если быть точным, их называют дистрибутивами.

С тех пор как Linux был впервые выпущен в 1991 году, он продолжал набирать популярность благодаря открытому исходному коду. Люди могут свободно модифицировать и распространять его под своим именем.

При работе с ОС Linux вам нужно использовать оболочку — интерфейс, который даёт вам доступ к службам операционной системы. В большинстве дистрибутивов Linux для удобства в качестве оболочки используется графический интерфейс пользователя (GUI).

При этом рекомендуется использовать интерфейс командной строки (CLI), так как он более мощный и эффективный. Задачи, для решения которых в графическом интерфейсе понадобиться много этапов, можно выполнить за считанные секунды, вводя команды в CLI.

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

Получите скидку до 77% на Linux VPS-хостинг.

Основные Команды Linux

Прежде чем перейти к списку команд, необходимо открыть командную строку. Если вы плохо ориентируетесь в интерфейсе командной строки, ознакомьтесь с этим руководством по CLI (англ).

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

Итак, 34 базовые команды Linux. Поехали!

1. Команда pwd

Используйте команду pwd , чтобы узнать путь к текущему рабочему каталогу (папке), в котором вы находитесь от корневого каталога. Команда вернёт абсолютный (полный) путь, который по сути является путём всех каталогов, начинающийся с косой черты (/) . Примером абсолютного пути является /home/username .

2. Команда cd

Для навигации по файлам и каталогам Linux используйте команду cd . Она требует либо полный путь, либо имя каталога, в зависимости от текущего рабочего каталога, в котором вы находитесь.

Допустим, вы находитесь в /home/username/Documents и хотите перейти в Photos , подкаталог Documents . Для этого просто введите следующую команду: cd Photos .

Другой сценарий, если вы хотите перейти в совершенно новый каталог, например, /home/username/Movies . В этом случае вам нужно ввести cd , а затем абсолютный путь к каталогу: cd/home/username/Movies .

Также есть несколько шорткодов для более быстрой навигации:

  • cd .. (с двумя точками), чтобы переместиться на один каталог вверх
  • cd, чтобы перейти прямо в домашнюю папку
  • cd- (с дефисом), чтобы перейти к предыдущему каталогу

Также стоит отметить, что оболочка Linux чувствительна к регистру. Важно точно вводить имена каталогов.

3. Команда ls

Команда ls используется для просмотра содержимого каталога. По умолчанию эта команда отобразит содержимое вашего текущего рабочего каталога.

Если вы хотите просмотреть содержимое других каталогов, введите ls , а затем путь к каталогу. Например, введите ls /home/username/Documents для просмотра содержимого в Documents .

Варианты использования команды Linux ls :

  • ls -R также выведет список всех файлов в подкаталогах
  • ls -a покажет скрытые файлы
  • ls -al выведет список файлов и каталогов с подробной информацией, такой как разрешения, размер, владелец и т. д.

4. Команда cat

cat (сокращение от concatenate) — одна из наиболее часто используемых команд в Linux. Используется для вывода содержимого файла в командной строке (sdout). Чтобы запустить эту команду, введите cat , а затем имя файла и его расширение. Например: cat file.txt .

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

  • cat> filename создаёт новый файл
  • cat filename1 filename2>filename3 объединяет два файла (1 и 2) и сохранит их содержимое в новом файле (3)
  • Чтобы преобразовать файл в верхний или нижний регистр, cat filename | tr a-z A-Z >output.txt

5. Команда cp

Используйте команду cp для копирования файлов из текущего каталога в другой каталог. Например, команда cp scenery.jpg/home/username/Pictures создаст копию scenery.jpg (из вашего текущего каталога) в каталог Pictures .

6. Команда mv

Основное предназначение команды mv — перемещение файлов, хотя её также можно использовать для их переименования.

Аргументы в mv похожи на аргументы команды cp. Вам нужно ввести mv , имя файла и каталог назначения. Например: mv file.txt/home/username/Documents .

Команда Linux для переименования файлов будет выглядеть так: mv starojeimia.ext novojeimia.ext .

7. Команда mkdir

Используйте команду mkdir , чтобы создать новый каталог. Если вы введёте mkdir Music , команда создаст каталог с именем Music .

Дополнительные команды mkdir :

  • Чтобы создать новый каталог внутри другого каталога, используйте эту базовую команду Linux mkdir Music/Newfile ;
  • Используйте опцию p (parents), чтобы создать каталог между двумя существующими каталогами. Например, mkdir -p Music/2020/Newfile создаст новый файл «2020».

8. Команда rmdir

Если вам нужно удалить каталог, используйте команду rmdir . Однако rmdir позволяет удалять только пустые директории.

9. Команда rm

Команда rm используется для удаления файлов. Если вы хотите удалить каталог со всем его содержимым, в качестве альтернативы rmdir используйте rm с опцией -r .

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

10. Команда touch

Команда touch позволяет создать новый пустой файл через командную строку Linux. В качестве примера введите touch /home/username/Documents/Web.html , чтобы создать файл HTML с названием Web в каталоге Documents .

11. Команда locate

Используйте эту команду, чтобы найти нужный вам файл. Она работает, как команда поиска в Windows. Более того, аргумента -i сделает команду нечувствительной к регистру, благодаря чему вы сможете искать файлы, даже если вы не помните их точные названия.

Чтобы найти файл, содержащий два или более слов, используйте звёздочку (*) . Например, команда locate -i school*note будет искать любой файл, содержащий слова «school» и «note», не зависимо от того написаны они с большой или маленькой буквы.

12. Команда find

Подобно команде locate , find также выполняет поиск файлов и каталогов. Разница в том, что команда find используется для поиска файлов в текущем каталоге.

Например, команда find/home/-name notes.txt будет искать файл с именем notes.txt в домашнем каталоге и его подкаталогах.

Другие варианты использования команды Linux find :

  • Для поиска файлов в текущем каталоге используйте find . -name notes.txt
  • Для поиска каталогов используйте / -type d -name notes. txt

13. Команда grep

Ещё одна базовая команда Linux, которая, несомненно, пригодится для повседневного использования — grep . С её помощью совершается поиск по всему тексту в текущем файле.

Например, grep ubuntu notepad.txt будет искать слово ubuntu в файле notepad. Строки, содержащие искомое слово, будут отображаться полностью.

14. Команда sudo

Сокращенно от « SuperUser Do », эта команда позволяет выполнять задачи, требующие прав администратора или root. Однако не рекомендуется использовать эту команду для повседневных задач, так как неправильное её использование может легко стать причиной появления ошибок.

15. Команда df

Используйте команду df , чтобы получить отчёт об использовании дискового пространства в системе в процентах и килобайтах. Если вы хотите просмотреть отчёт в мегабайтах, введите df -m .

16. Команда du

Если вы хотите проверить, сколько места занимает файл или каталог, воспользуйтесь командой du (Disk Usage). Однако вместо размера в обычном формате, в сводке вы увидите количество блоков диск. Если вы хотите посмотреть информацию в байтах, килобайтах и мегабайтах, добавьте аргумент -h в командную строку.

17. Команда head

Команда head используется для просмотра первых строк любого текстового файла. По умолчанию она покажет первые десять строк, но вы можете изменить это число. Например, если вы хотите показывать только первые пять строк, введите head -n 5 filename.ext .

18. Команда tail

Эта команда имеет функцию, аналогичную команде head, но вместо отображения первых строк tail выводит последние десять строк текстового файла. Например, tail -n filename.ext .

19. Команда diff

Являясь сокращением от английского слова difference (разница), команда diff сравнивает содержимое двух файлов построчно. После анализа файлов будут выведены строки, которые не совпадают. Программисты часто используют эту команду, когда им нужно внести изменения в программу, не переписывая весь исходный код.

Простейшая форма этой команды — diff file1.ext file2.ext .

20. Команда tar

Команда tar является наиболее часто используемой командой для архивирования нескольких файлов в tarball — общий формат файлов Linux, аналогичный формату zip, при этом сжатие является опциональным.

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

21. Команда chmod

chmod — ещё одна команда Linux, используемая для изменения разрешений на чтение, запись и выполнение файлов и каталогов. Поскольку это довольно сложная команда, рекомендуем прочитать полное руководство (англ) по её применению.

22. Команда chown

В Linux все файлы принадлежат конкретному пользователю. Команда chown позволяет изменить или перенести владельца файла на указанное имя пользователя. Например, chown linuxuser2 file.ext сделает linuxuser2 владельцем file.ext .

23. Команда jobs

Команда jobs отображает все текущие задачи вместе с их статусами. Задача — это процесс, запущенный в фоновом режиме.

24. Команда kill

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

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

  • SIGTERM (15) — просит программу прекратить работу и даёт ей некоторое время, чтобы сохранить весь прогресс. Если вы не указали сигнал при вводе команды kill, этот сигнал будет использоваться по умолчанию.
  • SIGKILL (9) — принудительно останавливает программы. Несохранённый прогресс будет потерян.

Помимо знания сигналов, вам также необходимо знать числовой идентификатор процесса (PID) программы, которую вы хотите уничтожить . Если вы не знаете PID, просто запустите команду ps ux .

Узнав, какой сигнал вы хотите использовать и PID программы, введите следующий синтаксис:

kill [опция сигнала] PID .

25. Команда ping

26. Команда wget

Командная строка Linux очень полезна — вы даже можете загружать файлы из интернета. Сделать это можно с помощью команды wget . Для этого просто введите wget и ссылку для скачивания.

27. Команда uname

Команда uname , сокращение от Unix Name, выведет подробную информацию о вашей системе Linux, такую как имя машины, операционная система, ядро и т. д.

28. Команда top

Являясь эквивалентом диспетчера задач в Windows, команда top выводит список запущенных процессов, а также информацию о том, сколько ЦП использует каждый процесс. Отслеживать использование системных ресурсов очень полезно. Таким образом, вы сможете определить какой процесс необходимо прекратить, поскольку он потребляет слишком много ресурсов.

29. Команда history

Регулярно пользуясь Linux, вы заметите, что запускаете сотни команд каждый день. Команда history позволяет просмотреть команды, которые вы вводили ранее.

30. Команда man

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

31. Команда echo

Эта команда выводит текст в stdout (стандартный вывод). Оператор >> дописывает stdout в файл. Также есть оператор >, который создаст файл, если он не существует и выведет туда текст или перезапишет существующий файл. Например, если вы хотите добавить текст «Здравствуйте, меня зовут Джон» в файл с именем name.txt, введите echo Здравствуйте, меня зовут Джон >> name.txt.

32. Команда zip, unzip

Используйте команду zip для сжатия ваших файлов в zip-архив, а команду unzip для извлечения zip-файлов из zip-архива.

33. Команда hostname

Если вы хотите узнать имя вашего хоста/сети, просто введите hostname . Добавление -I в конце выведет IP-адрес вашей сети.

34. Команда useradd, userdel

Поскольку Linux является многопользовательской системой, это означает, что более чем один человек может взаимодействовать с одной и той же системой одновременно. useradd используется для создания нового пользователя, в то время как passwd добавляет пароль к учётной записи этого пользователя. Чтобы добавить нового пользователя с именем Джон, введите useradd John . А затем, чтобы добавить пароль, напишите passwd 123456789 .

Процесс удаления пользователя напоминает его добавление. Чтобы удалить учётную запись, введите команду userdel ImiaPolzovatelia .

Бонусные Советы и Приёмы

Используйте команду clear для очистки терминала, если он перегружен предыдущими командами.

Попробуйте кнопку TAB для автозаполнения того, что вы печатаете. Например, если вам нужно набрать Documents, начните вводить команду (например, cd Docu , затем нажмите клавишу Tab), и терминал заполнит всё остальное, показывая вам полную фразу cd Documents .

Комбинации клавиш Ctrl+C и Ctrl+Z используются для остановки любой команды, которая работает в данный момент. Ctrl+C останавливает программу, а Ctrl+Z — ставит её на паузу .

Если вы случайно заморозили терминал, нажав Ctrl+S , просто отмените это с помощью комбинации Ctrl+Q .

Ctrl+A перемещает вас в начало строки, а Ctrl+E — в конец.

Вы можете запустить несколько команд в одной команде, используя « ; », чтобы отделить их. Например Command1; Command2; Command3 . Или && , если вы хотите, чтобы следующая команда запускалась только тогда, когда предыдущая будет успешной.

Подводим Итоги

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

В любом случае знание основных команд Linux, несомненно, принесёт вам пользу. Удачи!

Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.

Читайте также: