Новообращенным Linux из мира Windows может показаться пугающим работать с командной строкой. Тем не менее, это не так сложно в использовании. Все, что вам нужно для начала работы с командной строкой, — это выучить несколько основных команд.
Хотя большинство дистрибутивов Linux просты в использовании и имеют простой в использовании графический интерфейс, знание того, как использовать командную строку, может быть очень полезным. Командная строка дает вам больше власти над вашей системой и доступ к функциям, недоступным через графический интерфейс.
В этой статье мы рассмотрим некоторые из наиболее распространенных команд Linux, ежедневно используемых системными администраторами Linux.
Получить информацию о команде
Сохранение параметров команды обычно не требуется и может быть пустой тратой времени. Обычно, если вы не используете эту команду часто, вы можете легко забыть о ее параметрах.
У большинства команд есть опция --help
, которая печатает короткое сообщение об использовании команды и завершает работу, это синтаксис:
command_name --help
Командный человек
Почти все команды Linux распространяются вместе с справочными страницами. Справочная страница или руководство — это форма документации, которая объясняет, что делает команда, примеры того, как команда выполняется и какие аргументы она принимает.
Команда man
используется для просмотра справочной страницы для данной команды.
man command_name
Например, чтобы открыть справочную страницу команды cd
, введите:
man cd
Для перемещения по справочным страницам используйте клавиши со Arrow
, Page Up
и Page Down
. Вы также можете нажать клавишу Enter
, чтобы перемещаться по одной строке за раз, клавишу Space
, чтобы перейти к следующему экрану, и клавишу b
, чтобы вернуться на один экран назад. Чтобы выйти из справочной страницы, нажмите клавишу q
.
Навигация по файловой системе
В Linux каждый файл и каталог расположены в корневом каталоге, который является первым или самым высоким в дереве каталогов. Корневой каталог обозначается косой чертой /
.
При навигации по файловой системе при работе с файлами можно использовать абсолютный или относительный путь к ресурсу.
Абсолютный или полный путь начинается с системного корня /
, а относительный путь начинается с текущего каталога.
Текущий рабочий каталог (команда pwd)
Текущий рабочий каталог — это каталог, в котором в данный момент работает пользователь. Всякий раз, когда вы взаимодействуете с командной строкой, вы работаете в каталоге.
Используйте команду pwd
, чтобы узнать, в каком каталоге вы сейчас находитесь:
pwd
Команда отображает путь к текущему рабочему каталогу:
/home/noviello
Изменить каталог (команда cd)
Команда cd
(«изменить каталог») используется для изменения текущего рабочего каталога в Linux и других Unix-подобных операционных системах.
При использовании без каких-либо аргументов cd
приведет вас в ваш домашний каталог:
cd
Для перехода к каталогу вы можете использовать абсолютный или относительный путь.
Предполагая, что каталог Downloads
существует в каталоге, из которого вы запускаете команду, вы можете перейти к нему, используя путь относительно каталога:
cd Downloads
Вы также можете просмотреть каталог, используя его абсолютный путь:
cd /home/noviello/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/noviello.it/src/assets/images
Приведенная выше команда создает всю структуру каталогов.
Когда mkdir
вызывается с параметром -p
, он создает каталог, только если он не существует.
Создание символических ссылок (команда ln)
Символическая ссылка (или символическая ссылка) — это особый тип файла, который указывает на другой файл или каталог.
Чтобы создать символическую ссылку на конкретный файл, используйте команду ln
с параметром -s
, именем файла в качестве первого аргумента и именем символической ссылки в качестве второго аргумента:
ln -s source_file symbolic_link
Если в качестве аргумента указан только один файл, создается ссылка на этот файл в текущем рабочем каталоге с тем же именем, что и файл, на который она указывает.
Удаление файлов и каталогов (команда rm)
Для удаления файлов и каталогов используйте команду rm
.
По умолчанию rm
не удаляет каталоги при запуске без каких-либо параметров. Он также не спрашивает пользователя, следует ли продолжить удаление указанных файлов.
Чтобы удалить файл или символическую ссылку, используйте команду rm
, за которой следует имя файла в качестве аргумента:
rm file.txt
rm
принимает в качестве аргументов одно или несколько имен файлов или каталогов.
Параметр -i
позволяет запрашивать у пользователя любой файл перед его удалением:
rm -i file.txt
rm: remove regular empty file 'file.txt'?
Используйте параметр -d
для удаления одного или нескольких пустых каталогов:
rm -d dirname
Чтобы рекурсивно удалить непустые каталоги и все файлы в них, используйте параметр -r
(рекурсивный):
rm -rf dirname
Параметр -f
позволяет вам никогда не спрашивать пользователя и игнорировать несуществующие файлы и аргументы.
Копировать файлы и каталоги (команда 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
Установка и удаление пакетов в Ubuntu и Debian (команда apt)
Менеджер пакетов — это инструмент, который позволяет вам устанавливать, обновлять, удалять и иным образом управлять пакетами программного обеспечения для конкретного дистрибутива.
Различные дистрибутивы Linux имеют разные менеджеры пакетов и форматы.
Только root или пользователи с привилегиями sudo могут устанавливать и удалять пакеты.
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)
Менеджер пакетов — это инструмент, который позволяет вам устанавливать, обновлять, удалять и иным образом управлять пакетами программного обеспечения для конкретного дистрибутива.
Различные дистрибутивы Linux имеют разные менеджеры пакетов и форматы.
Только root или пользователи с привилегиями sudo могут устанавливать и удалять пакеты.
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
(чтение) = 4w
(запись) = 2x
(выполнить) = 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 noviello
Вывод
Мы видели некоторые из наиболее часто используемых команд Gnu/Linux.
Хотя вы можете выполнять большинство задач разработки и системных задач с помощью графического интерфейса, командная строка делает вас более продуктивным и позволяет делать больше за меньшее время.
Щелкните ссылки для каждой команды, чтобы узнать больше о параметрах команды и ее использовании.