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

50+ лучших команд Linux, которые вы ДОЛЖНЫ знать


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

50 лучших команд Linux, которые вы должны знать как обычный пользователь

ls — наиболее часто используемая команда в Linux для просмотра каталогов.

pwd — команда печати рабочего каталога в Linux

cd — команда Linux для навигации по каталогам

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

mv - Переместить или переименовать файлы в Linux

cp — аналогично использованию mv, но для копирования файлов в Linux.

rm - Удалить файлы или каталоги

touch - Создать пустые/пустые файлы

ln - Создавать символические ссылки (ярлыки) на другие файлы

cat - Показать содержимое файла на терминале

clear - Очистить дисплей терминала

echo - Печатает любой текст, следующий за командой

less — команда Linux для отображения постраничных выходных данных в терминале

man - Доступ к справочным страницам для всех команд Linux

uname — команда Linux для получения основной информации об ОС

whoami - Получить активное имя пользователя

tar — команда для извлечения и сжатия файлов в Linux.

grep - Поиск строки в выводе

head - Возвращает указанное количество строк сверху

tail - Возвращает указанное количество строк снизу

diff - Найти разницу между двумя файлами

cmp — позволяет проверить, идентичны ли два файла

comm — объединяет функциональность diff и cmp

sort — команда Linux для сортировки содержимого файла при выводе

export - Экспорт переменных окружения в Linux

zip - Архивировать файлы в Linux

unzip - Распаковать файлы в Linux

ssh — команда Secure Shell в Linux

service — команда Linux для запуска и остановки служб

ps - Показать активные процессы

kill и killall - убить активные процессы по идентификатору или имени процесса

df - Показать информацию о файловой системе диска

mount — монтировать файловые системы в Linux

chmod - команда для изменения прав доступа к файлам

chown — команда для предоставления права собственности на файлы или папки

ifconfig - Показать сетевые интерфейсы и IP-адреса

traceroute — отследить все сетевые переходы для достижения пункта назначения

wget - Прямая загрузка файлов из интернета

ufw - команда брандмауэра

iptables — базовый брандмауэр, с которым взаимодействуют все другие утилиты брандмауэра.

apt, pacman, yum, rpm — менеджеры пакетов в зависимости от дистрибутива

sudo — команда для повышения привилегий в Linux

cal — просмотр календаря командной строки

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

dd — в основном используется для создания загрузочных USB-накопителей.

whereis — найти двоичные, исходные и справочные страницы для команды

whatis — найти, для чего используется команда

top - просмотр активных процессов в реальном времени с их использованием системы

useradd и usermod - добавить нового пользователя или изменить данные существующих пользователей

passwd - Создать или обновить пароли для существующих пользователей

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

Команда ls в Linux

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

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

Узнайте больше о команде ls (ссылка на полную статью)

Команда pwd в Linux

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

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

Команда cd в Linux

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

root@ubuntu:~# cd <directory path>

Как вы можете видеть в приведенной выше команде, я просто набрал cd /etc/, чтобы попасть в каталог /etc. Мы использовали команду pwd для печати текущего рабочего каталога.

Команда mkdir в Linux

Команда mkdir позволяет создавать каталоги из терминала. Синтаксис по умолчанию: mkdir, за которым следует имя каталога.

root@ubuntu:~# mkdir <folder name>

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

Узнайте больше о команде mkdir (ссылка на статью)

Команды cp и mv

Команды cp и mv эквивалентны командам «копировать-вставить» и «вырезать-вставить» в Windows. Но поскольку в Linux нет команды для переименования файлов, мы также используем команду mv для переименования файлов и папок.

root@ubuntu:~# cp <source> <destination>

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

root@ubuntu:~# mv <source> <destination

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

Узнайте больше о команде mv (ссылка на статью).

Команда rm в Linux

В предыдущем разделе мы удалили файл Sample-Copy. Команда rm используется для удаления файлов и папок и является одной из важных команд Linux, которые вы должны знать.

root@ubuntu:~# rm <file name>
root@ubuntu:~# rm -r <folder/directory name>

Чтобы удалить каталог, вы должны добавить к нему аргумент -r. Без аргумента -r команда rm не удалит каталоги.

Команда touch в Linux

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

root@ubuntu:~# touch <file name>

Команда ln в Linux

Чтобы создать ссылку на другой файл, мы используем команду ln. Это одна из важных команд Linux, которую вам следует знать, если вы планируете работать администратором Linux.

root@ubuntu:~# ln -s <source path> <link name>

Базовый синтаксис включает использование параметра -s, поэтому мы можем создать символическую ссылку или программную ссылку.

Кот, эхо и меньше команд

