50 основных команд Linux для новичков

Обсудить
Команды Linux

Терминал и текстовые команды — главный способ управления операционной системой Linux. Особенно, если речь идет о сервере – на него редко ставят графический интерфейс, и вся работа выполняется исключительно через командную строку. Поэтому любому администратору важно знать хотя бы с десяток ключевых команд для терминала Линукс, нужных для навигации в системе и базового управления файлами. В этом материале мы их как раз разберем.

Базовые команды для работы с терминалом

То, что поможет при работе с консолью в целом.

  • clear — очищает всю выведенную в консоль информацию. Пригодится на тот случай, если терминал будет забит выводом других команд или содержимом ранее открытых документов. Помогает «начать с чистого листа».
  • history — отображает ранее введенные команды. По умолчанию показывает 10 последних, но при желании это значение можно изменить, добавив в качестве параметра любое число. Например, history 17, чтобы показать 17 последних выполненных операций.
  • whatis — вкратце описывает любую установленную программу. Вводим whatis и скармливаем ей в качестве аргумента название интересующей утилиты. Чтобы узнать, что такое wget, напишем whatis wget и получим краткую справку одной строкой.
  • man — демонстрирует подробное руководство по выбранной программе или команде. Чтобы выяснить, как работает wget и какие опции для него доступны, введем man wget. Получим массивное полотно со всей документацией для выбранной утилиты. P.S. Выйти из нее можно нажав на клавишу Q.

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

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

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

  • sudo — выдает права суперпользователя. Используется перед любой другой командой в терминале, если нужно выполнить ее от имени администратора. Многие программы и операции запускаются исключительно при наличии этих прав, так что sudo используется часто. Например, чтобы обновить список пакетов в Ubuntu, введем: sudo apt-get update. При этом система запросит пароль администратора.
  • sudo su — переводит терминал в режим суперпользователя. В нем каждая введенная команда будет восприниматься системой так, будто перед ней ввели sudo. Помогает запускать несколько скриптов и утилит, требующих права администратора, без необходимости постоянно корректировать их или вводить пароль от учетной записи.
  • sudo gksudo — используется для запуска графических утилит от имени администратора. В Windows для этого есть специальная кнопка в контекстном меню, а в Linux — префикс. Синтаксис такой:
​sudo gksudo название приложения, нуждающееся в запуске от имени администратора
  • sudo !! — запускает предыдущую команду от имени администратора. Используется, если до этого была неудачная попытка запустить программу. Помогает не тратить время на повторный ввод большого количества символов.
  • chmod — корректирует права доступа к выбранному файлу. Применяется исключительно с набором аргументов, обозначающих список прав. Допустим, я хочу выдать права на чтение и запись файла Timeweb.html на рабочем столе. Для этого введу в терминал: chmod 777 ~/Desktop/timeweb.html. Теперь его можно открывать и редактировать. Аналогичным образом пользователи поступают с системными файлами, когда приходит время что-то в них менять. По умолчанию большая их часть защищена от записи.
  • chown — назначает владельца для выбранной директории, документа, картинки или любого другого элемента в файловой системе. Синтаксис следующий:
chown имя учетной записи, которому надо передать права путь до файла, права на который нужно передать

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

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

  • useradd — создает новую учетную запись. Например, мы хотим добавить пользователя с именем Timeweb. Для этого вводим: useradd Timeweb. Но свежесозданному аккаунту нужен не только логин, но и пароль. С помощью опций можно задать дополнительные характеристики новому пользователю.
  • passwd — задает пароль для учетной записи, работает вкупе с предыдущей командой. То есть сразу после создания аккаунта, пишем: passwd Timeweb (в вашем случае может быть любой другой пользователь). После этого система попросит придумать и указать пароль для новой учетной записи. По ходу набора пароля в терминале не будут отображаться даже звездочки, но он все равно учитывает каждую нажатую клавишу. Продолжайте набирать пароль вслепую.
  • userdel — удаляет выбранную учетную запись. Синтаксис простейший:
userdel имя учетной записи, которую нужно стереть

Установка, удаление и обновление пакетов

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

