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

Команды Linux

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

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

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

Получение информации о команды

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

Большинство команд имеют опцию --help , которая выводит краткое сообщение о том, как использовать команду, и завершает работу:

 command_name --help

man

Почти все команды Linux распространяются вместе со страницами руководства (man). Страница руководства (man) — это документация, объясняющая назначение команды, примеры её выполнения и принимаемые аргументы.

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

 man command_name

Например, чтобы открыть страницу руководства команды cd , введите:

 man cd

Для навигации по страницам руководства используйте клавиши Arrow , Page Up и Page Down . Для перемещения по строкам нажмите клавишу Enter , для перехода к следующему экрану — клавишу Space , а для перехода на предыдущий экран — клавишу b . Чтобы выйти со страницы руководства, нажмите клавишу q .

В Linux все файлы и каталоги находятся в корневом каталоге — первом или самом верхнем каталоге в дереве каталогов. Корневой каталог обозначается одним слешем / в начале имени.

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

Абсолютный или полный путь начинается с системного корня / , а относительный путь начинается с вашего текущего каталога.

Текущий рабочий каталог (команда pwd )

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

Используйте команду pwd , чтобы узнать, в каком каталоге вы сейчас находитесь:

 pwd

Команда отображает путь к текущему рабочему каталогу:

 /home/linuxize

Изменение каталога (команда cd )

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

При использовании без аргументов cd перенесет вас в домашний каталог:

 cd

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

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

 cd Downloads

Вы также можете перейти к каталогу, используя его абсолютный путь:

 cd /home/linuxize/Downloads

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

Предположим, вы находитесь в каталоге /usr/local/share . Чтобы перейти в каталог /usr/local (на уровень выше текущего), введите:

 cd ../

Чтобы подняться на два уровня вверх:

 cd ../../

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

 cd -

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

 cd Dir name with space

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

Вывод содержимого каталога (команда ls )

Команда ls выводит информацию о файлах и каталогах внутри каталога.

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

 ls

Чтобы вывести список файлов в определенном каталоге, передайте путь к каталогу в качестве аргумента:

 ls /usr

По умолчанию команда ls выводит только имена файлов и каталогов. Используйте опцию -l , чтобы вывести файлы в формате длинного списка:

 ls -l /etc/hosts

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

 -rw-r--r-- 1 root root 337 Oct 4 11:31 /etc/hosts

Команда ls по умолчанию не выводит список скрытых файлов. Скрытым считается любой файл, имя которого начинается с точки ( . ).

Чтобы отобразить все файлы, включая скрытые, используйте опцию -a :

 ls -a ~/

Отображение содержимого файла (команда cat )

Команда cat выводит содержимое одного или нескольких файлов и объединяет (конкатенирует) файлы, добавляя содержимое одного файла в конец другого файла.

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

 cat /etc/hosts

Создание файлов (команда touch )

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

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

 touch file.txt

Если файл уже существует, touch изменит время последнего доступа и изменения файла на текущее время.

Создание каталогов (команда mkdir )

В Linux вы можете создавать новые каталоги (также известные как папки) с помощью команды mkdir .

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

 mkdir /tmp/newdirectory

mkdir может принимать в качестве аргументов одно или несколько имен каталогов.

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

Чтобы создать родительские каталоги, используйте опцию -p :

 mkdir -p Projects/linuxgazette.ru/src/assets/images

Приведенная выше команда создает всю структуру каталогов.

При вызове mkdir с опцией -p каталог создается только в том случае, если он не существует.

Символическая ссылка (или симлинк) — это особый тип файла, который указывает на другой файл или каталог.

Чтобы создать символическую ссылку на заданный файл, используйте команду ln с опцией -s , именем файла в качестве первого аргумента и именем символической ссылки в качестве второго аргумента:

 ln -s source_file symbolic_link

Если в качестве аргумента указан только один файл, ln создает ссылку на этот файл в текущем рабочем каталоге с тем же именем, что и у файла, на который он указывает.

Удаление файлов и каталогов (команда rm )

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

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

Чтобы удалить файл или символическую ссылку, используйте команду rm , указав в качестве аргумента имя файла:

 rm file.txt

rm принимает в качестве аргументов одно или несколько имен файлов или каталогов.

Опция -i указывает rm запрашивать у пользователя каждый указанный файл перед его удалением:

 rm -i file.txt
 rm: remove regular empty file 'file.txt'?

Используйте опцию -d для удаления одного или нескольких пустых каталогов:

 rm -d dirname

Чтобы рекурсивно удалить непустые каталоги и все файлы в них, используйте опцию -r (рекурсивно):

 rm -rf dirname

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

Копирование файлов и каталогов (команда cp )

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

Чтобы скопировать файл в текущий рабочий каталог, используйте исходный файл в качестве первого аргумента, а новый файл — в качестве второго:

 cp file file_backup

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

 cp file.txt /backup

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

Чтобы скопировать каталог, включая все его файлы и подкаталоги, используйте опцию -R или -r :

 cp -R Pictures /opt/backup

Перемещение и переименование файлов и каталогов (команда mv )

Команда mv (сокращение от move) используется для переименования и перемещения файлов и каталогов из одного места в другое.

