Баннер мобильный (3) Пройти тест

Основные Linux-команды для новичка

Бонус: список горячих клавиш для терминала

Подборка

8 августа 2024

Поделиться

Скопировано
Основные Linux-команды для новичка

Содержание

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

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

    Что такое терминал в Linux

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

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

    Компоненты Linux терминала
    Компоненты терминала в Linux. Источник

    Основные компоненты терминала в Linux:

    1. Оболочка (shell) — интерпретатор команд, который принимает вводимые пользователем команды и выполняет их. Оболочки различаются по своим возможностям и синтаксису, но все они позволяют пользователям взаимодействовать с системой через терминал.
    2. Эмулятор терминала — программа, предоставляющая интерфейс для взаимодействия с командной строкой. Эмуляторы терминала могут различаться по внешнему виду и функциональности, но все они выполняют одну и ту же основную задачу — обеспечивают доступ к командной строке.
    3. Подсказка — символ или текстовая строка, указывающая на готовность оболочки принять команду. Обычно она включает текущий рабочий каталог, имя пользователя и имя хоста.
    4. Командная строка — область, где пользователь может вводить команды для выполнения различных задач. Командная строка обычно представляет собой черно-белый текстовый интерфейс, который отображает текущий каталог, приглашение оболочки и ожидающую ввода команду.
    5. Стандартный ввод/вывод/ошибка — потоки, через которые оболочка взаимодействует с пользователем и системой. Стандартный ввод (stdin) принимает ввод от пользователя, стандартный вывод (stdout) отображает вывод для пользователя, а стандартный вывод ошибок (stderr) отображает сообщения об ошибках.
    6. История — функция, которая сохраняет историю всех команд, введенных пользователем в текущем сеансе терминала. История команд может быть полезна для повторного выполнения команд или поиска ранее использованных команд.
    7. Переменные среды — переменные, которые содержат информацию о системе и среде пользователя. Их можно использовать для настройки поведения оболочки и программ, которые в ней работают.
    8. Текстовый редактор — программа, позволяющая пользователю редактировать различные текстовые файлы. Его можно использовать для создания и изменения файлов конфигурации, скриптов и других текстовых документов.

    Почему важно знать команды Linux

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

    Знание команд Linux может быть полезным по нескольким причинам:

    1. Эффективность: некоторые задачи, особенно связанные с системным администрированием и настройкой, могут быть выполнены быстрее и эффективнее с использованием команд в терминале, чем через графический интерфейс.
    2. Автоматизация: команды Linux позволяют автоматизировать повторяющиеся задачи, что может значительно сэкономить время и усилия. Это особенно полезно для системных администраторов и разработчиков.
    3. Изучение основ: знание основных команд Linux помогает лучше понять, как работает система на более глубоком уровне. Это может быть полезно при решении сложных проблем или настройке специфических параметров.
    4. Работа с удаленными серверами: при работе с удаленными серверами, где графический интерфейс может быть недоступен или ограничен, знание команд становится необходимым.
    5. Обучение и развитие: изучение команд Linux расширяет кругозор и может способствовать развитию навыков системного администратора, разработчика или специалиста по безопасности.

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

    В Linux существует огромное количество команд, и их число постоянно растет — точное количество зависит от версии операционной системы и установленных пакетов.

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

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

    Работа с файлами и директориями

    Просмотр содержимого директории

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

    Синтаксис команды ls:

    • ls — вывести список файлов и каталогов в текущем рабочем каталоге;
    • ls [каталог] — вывести список файлов и каталогов указанного каталога.

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

    команда ls для просмотра содержимого
    Пример использования команды ls. Источник

    Навигация по файловой системе

    cd — команда для перемещения по файловой системе. Она используется для изменения текущего рабочего каталога на другой каталог или папку.

    Синтаксис команды cd:

    • cd [каталог] — перейти в указанный каталог;
    • cd .. — переместиться на один уровень вверх по иерархии каталогов;
    • cd ~ — вернуться в домашний каталог пользователя.
    команда cd, чтобы войти в папку
    Пример использования команды cd. Источник

    pwd (print working directory) выводит текущий рабочий каталог. Это полезно для определения того, где вы находитесь в файловой системе.

    команда pwd чтобы вывести текущий каталог
    Пример использования команды pwd. Источник

    Создание и удаление директорий

    Для создания новых каталогов (папок) используется команда mkdir. Это одна из самых простых и часто используемых команд в терминале.

    Синтаксис команды:

    • mkdir [имя_каталога] — создать новый каталог с указанным именем.

    Команда может принимать несколько аргументов, что позволяет создавать сразу несколько каталогов или многоуровневые структуры папок. Например, чтобы создать папки «Фото», «Видео» и «Музыка» внутри каталога «Личные файлы», можно использовать команду mkdir Личные\ файлы/Фото Личные\ файлы/Видео Личные\ файлы/Музыка.

    команда mkdir чтобы создать каталог
    Пример использования команды mkdir. Источник: автор статьи

    Для удаления пустых каталогов используется команда rmdir. Если пользователь попытается удалить с помощью этой команды непустой каталог или указать несуществующий каталог, то он получит сообщение об ошибке.

    Синтаксис команды:

    • rmdir [имя_каталога] — удалить указанный каталог, если он пустой.

    Работа с файлами

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

    Синтаксис команды:

    • touch [имя_файла] — создать новый файл с указанным именем.

    Команда может принимать несколько аргументов, что позволяет создавать сразу несколько файлов или изменять время модификации нескольких файлов одновременно. Например, чтобы создать файлы «file1.txt» и «file2.txt» и изменить время их модификации, можно использовать команду touch file1.txt file2.txt —date=»ДД-ММ-ГГГГ ЧЧ:ММ».

    создать новый файл, команда touch
    Пример использования команды touch. Источник: автор статьи

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

    Синтаксис команды:

    • rm [имя_файла] — удалить указанный файл;
    • rm -r [каталог] — рекурсивно удалить указанный каталог со всем его содержимым.

    Команда может принимать несколько аргументов, что позволяет удалять сразу несколько файлов или каталогов. Например, чтобы удалить файлы «file1.txt» и «file2.txt», можно использовать команду rm file1.txt file2.txt.

    команды rm чтобы удалить файл
    Пример использования команды rm. Источник: автор статьи

    Работа с текстовыми файлами

    Получение информации о системе

    uname — используется для вывода информации о системе. Она позволяет получить различные сведения о компьютере: имя хоста, версия ядра, архитектура процессора и другие.

    Синтаксис команды:

    • uname — вывести общую информацию о системе;
    • uname -a или uname —all — вывести полную информацию о системе, включая имя хоста, версию ядра, архитектуру процессора и т. д.

    Команда может принимать несколько параметров: параметр -s выводит только имя операционной системы, а параметр -n — имя хоста.

    Результата применения команды uname
    Пример результата применения команды uname. Источник

    df — отображение информации о свободном месте на дисках и разделах, а также общий объем каждого диска или раздела.

    Синтаксис команды:

    • df — вывести информацию о свободном пространстве на всех дисках и разделах;
    • df [диск_или_раздел] — вывести информацию только о конкретном диске или разделе.

    Команда может принимать несколько параметров: параметр -h выводит информацию в удобном для чтения формате (в гигабайтах или мегабайтах), а параметр -T добавляет информацию о типе файловой системы.

    df выводит информацию о свободном пространстве
    Пример использования команды df. Источник

    Управление процессами

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

    Синтаксис команды:

    • ps — вывести список всех процессов;
    • ps [параметры] — настроить вывод информации о процессах с помощью параметров.

    Команда может принимать множество параметров: параметр -f выводит полную информацию о процессах, включая их PID, PPID, UID, GID и другие атрибуты.

    Пример результата применения команды ps
    Пример результата применения команды ps. Источник

    top — используется для мониторинга системы в реальном времени. Она позволяет отслеживать использование ресурсов: процессор, память, диск и сеть, а также информацию о запущенных процессах.

    Кстати, команда top может быть также полезна для вывода load average — показателя средней загрузки системы за последние 1, 5 и 15 минут. Этот параметр часто спрашивают на собеседованиях, он используется при анализе производительности системы и планировании ресурсов.

    Никита Попов
    PHP/Golang Developer

    Синтаксис команды:

    • top — запустить утилиту top для мониторинга системы;
    • top [параметры] — настроить вывод информации с помощью параметров.

    Команда может принимать множество параметров: параметр -d устанавливает интервал обновления информации в секундах, а параметр -n ограничивает количество процессов, отображаемых на экране.

    команда top для запуска мониторинга системы
    Пример использования команды top. Источник

    Работа с сетью

    Проверка подключения

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

    Синтаксис команды:

    • ping [IP-адрес] — отправить пакеты данных на указанный IP-адрес;
    • ping -c [количество_пакетов] [IP-адрес] — отправить указанное количество пакетов данных на IP-адрес.

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

    команда ping в терминале Linux
    Пример использования команды ping. Источник

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

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

    Синтаксис команды:

    • ifconfig — вывести информацию обо всех сетевых интерфейсах;
    • ifconfig [интерфейс] — вывести информацию только об указанном сетевом интерфейсе.
    команда ifconfig для вывода информации о сетевых интерфейсах
    Пример использования команды ifconfig. Источник

    В современных версиях Linux команда ifconfig заменена на ip, которая предоставляет более широкий набор функций для управления сетевыми интерфейсами.

    Команда ip a является сокращенной формой команды ip address, которая выводит информацию о текущих IP-адресах всех интерфейсов.

    Синтаксис команды:

    • ip a — вывести список текущих IP-адресов всех интерфейсов;
    • ip a [параметры] — настроить вывод информации с помощью параметров.

    Команда может принимать множество параметров: параметр -o выводит информацию в удобном для чтения формате.

    вывод IP адресов с помощью команды ip a
    Пример использования команды ip a. Источник

    Удаленное подключение к серверу

    SSH (Secure Shell) — используется для безопасного подключения и управления  удаленным сервером или компьютером по протоколу SSH.

    Синтаксис команды:

    • ssh [опции] [пользователь@хост] — подключиться к удаленному хосту;
    • scp [опции] файл пользователь@хост:/путь/на/удаленном/хосте — скопировать файл на удаленный хост с помощью SSH.

    Команда может принимать множество параметров: параметр -p указывает порт SSH для подключения, а параметр -v выводит подробную информацию о процессе подключения.

    Пример использования команды SSH
    Пример использования команды SSH. Источник

    Копирование файлов по сети

    Для безопасного копирования файлов между компьютерами по протоколу SSH используется команда SCP (Secure Copy). Она позволяет копировать файлы и каталоги с одного сервера или компьютера на другой, обеспечивая при этом защиту данных и аутентификацию.

    Синтаксис команды:

    • scp [источник] [назначение] — скопировать файл или каталог из источника в назначение;
    • scp -r [каталог] [пользователь@хост:каталог] — рекурсивно скопировать каталог и все его содержимое на удаленный хост.
    копирование с помощью команды scp
    Пример использования команды scp. Источник

    Команда может принимать множество параметров: параметр -C сжимает данные перед передачей, а параметр -P указывает порт SSH для подключения.

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

    Синтаксис команды:

    • rsync [опции] источник [назначение] — скопировать файлы из источника в назначение;
    • rsync -avz source/ destination/ — рекурсивно скопировать все файлы и каталоги из source в destination, сохраняя права доступа, время модификации и символические ссылки.

    Команда может принимать множество параметров: параметр -z сжимает данные перед передачей, а параметр —delete удаляет файлы на целевом хосте, которые были удалены на исходном хосте.

    использования команды rsync для синхронизации файлов
    Пример использования команды rsync. Источник

    Использование того или иного набора команд в работе зависит от задач, с которыми сталкивается пользователь. Поэтому после освоения базовых команд следует переходить к изучению инструментов с более широким набором функционала. Например, я, кроме популярных команд таких, как cd, pwd, ls, использую часто grep для поиска в логах, файлах, просто в строках, без нее как без рук. Xargs — тоже активно используется, когда нужно пройтись по списку и выполнить команду для каждого элемента из списка. Очень часто нужно получить N последних строк из файла или просто отслеживать новые строки в файле, тогда я использую команду tail.

    Никита Попов
    PHP/Golang Developer

    Полезные горячие клавиши в терминале

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

    Некоторые из наиболее распространенных горячих клавиш в терминале Linux:

    • Ctrl + C — остановить текущую команду.
    • Up Arrow / Down Arrow — прокрутить историю команд вверх или вниз.
    • Page Up / Page Down — пролистать историю команд на страницу вверх или вниз.
    • Home / End — перейти к началу или концу текущей строки.
    • Left Arrow / Right Arrow — переместить курсор влево или вправо на один символ.
    • Backspace — удалить символ слева от курсора.
    • Delete — удалить символ справа от курсора.
    • Tab — автоматически заполнить имя файла или команды.
    • Alt + F1F6 — переключиться между виртуальными консолями (если поддерживается).
    • Enter — выполнить команду или ввести текст.

    Также существуют сочетания клавиш для работы с буфером обмена:

    • Shift + Ins или Ctrl + V — вставить содержимое буфера обмена в текущую позицию курсора;
    • Del или Shift + Del — вырезать выделенный текст в буфер обмена;
    • Ins или Ctrl + Shift + V — скопировать выделенный текст из буфера обмена.

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

    Подборка

    Поделиться

    Скопировано
    0 комментариев
    Комментарии