Debian/Ubuntu

  • sudo apt-get install название пакета — устанавливает программу на выбор. Главное знать, как она называется.
  • sudo apt remove название пакета — стирает с жесткого диска имеющийся в системе пакет.
  • sudo apt-get update — обновляет информацию о пакетах, имеющихся в системе, и тех, что хранятся в подключенных репозиториях.
  • sudo apt-upgrade — обновляет установленные пакеты до самых свежих версий, доступных в подключенных репозиториях.

Red Hat Linux/CentOS

  • sudo dnf install название пакета — устанавливает программу на выбор.
  • sudo dnf upgrade — обновляет установленные пакеты до самых свежих версий.
  • sudo dnf remove название пакета — стирает с жесткого диска имеющийся в системе пакет.

Команды для навигации и базовой работы с файлами

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

  • ls — покажет содержимое директории, в которой вы находитесь. Если после команды ввести адрес конкретной папки, то она покажет то, что хранится в ней. При добавлении аргумента -R в выводе команды появятся файлы из поддиректорий.
  • cd — change directory, что в переводе означает «сменить директорию». Из названия понятно, что с помощью этой команды можно перемещаться между папками. Вписываем ее, а потом адрес: cd /user/test/dir/111. Есть сокращенные варианты: cd- для перемещения в предыдущую директорию или cd (без аргументов) для прыжка в домашнюю папку.
  • pwd — укажет полный путь до директории, в которой вы находитесь. Если вы перепрыгнули на рабочий стол с помощью cd, то pwd покажет что-то в духе /home/Polzovatel/Desktop.
  • file — расскажет, что перед вами изображение, директория или текстовый документ, а также предоставит информацию о них (для изображений, например, это данные EXIF).Запрос данных о файле
  • mv — mv применяется для перемещения файлов из одной папки в другую. Перенесем файл timeweb.txt из домашней директории на рабочий стол: mv timeweb.txt /home/имя учетной записи/Desktop. Эту же команду используют, чтобы поменять имя файла. Для этого надо не указывать папку для перемещения, а просто ввести новое название для документа:
mv timeweb.txt timeweb-2.txt
  • cp — используем, если нужно не переместить файл, а создать его копию в другой директории. Работает так же, как и mv. Указываем путь до файла, который нужно скопировать, и путь до директории, куда копируем:
cp timeweb-file.txt /home/Webmaster/Desktop
  • dd — мощная утилита для взаимодействия с разделами. С ее помощью можно делать копии разделов, перемещать их, удалять без возможности восстановления. 
  • rm — опасная команда для удаления директорий и их содержимого. Затирает все данные, которые обнаружит в указанной папке. То есть все субдиректории и файлы будут уничтожены. И восстановить их не получится. Про корзину этой команде ничего неизвестно. Синтаксис такой rm путь до директории, которую нужно стереть с компьютера. Чтобы удалить каталог Timeweb и все его содержимое из домашней папки пользователя, введем: rm ~/Timeweb.
  • mkdir — создает новую директорию. Допустим, мы хотим создать папку под новый проект на рабочем столе. Для этого введем команду: mkdir ~/Desktop/Timeweb. При желании можно разместить новую папку в промежутке между двумя уже существующими. К примеру: mkdir -p /home/New_Project/Newest_Project создаст папку New_Project в домашней директории и станет родителям для существующей папки Newest_Project.
  • rmdir — удаляет пустую папку. Акцентируем внимание на слове «пустую». В отличие от rm, rmdir не трогает другие файлы и субдиректории.
  • cat — показывает содержимое документов. Можно скормить этой утилите любой текстовый файл, и она прямо в терминале отобразит все, что в нем записано. Пишем: cat путь до файла, содержимое которого надо осмотреть.Результат работы команды cat в консоли Linux
  • head — «голова», как и cat, показывает содержимое документов, но не всё, а только первые 10 строк. При желании количество строк можно увеличить или сократить, добавив параметр -n. Команда: head -n 2 ~/Desktop/timeweb.txt покажет только первые две строчки документа timeweb.Команда Linux head
  • touch — эта команда создавалась для изменения времени последнего открытия файла или директории, но используют ее, в основном, для создания новых файлов. Например, для создания HTML-документа в домашней директории пользователя надо ввести в терминал: touch /home/имя учетной записи/test-site.html.
  • nano — запускает программу для редактирования текста nano. Используя дополнительные аргументы, можно создавать новые текстовые файлы. Например nano /путь до директории, где нужно создать новый текстовый файл/название документа. Или же редактировать уже существующие. Альтернативой nano может служить vi. Продвинутый редактор 1976 года выпуска с бесконечными возможностями расширения, но с крайне специфичным управлением.
  • wc — считает количество строк, слов, знаков и байтов. В терминале надо ввести: wc ~/Desktop/timeweb.txt и все.
  • wget — загружает из интернета документы, картинки, целые страницы и прочий контент. Допустим, нам надо скачать скриншот панели управления Timeweb с официального сайта. Для этого воспользуемся командой 
