Новые пользователи Linux, пришедшие из мира Windows, могут найти работу с командной строкой несколько пугающей. Однако использовать это не так уж и сложно. Все, что вам нужно, чтобы начать работу с командной строкой, — это выучить несколько основных команд.
Хотя большинство дистрибутивов Linux удобны для пользователя и имеют простой в использовании графический интерфейс, знание того, как использовать командную строку, может быть очень полезным. Командная строка дает вам больше возможностей над вашей системой и доступ к функциям, которые недоступны через графический интерфейс.
В этой статье мы рассмотрим некоторые из наиболее распространенных команд Linux, которые ежедневно используются системными администраторами Linux.
Содержание
Получение информации о команде
Запоминание параметров команд обычно не требуется и может быть пустой тратой времени. Обычно, если вы не используете команду часто, вы можете легко забыть ее параметры.
У большинства команд есть опция --help
, которая выводит короткое сообщение о том, как использовать команду, и завершает работу:
command_name --help
Команда man
Почти все команды Linux распространяются вместе со страницами руководства. Справочная или справочная страница — это форма документации, в которой объясняется, что делает команда, примеры того, как вы запускаете команду, и какие аргументы она принимает.
Команда 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/linuxize.com/src/assets/images
Приведенная выше команда создает всю структуру каталогов.
Когда mkdir
вызывается с параметром -p
, он создает каталог, только если он не существует.
Создание символических ссылок (команда ln
)
Символическая ссылка (или символическая ссылка) — это особый тип файла, который указывает на другой файл или каталог.
Чтобы создать символическую ссылку на данный файл, используйте команду 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
:
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.
Хотя вы можете выполнять большинство задач, связанных с разработкой и системой, с помощью графического интерфейса, командная строка делает вас более продуктивным и дает возможность делать больше за меньшее время.
Щелкните ссылки на каждой команде, чтобы получить дополнительную информацию о параметрах команды и использовании.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.