480 auto

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

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

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

Что такое терминал?

Что такое терминал?

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

В среде системных администраторов терминалу дали свое название: BASH, по сокращению слов Bourne-Again SHell, то есть «возрожденный» терминал.

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

При запуске интерпретатора пользователю предоставляются права в зависимости от его учетной записи. Если необходимо получить расширенные права на установку или удаление ПО, то используется команда su (от английского superuser).

История

Изначально операционные системы семейств Linux\Unix работали только через командную строку. Пользователь запускал ОС, на экране монитора появлялся черный фон и мигающий курсор.

Со временем были разработаны графические оболочки для удобства пользователей и распространения операционных систем Linux для широкой аудитории. Наиболее известные из них: KDE Plasma, GNOME, XFCE, LXDE, Mate.

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

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

На сегодняшний день во всех операционных системах Linux используются эмуляторы терминала, которые помогают пользователям легче адаптироваться к работе в командной строке. Наиболее известные приложения: xTerm, KDE Konsole, iTerm2, GNOME terminal.

Преимущества терминала

Системные администраторы в отличие от рядовых пользователей всегда используют терминал для своей работы. Это объясняется несколькими причинами:

  1. Терминал предоставляет администраторам более полный список функций к каждой команде по сравнению с графическим окружением (GUI).

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

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

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

    Это связано с особенностью режима работы серверного оборудования. Соответственно, и производители оборудования уровня Enterprise сразу предоставляют возможность работы как в веб-интерфейсе, так и через CLI. Но часть сервисных работ и команд доступна только через терминал.
  5. Большинство команд в BASH являются однотипными, и совместимы между собой. Системные администраторы могут работать в разных операционных системах Linux, выучив основные команды в одной из ОС.
  6. Использование интерпретатора командной строки снижает нагрузку на операционную систему, и позволяет подключиться даже при наличии низкой скорости. Простейший пример – подключение к удаленному серверу через несколько межсетевых экранов или VPN. В этом случае использование терминала будет гораздо эффективнее по сравнению с графической оболочкой.

Расскажем в чем же особенность командного языка в CLI и как узнать список доступных команд с разными аргументами.

Команды и опции в терминале

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

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

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

К примеру, пользователю необходимо скопировать файл из одной директории в другую, а потом проверить его наличие в новом месте. Соответственно, необходимо ввести две команды: копирование файла и проверка. Используя логический оператор &&, можно объединить все в одной действие. Пример команды:

cp /home/username/Downloads/example.txt /home/username/Documents && ls /home/username/Documents/

*username – это имя пользователя операционной системы.

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

Справочная информация

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

Синтаксис Help

Справочная служба Help доступна в двух вариантах. В первом случае пользователь сначала набирает help, а потом имя команды. Синтаксис выглядит следующим образом:

help [command] — команда Help используется для вывода информации на терминал пользователя. Альтернативный способ использования выглядит следующим образом: [command] --help.

Здесь уже Help используется как один из аргументов команды. Его также можно сократить до -h. Если информация, выводимая на экран терминала, выходит за рамки рабочей области, то, используя преимущества эмуляторов, пользователь может прокрутить текст при помощи колеса мышки. Также стоит отметить, что не у всех команд доступна опция help, поэтому рекомендуется использовать команду man или info.

Синтаксис Man

Второй вариант вызова справочной информации – команда man. Это сокращение от английского слова Manual, то есть руководство. Синтаксис выглядит так:

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

Синтаксис Info

Третий способ загрузить справочную библиотеку – использовать команду Info в синтаксисе:

info [command] — info загружает подробное руководство, только оно представлена в виде текста формата Textinfo и содержит гиперссылки. На экране терминала отображается рабочее меню, управление которым происходит только через горячие клавиши. Каждый раздел представляет собой гиперссылку на другую часть справочной службы.

Топ команд Linux

Топ команд Linux

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

Команды навигации и обзора

CD – расшифровывается как Change Directory. Используется для перехода из одного каталога в другой. Синтаксис в общем виде выглядит следующим образом: cd [directory].

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

  • cd.. – переход на один уровень выше;
  • cd- – переход на один уровень ниже;
  • cd – переход в домашний каталог.

LS – расшифровывается как List (просмотр). Служит для просмотра файлов и директорий. Команда имеет множество атрибутов, в том числе и установка фильтров на выдачу данных. Общий синтаксис: ls [file].

Приведем пример использования типовых ключей для данной команды:

  • ls -a. Выводит все типы файлов, которые расположены в указанной директории, в том числе системные и скрытые;
  • ls -c. Показывает файлы с сортировкой по дате последнего изменения;
  • ls -C. Файлы выводятся колонками;
  • ls -block-size. Показывает размер файла или директории в заданных единицах (байты, Кб, Мб, Гб);

Pwd – служит для показа подробного пути от корневого каталога до текущего. Помогает сориентироваться пользователям при копировании файлов или для поиска необходимых. Синтаксис: pwd.

У команды pwd есть несколько дополнительных опций:

  • pwd -L. Показывает путь до каталога без удаления символических ссылок, если они присутствуют.
  • pwd -P. Показывает путь до папки с преобразованием символических ссылок в конечный каталог. Другими словами, вместо них указываются исходные имена каталогово.