wget https://timeweb.com/upload/resize_cache/iblock/2ae/400_400_2/xscreen_2.jpg.pagespeed.ic.L3c0Gicmgq.jpg

Команда Linux для загрузки файлов

Процесс работы команды Linux для загрузки файлов

  • zip — упаковывает файлы в архив в формате .zip. Синтаксис для создания zip-архива такой: zip название архива.zip путь до файла, который надо упаковать. К примеру:
zip new-archive.zip /home/me/file-for-archive.txt
  • unzip — напрямую связан с zip, но выполняет противоположную функцию. Извлекает файлы из архива. Работает по тому же принципу – вводим команду, а потом путь до архива, который надо распаковать.
  • find — продвинутая команда по поиску объектов в файловой системе Linux. Можно искать элементы как по названию, так и по иным характеристикам. Например, указать тип файла: find -type d -name Timeweb. Такая команда покажет все директории с именем Timeweb.
  • grep — find ищет файлы и директории, а grep ищет текст в их содержимом. Как вариант, можно отыскать слово «тест» в документе «test.txt». Для этого введем следующую команду: cat test.txt | grep тест. cat перед grep необходим, чтобы вывести найденную информацию в консоль. В противном случае grep найдет искомый контент, но не покажет его.

Содержимое текстового файла

Вот, что написано в тестовом документе

Команда Linux для вывода текста в консоль

Что в терминал выводит cat

Команда Linux для фильтрации текста

И что выводит grep

  • diff — сокращение от слово difference. Показывает разницу между двумя текстовыми файлами. Для сравнения используется такой синтаксис: diff название первого файла название второго файла. К примеру, diff text-1.txt text-2.txt
  • mount — монтирует образ или раздел диска. Для использования нужно лишь указать путь к разделу или образу, который нужно смонтировать.
  • unmount — выполняет противоположную задачу.

Команды для отображения базовой информации и управления системой

Утилиты, делящиеся разного рода справочной информацией с администратором компьютера.

  • df — показывает, сколько пространства занято на подключенных дисках и разделах. По умолчанию отображает данные в килобайтах. Можно переключиться на мегабайт, добавив параметр -m. Это выглядит так: df -m.Команда Linux для отображения состояния ЖД
  • du — расскажет, сколько места занимает конкретный файл или папка. Чтобы узнать, насколько тяжелая директория Desktop, введем: du ~/Desktop. du отображает информацию в блоках. Но это неудобно, поэтому обычно к ней добавляют опцию -h, чтобы появились привычные мегабайты, килобайты и байты.
  • free — тоже связана с памятью, только с оперативной. Показывает, сколько занято, а сколько свободно. Чтобы включить отображение в мегабайтах, надо так же добавить аргумент -h.
  • uname — вывод информации о системе и сервере. Аргумент -a показывает имя компьютера, версию ядра, текущую дату и время, разрядность системы и ее тип. Можно запрашивать отдельные фрагменты данных через дополнительные опции: -s — только имя ядра; -n — имя компьютера (ноды) в сети; -o — название операционной системы; -p — тип процессора; -s — версия ядра.
  • whoami — покажет, кто вы есть. Имя учетной записи, через которую вы зашли в систему или подключились к серверу.
  • date — из названия ясно, что команда отображает текущее время и дату. Команда Linux для отображения даты
  • sleep — задерживает запуск скриптов на выбранный период времени. Единица времени указывается через опции: -s — секунды; -m — минуты; -h — часы; d — дни.

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

Комментарии