Когда вы хотите вывести содержимое файла или вывести что-либо на вывод терминала, мы используем команды cat или echo. Давайте посмотрим на их основное использование. Я добавил некоторый текст в наш новый файл, который мы создали ранее.

root@ubuntu:~# cat <file name>
root@ubuntu:~# echo <Text to print on terminal>

Как вы можете видеть в приведенном выше примере, команда cat при использовании в нашем \New-File печатает содержимое файла. В то же время, когда мы используем команду echo, она просто печатает все, что следует после команды.

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

Самый простой способ сделать это — использовать оператор конвейера (|).

root@ubuntu:~# cat /boot/grub/grub.cfg  | less

Узнайте больше о команде cat (ссылка на статью).

Команда man в Linux

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

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

root@ubuntu:~# man <command>

Команды uname и whoami

Команды uname и whoami позволяют вам узнать некоторую базовую информацию, которая очень пригодится, когда вы работаете с несколькими системами. В общем, если вы работаете с одним компьютером, он вам понадобится не так часто, как кому-то, кто является сетевым администратором.

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

root@ubuntu:~# uname -a

Параметр -a, который я указал для uname, означает «все». Это выводит полную информацию. Если параметр не добавлен, все, что вы получите в качестве вывода, это «Linux».

Команды tar, zip и unzip

Команда tar в Linux используется для создания и извлечения архивных файлов в Linux. Мы можем извлечь несколько разных архивных файлов с помощью команды tar.

Для создания архива мы используем параметр -c, а для извлечения архива — параметр -x. Посмотрим, как это работает.

#Compress
root@ubuntu:~# tar -cvf <archive name> <files seperated by space>
#Extract
root@ubuntu:~# tar -xvf <archive name>

В первой строке мы создали архив с именем Compress.tar с New-File и New-File-Link. В следующей команде мы извлекли эти файлы из архива.

Теперь перейдем к командам zip и unzip. Обе эти команды очень прямолинейны. Вы можете использовать их без каких-либо параметров, и они будут работать по назначению. Давайте посмотрим на пример ниже.

root@ubuntu:~# zip <archive name> <file names separated by space>
root@ubuntu:~# unzip <archive name>

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

Узнайте больше о командах zip и unzip (ссылка на статью)

Команда grep в Linux

Если вы хотите найти определенную строку в выводе, на помощь приходит команда grep. Мы можем передать (|) вывод команде grep и извлечь нужную строку.

root@ubuntu:~# <Any command with output> | grep "<string to find>"

Это была простая демонстрация команды. Узнайте больше о команде grep (ссылка на статью)

Команды головы и хвоста

При выводе больших файлов удобно использовать команды head и tail. Я создал файл с именем \Words с множеством слов, расположенных в нем в алфавитном порядке. Команда head выведет первые 10 строк из файла, а команда tail выведет последние 10. Это также включает все пустые строки. а не только строки с текстом.

root@ubuntu:~# head <file name>
root@ubuntu:~# tail <file name>

Как видите, команда head показала 10 строк с начала файла.

Команда tail выводит нижние 10 строк из файла.

Узнайте больше о команде tail (ссылка на статью)

Команды diff, comm и cmp

Linux предлагает несколько команд для сравнения файлов. Команды diff, comm и cmp сравнивают различия и являются одними из самых полезных команд Linux, которые вы должны знать. Давайте посмотрим на выходные данные по умолчанию для всех трех команд.

root@ubuntu:~# diff <file 1> <file 2>

Как вы можете видеть выше, я добавил небольшой фрагмент текста, говорящий «Эта строка отредактирована» в файл New-File-Edited.

root@ubuntu:~# cmp <file 1> <file 2>

Команда cmp сообщает только об использовании другого номера строки. Не настоящий текст. Давайте посмотрим, что делает команда comm.

root@ubuntu:~# comm <file 1> <file2>

Текст, выровненный по левому краю, присутствует только в файле 1. Текст с выравниванием по центру присутствует только в файле 2. А текст с выравниванием по правому краю присутствует в обоих файлах.

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

Команда сортировки в Linux

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

Основной синтаксис команды сортировки:

root@ubuntu:~# sort <filename>

Команда экспорта в Linux

Команда экспорта специально используется при экспорте переменных среды во время выполнения. Например, если я хочу обновить приглашение bash, я обновлю переменную среды PS1. Приглашение bash будет обновлено с немедленным вступлением в силу.

root@ubuntu:~# export <variable name>=<value>

Если по какой-то причине ваше приглашение bash не обновляется, просто введите bash, и вы должны увидеть обновленное приглашение терминала.

Подробнее о команде экспорта (ссылка на статью)

Команда ssh в Linux

