Новые пользователи 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.
Хотя вы можете выполнять большинство задач, связанных с разработкой и системой, с помощью графического интерфейса, командная строка делает вас более продуктивным и дает возможность делать больше за меньшее время.
Щелкните ссылки на каждой команде, чтобы получить дополнительную информацию о параметрах команды и использовании.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.