Например, чтобы переместить файл в каталог, выполните:

 mv file.txt /tmp

Чтобы переименовать файл, необходимо указать имя конечного файла:

 mv file.txt file1.txt

Синтаксис перемещения каталогов такой же, как и при перемещении файлов.

Чтобы переместить несколько файлов и каталогов одновременно, укажите целевой каталог в качестве последнего аргумента:

 mv file.tx1 file1.txt /tmp

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

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

Разные дистрибутивы Linux имеют разные менеджеры пакетов и форматы пакетов.

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

Ubuntu и Debian (команда apt )

Advanced Package Tool или APT — это система управления пакетами, используемая дистрибутивами на базе Debian.

В дистрибутивах Debian имеется несколько инструментов командной строки для управления пакетами, наиболее используемыми из которых являются apt и apt-get .

Перед установкой нового пакета необходимо обновить индекс пакетов APT:

 apt update

Индекс APT — это база данных, в которой хранятся записи о доступных пакетах из репозиториев, включенных в вашей системе.

Чтобы обновить установленные пакеты до последних версий, выполните:

 apt upgrade

Установка пакетов так же проста, как запуск:

 apt install package_name

Чтобы удалить установленный пакет , введите:

 apt remove package_name

CentOS и Fedora (команда dnf )

RPM — мощная система управления пакетами, используемая в Red Hat Linux и её производных, таких как CentOS и Fedora. RPM также относится к команде rpm и формату файлов .rpm .

Чтобы установить новый пакет в дистрибутивах на базе Red Hat, вы можете использовать команды yum или dnf :

 dnf install package_name

Начиная с CentOS 8, dnf заменил yum в качестве менеджера пакетов по умолчанию. dnf обратно совместим с yum .

Чтобы обновить установленные пакеты до последних версий, введите:

 dnf update

Удаление пакетов очень просто:

 dnf remove package_name

Владение файлами и разрешения

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

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

  • Владелец файла.
  • Члены группы.
  • Все остальные.

К каждому классу применяются три типа разрешений:

  • Разрешение на чтение.
  • Разрешение на запись.
  • Разрешение на выполнение.

Эта концепция позволяет указать, какие пользователи могут читать файл, записывать в файл или выполнять файл.

Чтобы просмотреть владельца файла и разрешения, используйте команду ls -l .

Изменение прав доступа (команда chmod )

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

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

  • r (чтение) = 4
  • w (писать) = 2
  • x (выполнить) = 1
  • нет разрешений = 0

Число разрешений определенного класса пользователей представлено суммой значений разрешений для этой группы.

Например, чтобы предоставить владельцу файла разрешения на чтение и запись, а членам группы и всем остальным пользователям — только разрешения на чтение, выполните:

 chmod 644 filename

Изменять права доступа к файлу может только пользователь root, владелец файла или пользователь с привилегиями sudo.

Для рекурсивной обработки всех файлов и каталогов в заданном каталоге используйте команду chmod с опцией -R, (–recursive):

 chmod -R 755 dirname

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

Изменение владельца (команда chown )

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

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

 chown username filename

Чтобы изменить владельца и группу файла, вызовите команду chown , а затем укажите нового владельца и группу, разделенные двоеточием ( : ) без пробелов, и целевой файл:

 chown username:groupname filename

Используйте опцию -R ( --recursive ) для рекурсивной обработки всех файлов и каталогов в указанном каталоге:

 chown -R username:groupname dirname

Повысить привилегии (команда sudo )

Команда sudo позволяет запускать программы от имени другого пользователя, по умолчанию пользователя root. Если вы проводите много времени в командной строке, sudo — одна из команд, которые вы будете использовать довольно часто.

Использование sudo вместо входа в систему как root более безопасно, поскольку вы можете предоставить ограниченные административные привилегии отдельным пользователям, не зная их пароля root.

Чтобы использовать sudo , просто добавьте префикс sudo к команде:

 sudo command

Управление пользователями и группами

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

Создание пользователей (команды useradd и passwd )

Команда useradd позволяет вам создавать новых пользователей.

Чтобы создать новую учетную запись пользователя, вызовите команду useradd а затем укажите имя пользователя:

 useradd newuser

После создания пользователя установите его пароль, выполнив команду passwd :

 passwd newuser

Удаление пользователей (команда userdel )

В Linux удалить учетную запись пользователя можно с помощью команды userdel .

Чтобы удалить учетную запись пользователя, передайте имя пользователя команде userdel :

 userdel newuser

Используйте опцию -r (–remove), чтобы удалить домашний каталог пользователя и почтовый ящик:

 userdel -r newuser

Управление группами (команды groupadd и groupdel )

Чтобы создать новую группу, вызовите команду groupadd а затем укажите имя группы:

 groupadd mygroup

Чтобы удалить группу, используйте команду groupdel с именем группы в качестве аргумента:

 groupdel mygroup

Добавление пользователей в группы (команда usermod )

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

 usermod -a -G sudo linuxize

Заключение

Мы рассмотрели некоторые наиболее используемые команды Gnu/Linux.

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

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

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

Терминал

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *