Справочник 70 основных команд Linux: полное описание с примерами
Одним из коренных отличий семейства ОС Linux от ОС Windows является ведущая роль командной строки или терминала в администрировании системы. Для успешной работы с «Линукс» одного графического интерфейса недостаточно. Полноценное управление тут возможно только через терминал. А в работе с терминалом никак не обойтись без изучения основных команд Linux.
В Linux насчитывается несколько сотен основных команд и их модификаций. Они группируются по нескольким категориям. По расположению — могут быть утилитами командной строки или встроенной функцией командной оболочки. По частоте применения – используемыми постоянно, эпизодически и редко. По типам действий – от получения справки до управления файлами и процессами. Именно третья, функциональная составляющая и станет основой группировки утилит в этой статье.
В обзоре собраны все важнейшие команды Linux, которые могут пригодиться для администрирования ОС Linux. Статья рассчитана как на новичков, так и на продвинутых пользователей, уже знакомых с основным функционалом терминала. Эту своеобразную шпаргалку можно смело добавлять в закладки всем, кто хочет извлечь из «Линукс» максимум полезных свойств и повысить свою продуктивность в несколько раз.
Справочная информация / документация
man
(Manual). Показывает инструкцию к программам и командам Linux. Чтобы получить руководство для программы, наберите:
whatis
whereis
Debian — операции с пользователями
Статья «Debian – операции с пользователями» — первая из серии статей-памяток для быстрого доступа к наиболее часто используемым командам с их описаниями и некоторыми нюансами использования. Статья не содержит какой-либо уникальной информации, полученной из собственного профессионального опыта или из других источников, а только примеры использования общеизвестных команд. Для большей наглядности в статье могут даваться ссылки на источники, где описание команд дано более интересно или полно. Основная информация получена из справочных страниц официального дистрибутива Debian 9.
Debian – операции с пользователями
useradd — регистрирует нового пользователя или изменяет информацию по умолчанию о новых пользователях;
usermod — изменяет учётную запись пользователя;
userdel — удаляет учётную запись и файлы пользователя;
passwd — изменяет пароль пользователя.
И некоторые другие. Далее небольшие примеры использования каждой команды.
useradd
Создаем пользователя test01 (без домашнего каталога и без пароля):
Создаем пользователя test01 с домашним каталогом /home/test01:
useradd -m -d /home/test01 test01
-m — создать домашний каталог пользователя
-d — домашний каталог новой учётной записи
Примечание: удобство использования ключей -m и -d в том, что автоматически созданный каталог уже будет иметь необходимые права. Если каталог вы будете создавать отдельно, то придется менять владельца командой chown и возможно разрешения по умолчанию командой chmod.
Создаем пользователя testuser01 с домашним каталогом /home/testuser01, оболочкой /bin/bash и паролем Qwerty123:
useradd -g testgroup01 -m -d /home/testuser01 -s /bin/bash -p Qwerty123 testuser01
-g — имя или ID первичной группы новой учётной записи
-s — оболочка новой учётной записи
-p — зашифрованный пароль новой учётной записи
Примечание: если вы создаете учетную запись для служебных задач и не планируете чтобы кто-то под ней реально авторизовывался, то есть смысл установить окружение /bin/false.
Надо отметить, что вводить пароль в открытом виде в командную строку не совсем правильно, лучше использовать две команды последовательно:
useradd -g testgroup01 -m -d /home/testuser01 -s /bin/bash testuser01
В этом случае вы устанавливаете пароль отдельной командой и он не запоминается в кэше командной строки, этот способ более предпочтителен.
usermod
usermod -l testuser02 testuser01
-l – Имя пользователя будет изменено с testuser01 на testuser02. Больше ничего не меняется. В частности, вероятно, должно быть изменено имя домашнего каталога и почтового ящика.
Изменение первичной группы пользователя testuser02 на группу testgroup02:
usermod -g testgroup02 testuser02
-g — Имя или числовой идентификатор новой первичной группы пользователя. Группа с таким именем должна существовать. Все файлы в домашнем каталоге пользователя, принадлежавшие предыдущей первичной группе пользователя, будут принадлежать новой группе. Группового владельца файлов вне домашнего каталога нужно изменить вручную.
Создание нового домашнего каталога /home/testuser02 пользователя testuser02 и перенос данных из старого в новый:
usermod -d /home/testuser02 -m testuser02
-d — Домашний каталог нового пользователя. Если указан параметр -m, то содержимое текущего домашнего каталога будет перемещено в новый домашний каталог, который будет создан, если он ещё не существует.
-m — Переместить содержимое домашнего каталога в новое место. Этот параметр можно использовать только с параметром -d (или —home). Команда usermod пытается изменить владельцев файлов и копирует права, ACL и расширенные атрибуты, но после неё всё равно могут потребоваться некоторые ручные действия.
В принципе для команды usermod ничего интересного больше нет, разве что кроме предупреждения в «манах»:
Вы должны убедиться, что от указанного пользователя не запущено никаких процессов, если при выполнении этой команды изменяется числовой пользовательский ID, имя пользователя или домашний каталог пользователя. В Linux команда usermod выполняет такую проверку, но на других архитектурах проверяется только присутствие пользователя в системе согласно данным utmp. Вы должны вручную изменить владельца всех файлов crontab или заданий at. Вы должны сделать все изменения NIS на сервере NIS самостоятельно.
userdel
Удаление пользователя testuser02. Домашний каталог и файлы в нем останутся нетронутыми:
Удаление пользователя testuser02 вместе с домашним каталогом и файлами в нем, а также почтового ящика, если он есть:
passwd
Отобразить состояние текущей учетной записи (имя, инф. о пароле, дата последнего изменения пароля, минимальный срок, максимальный срок, период выдачи предупреждения, период не активности пароля):
Отображение состояния всех учетных записей:
Задать пароль для учетной записи testuser02:
root@debian:~# passwd testuser02
Обычный пользователь может изменить пароль только своей учётной записи, суперпользователь может изменить пароль любой учётной записи.
Об основных командах все. Ниже есть информация о других вспомогательных командах, связанных с пользователями.
Дополнительные команды
id — Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user;
groups — print the groups a user is in;
last, lastb — show listing of last logged in users.
Отобразить информацию о трех последних входах в систему пользователя root:
lastlog — выводит отчёт о последней регистрации в системе всех или указанного пользователя
logname — print user´s login name
whoami — Print the user name associated with the current effective user ID
mesg — control write access to your terminal
su — изменяет ID пользователя или делает его суперпользователем
sudo, sudoedit — execute a command as another user
Но кратко вывод можно сформулировать следующим образом — пользоваться «su» уже не кашерно. Вот так, например, можно поставить программу sudo (да и любые другие) от обычного пользователя, зная пароль рута:
su -c «apt-get install sudo» root
users — print the user names of users currently logged in to the current host
w — Show who is logged on and what they are doing
who — show who is logged on
write — send a message to another user
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.