Команда ssh позволяет нам подключиться к внешней машине в сети с использованием протокола ssh. Основной синтаксис команды ssh:

root@ubuntu:~ -->> ssh username@hostname

Узнайте больше о команде ssh (ссылка на статью)

Сервисная команда в Linux

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

root@ubuntu:~ -->> service ssh status
root@ubuntu:~ -->> service ssh stop
root@ubuntu:~ -->> service ssh start 

Как вы можете видеть на изображении, в нашей системе работает сервер ssh.

Команды ps, kill и killall

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

root@ubuntu:~ -->> ps 
root@ubuntu:~ -->> kill <process ID>
root@ubuntu:~ -->> killall <process name>

В демонстрационных целях я создаю сценарий оболочки с бесконечным циклом и запускаю его в фоновом режиме.

С помощью символа & я могу перевести процесс в фоновый режим. Как видите, создается новый процесс bash с PID 14490.

Теперь, чтобы убить процесс с помощью команды kill, вы можете ввести kill, а затем указать PID процесса.

Но если вы не знаете идентификатор процесса и просто хотите убить процесс с именем, вы можете использовать команду killall.

Вы заметите, что PID 14490 остался активным. Это потому, что оба раза я убивал процесс сна.

Узнайте больше о команде ps (ссылка на статью).

Команды df и mount

При работе с Linux команды df и mount являются очень эффективными утилитами для монтирования файловых систем и получения сведений о файловой системе.

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

root@ubuntu:~ -->> mount /dev/cdrom /mnt
root@ubuntu:~ -->> df -h

В приведенном выше случае /dev/cdrom — это устройство, которое необходимо смонтировать. Обычно монтируемое устройство находится внутри папки /dev. /mnt — папка назначения для подключения устройства. Вы можете изменить его на любую папку, которую хотите, но я использовал /mnt, так как это в значительной степени системная папка по умолчанию для монтирования устройств.

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

Узнайте больше о команде df (ссылка на статью)

Команды chmod и chown

Команды chmod и chown дают нам функциональные возможности для изменения прав доступа к файлам и владельцев файлов — это самые важные команды Linux, которые вам следует знать.

Основное различие между функциями двух команд заключается в том, что команда chmod позволяет изменять права доступа к файлам, а команда chown позволяет нам изменять владельцев файлов.

Синтаксис по умолчанию для обеих команд: chmod имя файла и chown user:group имя файла.

root@ubuntu:~ -->> chmod +x loop.sh
root@ubuntu:~ -->> chmod root:root loop.sh

В приведенном выше примере мы добавляем исполняемые разрешения в файл loop.sh с помощью команды chmod. Кроме того, с помощью команды chown мы сделали ее доступной только для пользователя root и пользователей в группе root.

Как вы заметили, корневая часть теперь изменена на www-data, которая является новым пользователем, имеющим полное право собственности на файл.

Узнайте больше о команде chown (ссылка на статью)

Команды ifconfig и traceroute

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

Команда ifconfig предоставит вам список всех сетевых интерфейсов вместе с IP-адресами, MAC-адресами и другой информацией об интерфейсе.

root@ubuntu:~ -->> ifconfig

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

При работе с traceroute можно просто указать IP-адрес, имя хоста или доменное имя конечной точки.

root@ubuntu:~ -->> traceroute <destination address>

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

Узнайте больше о команде ifconfig(ссылка на статью)

Команда wget в Linux

Если вы хотите загрузить файл из терминала, команда wget — одна из самых удобных доступных утилит командной строки. Это будет одна из важных команд Linux, которые вы должны знать при работе с исходными файлами.

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

Давайте попробуем пример. Основной синтаксис команды wget:

root@ubuntu:~ -->> wget <link to file>
OR
root@ubuntu:~ -->> wget -c <link to file>

Аргумент -c позволяет нам возобновить прерванную загрузку.

Команды ufw и iptables

UFW и IPTables — это интерфейсы брандмауэра для брандмауэра netfilter ядра Linux. IPTables напрямую передает правила брандмауэра в netfilter, в то время как UFW настраивает правила в IPTables, который затем отправляет эти правила в netfilter.

Зачем нам UFW, когда у нас есть IPTables? Потому что IPTables довольно сложен для новичка. UFW делает вещи чрезвычайно простыми. См. пример ниже, где мы пытаемся разрешить порт 80 для нашего веб-сервера.

root@ubuntu:~# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
root@ubuntu:~# ufw allow 80

Уверен, теперь вы знаете, зачем был создан UFW! Посмотрите, насколько простым становится синтаксис. Оба эти брандмауэра очень универсальны и могут позволить вам создать любую конфигурацию, необходимую для вашей сети. Изучите хотя бы основы брандмауэра UFW или IPTables, так как это команды Linux, которые вы должны знать.