Find. Изначально команда искала файлы каталоги по указанному пути в опциях. На экране отображается полный путь до заданного в фильтре файл. Общий синтаксис: find [directory].

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

  • find . -name "*.png". Ищет все файлы с расширением .png в текущей каталоге.
  • find -type. Поиск файлов по заданному типу. например, ключ -f означает обычный файл, ключ -d – каталог, ключ -b – блочные устройства (dev) и другие. Полный список можно посмотреть через опцию help или man.
  • find -user . Поиск файлов и директорий, которые принадлежат указанному пользователю.
  • find -delete. Данный ключ означает, что результаты поиска будут удалены. Другими словами, сначала задаются критерии поиска, а потом удаляются.
  • find -exec. Позволяет пользователя выполнить любую команду после поиска файлов. К примеру добавления ключа в виде: find . -name "*.jpg" -exec cp {} /backups/fotos \ сначала выполняет поиск всех файлов с расширением .jpg, а после через команду cp перемещает их в директорию fotos.

Locate. Аналог команды Find, только осуществляет поиск файлов по всем доступным каталогам на рабочей станции пользователя либо на сервере. У нее есть доступ к собственной базе данных, в которой содержится список доступных каталогов. Она обновляется ежедневно. Поиск осуществляется по такому же принципу, как и у Find. Общий синтаксис: locate [directory].

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

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

Touch. Создает новый пустой файл в указанном каталоге. Изначально команда создавалась для изменения времени последнего открытия файла, но в итоге ее теперь используют для создания новых файлов. Общий синтаксис: touch [file].

Mkdir. Создает новый каталог по заданному пользователем имени. Важно отметить, что при создании директории нужно обязательно указывать полный путь. В противном случае каталог создаст по текущему пути. Также пользователя должно быть достаточно прав на создание новой директории в текущей. Общий синтаксис: mkdir [directory].

Rm -r. Удаляет директории, вложения и файлы по заданному пути. Стоит обратить внимание, что сама команда rm удаляет только указанный файл. Если же требуется удалять все целиком, то обязательно нужно указывать опцию -r. Общий синтаксис: rm -r [directory].

Chmod. Устанавливает права указанному пользователю на конкретную директорию. В операционных системах Linux права доступа обозначаются трехзначным числом либо тремя символами. Ниже приведена краткая таблица с описанием:

Цифра Разрешение Символ
0 все запрещено - - -
1 только запуск файла или открытие каталога - - x
2 редактирование - w -
3 запуск и редактирование (изменение) - w x
4 чтение r - -
5 чтение и запуск r - x
6 чтение и изменение r w -
7 полный доступ r w x

Цифры распределяются по категориям:

  • первая цифра означает права для указанного пользователя;
  • вторая цифра для группы пользователей;
  • третья цифра для всех остальных.

Общий синтаксис: chmod xxx [directory] [file].

Cat. Команда для просмотра содержимого выбранного файла. Также она может склеивать несколько файлов в один. Чтобы объединить в один файл используется опция >file3. Общий синтаксис: cat file1 file2.

Cp. Создает копию файла или директории по указанному пути. При использовании опции backup, создает резервную копию файла по заданным параметрам. Общий синтаксис: cp [source] [destination].

Mv. В отличие от предыдущей команды перемещает файл по указанному пути. Также можно использовать для переименования файлов. Общий синтаксис: mv [source] [destination].

Команды для подключения и копирования на сервер

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

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

По умолчанию подключение осуществляется по небезопасному порту 22 и пользователю автоматически присваиваются права root. Поэтому рекомендуется сначала назначить собственный порт и запретить выдачу прав root. Общий синтаксис: ssh user@host1.

Scp. Копирует файлы по защищенному каналу через протокол SSH одного удаленного сервера на другой. При помощи дополнительных опций можно ограничить скорость передачи данных, включить сжатие файла, выбрать пакетный режим для передачи нескольких файлов и т.д. Общий синтаксис: scp user1@host1:file user2@host2:file.

Wget. Терминальный менеджер заказчики файлов. Его часто используют для того, чтобы загрузить на сервер утилиту, которая не доступна в репозиториях Linux. Утилита работает по протоколам HTTP (-S) и FTP. Может сохранять веб-страницы по указанному пути. Общий синтаксис: wget http:address.

Ping. Простейшая команда для проверки доступности сервера по IP-адресу или доменному имени. У команды есть разные параметры, в том числе можно ограничить количество передаваемых пакетов. Общий синтаксис: ping host_adsress.

Traceroute. Улучшенная версия предыдущей команды. Позволяет проверять не только доступность, и но отображает полный маршрут до конечной точки. Eе часто используют, чтобы определить на каком сетевом узле произошел сбой. Также может обращаться как по IP-адресу, так и по доменному имени. Общий синтаксис: traceroute host_adsress.

Заключение

Заключение

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

Подведем краткий итог:

  1. Терминал – это программная среда для работы в операционных системах семейства Linux;
  2. Команды терминалы – это программа, которая на вход получает аргумент от пользователя. Опции (ключи) команды – это дополнительные параметры, которые используются для расширения возможностей команды;
  3. Для получения подробной информации о команде, ее синтаксисе или назначении – используем help, man или info;
  4. Чтобы узнать полный путь к указанному каталогу, используем команду pwd;
  5. Перемещения по директориям осуществляется при помощи cd;
  6. Для копирования файлов используйте команду cp, а для удаления – rm; если требуется удалить каталог со всем содержимым, то добавляем ключ rm -r;
  7. Команда mv служит для перемещения файлов и каталогов.
Основные команды Linux Блог 2022-10-17 ru
182 70
1cloud LLP +7-708-9122620 050000, Алматы, ул. Макатаева, 117
Основные команды Linux

Наши услуги