Узнайте больше об открытии портов в Linux (ссылка на статью)

Менеджеры пакетов в Linux

В разных дистрибутивах Linux используются разные менеджеры пакетов. Поскольку мы работаем на сервере Ubuntu, у нас есть менеджер пакетов apt. Но для тех, кто работает на Fedora, Red Hat, Arch или Centos, менеджер пакетов будет другим.

  • Debian и дистрибутивы на основе Debian — apt install
  • Arch и дистрибутивы на основе Arch — pacman -S <имя пакета>
  • Red Hat и дистрибутивы на основе Red Hat — yum install <имя пакета>
  • Fedora и CentOS — yum install

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

Команда sudo в Linux

\С большой силой приходит большая ответственность

Это цитата, которая отображается, когда пользователь с поддержкой sudo (sudoer) впервые использует команду sudo для повышения привилегий. Эта команда эквивалентна входу в систему как root (в зависимости от того, какие разрешения у вас есть как у sudoer).

non-root-user@ubuntu:~# sudo <command you want to run>
Password: 

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

Узнайте больше о команде sudo (ссылка на статью)

Команда cal в Linux

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

Команда cal отображает хорошо представленный календарь на терминале. Просто введите слово cal в строке терминала.

root@ubuntu:~# cal
root@ubuntu:~# cal May 2019

Хотя мне это не нужно, это действительно классное дополнение! Я уверен, что есть люди, которые являются фанатами терминала, и для них это действительно потрясающий вариант.

Команда псевдонима

Есть ли у вас какие-то команды, которые вы очень часто запускаете при использовании терминала? Это может быть rm -r или ls -l, или что-то более длинное, например tar -xvzf. Это одна из команд Linux, повышающих производительность, которую вы должны знать.

Если вы знаете команду, которую запускаете очень часто, самое время создать псевдоним. Что такое псевдоним? Проще говоря, это другое имя для команды, которую вы определили.

root@ubuntu:~# alias lsl="ls -l"
OR
root@ubuntu:~# alias rmd="rm -r"

Теперь каждый раз, когда вы вводите lsl или rmd в терминал, вы будете получать вывод, который вы получили бы, если бы использовали полные команды.

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

Узнайте больше о команде alias (ССЫЛКА на статью)

Команда дд в Linux

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

Например, если я хочу создать резервную копию всего жесткого диска как есть на другом диске, я воспользуюсь командой dd.

root@ubuntu:~# dd if = /dev/sdb of = /dev/sda

Аргументы if и of обозначают входной файл и выходной файл.

Команды whereis и whatis

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

Команда whereis выводит точное местоположение любой команды, которую вы вводите после команды whereis.

root@ubuntu:~# whereis sudo
sudo: /usr/bin/sudo /usr/lib/sudo /usr/share/man/man8/sudo.8.gz

Команда whatis дает нам объяснение того, что такое команда на самом деле. Как и в случае с командой whereis, вы получите информацию для любой команды, которую вы вводите после команды whatis.

root@ubuntu:~# whatis sudo
sudo (8) - execute a command as another user

Верхняя команда в Linux

Несколькими разделами ранее мы говорили о команде ps. Вы заметили, что команда ps выведет активные процессы и завершит свою работу.

Команда top похожа на CLI-версию диспетчера задач в Windows. Вы получаете представление о процессах в режиме реального времени и всю информацию, сопровождающую эти процессы, такую как использование памяти, использование ЦП и т. д.

Чтобы получить команду top, все, что вам нужно сделать, это ввести слово top в терминале.

Команды useradd и usermod

Команды useradd или adduser — это те же самые команды, где adduser — это просто символическая ссылка на команду useradd. Эта команда позволяет нам создать нового пользователя в Linux.

root@ubuntu:~# useradd JournalDev -d /home/JD

Приведенная выше команда создаст нового пользователя с именем JournalDev с домашним каталогом /home/JD.

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

Например, если вы хотите добавить больше групп для пользователя, вы можете ввести:

root@ubuntu:~# usermod JournalDev -a -G sudo, audio, mysql

Узнайте больше о том, как создавать пользователей и управлять ими в Linux (ссылка на статью)

Команда passwd в Linux

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

Использование команды довольно просто:

root@ubuntu:~# passwd
New password: 

Если вы добавите имя пользователя после пароля, вы сможете установить пароли для других пользователей. Введите новый пароль дважды, и все готово. Вот и все! У вас будет установлен новый пароль для пользователя!

Заключительное примечание

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

Мы надеемся, что эта статья была вам полезна. Если у вас есть какие-либо вопросы, не стесняйтесь комментировать ниже.