Переключение между окнами терминалов и графической оболочкой
[alt]+[F1...F6] - переключение между окнами терминалов.
[alt]+[->] - циклическое переключение между окнами терминалов слева направо.
[alt]+[<-] - циклическое переключение между окнами терминалов справа налева.
[ctrl]+[alt]+[F1...F6] - переключение в окна терминалов из окна графической оболчки.
[alt]+[F7] - переключение в окно графической оболочки из окна терминала.
Очистка окна терминала
[ctrl]+[l] - очистка окна терминала, аналогично команде clear.
Перемещение курсора в командной строке
[ctrl]+[b] - перемещение курсора влево.
[ctrl]+[f] - перемещение курсора вправо.
[ctrl]+[p] - перемещение курсора вверх (или просмотр предыдущей команды).
[ctrl]+[n] - перемещение курсора вниз (или просмотр следующей команды).
[alt]+[b] - перемещение курсора на одно слово влево (назад).
[alt]+[f] - перемещение курсора на одно слово право (вперёд).
[ctrl]+[a] - перемещение курсора в начало строки.
[ctrl]+[e] - перемещение курсора в конец строки.
[ctrl]+[x] [ctrl]+[x] - перемещение курсора от текущей позиции к началу строки, и обратно.
Редактирование текста в командной строке
[tab] - автодополнение строки за курсором или вывод содержимого текущего каталога.
[ctrl]+[i] - автодополнение строки за курсором или вывод содержимого текущего каталога.
[ctrl]+[r] - поиск по набранным ранее командам.
[alt]+[.] - добавляет последний аргумент предыдущей команды.
[ctrl]+[d] - удаление текущего символа.
[ctrl]+[h] - удаление предыдущего символа.
[alt]+[d] - удаление знаков в слове после курсора.
[ctrl]+[w] - удаление предыдущего слова и копирование его в буфер обмена.
[ctrl]+[u] - удаление текста от курсора до начала строки и копирование его в буфер обмена.
[ctrl]+[k] - удаление текста от курсора до конца строки и копирование его в буфер обмена.
[ctrl]+[y] - вставка скопрированного текста из буфера обмена.
[ctrl]+[t] - обмен местами двух соседних символов перед курсором.
[alt]+[t] - обмен местами двух соседних слов перед курсором.
[alt]+[.] - добавляет последний аргумент предыдущей команды.
[alt]+[с] - заменяет букву под курсором на заглавную.
[alt]+[l] - заменяет букву под курсором на строчную.
[ctrl]+[shft]+[-] - откат редактирования.
[ctrl]+[x] [ctrl]+[e] - редактирует текущую строку в программе заданной переменной окружения $EDITOR, если неопределено в редакоторе по-умолчанию.
Запуск и прерывание процессов
[enter] - запуск процесса по команде указанной в командной строке.
[ctrl]+[j] - запуск процесса по команде указанной в командной строке.
[ctrl]+[o] - запуск процесса по команде указанной в командной строке и выбор из истории команд предыдущей команды.
[ctrl]+[c] - прерывает процесс, аналогично сигналу SIGINT команды kill.
[ctrl]+[\] - прерывает процесс с дампом памяти (core dump).
Приостановка и возобновление вывода процессов
[ctrl]+[s] - приостановливает вывод процесса (stop).
[ctrl]+[q] - возобнавляет вывод процесса.
Перевод процесса в фоновый режим
[ctrl]+[z] - посылает сигнал SIGTSTP текущему процессу, который приостанавливает его выполнение, и возобновляет приём команд.
Для возобновления выполнения процесса в фоновом режиме необходимо ввести команду bg.
Для возврата процесса из фонового режима или его приостановки необходимо выполнить fg.
Выход из сессии терминала
[ctrl]+[d] - выход из сессии терминала, аналогично команде exit.
Версия оболочки
[ctrl]+[x] [ctrl]+[v] - выводит версию оболочки.
ВСПОМОГАТЕЛЬНЫЕ КОМАНДЫ
Очистка окна терминала
$clear - очистка окна терминала.
Реинициализация терминала
$reset - реинициализация терминала, даже если не видно вводимых символов.
Перенаправление стандартного вывода команд
$command > file - перенаправление стандартного вывода команды command в файл file, если файла нет - он будет создан, если файл есть - данные будут перезаписаны.
$command >> file - перенаправление стандартного вывода команды command в файл file, если файла нет - он будет создан, если файл есть - данные будут дописаны в конце файла.
$command1 | command2 - конвеер, данные стандартного вывода команды command1 перенаправляются на стандартный ввод команды command2, количество команд не ограничено.
$command 2> file - перенаправление вывода стандартной ошибки команды command в файл file, если файла нет - он будет создан, если файл есть - данные будут перезаписаны.
$command 2>> file - перенаправление вывода стандартной ошибки команды command в файл file, если файла нет - он будет создан, если файл есть - данные будут дописаны в конце файла.
$command > file1 2> file2 - перенаправление стандартного вывода команды command в файл file1 и перенаправление стандартной ошибки команды command в файл file2, если файлов нет - они будут созданы, если файлы есть - данные будут перезаписаны.
$command > file 2>&1 - перенаправление стандартного вывода и стандартной ошибки команды command в файл file, если файла нет - он будет создан, если файл есть - данные будут дописаны в конце файла.
Получение справки
$man command - вывод руководства команды command.
$man №command - вывод руководства команды command из раздела №, номера разделов:
1 - команды пользователя
2 - системные вызовы
3 - документация к высокоуровневой программной библиотеке Unix
4 - интерфейс устройств и иноформация о драйверах
5 - описания файлов (файлы конфигурации системы)
6 - игры
7 - форматы файлов, условные обозначения и кодировки (ASCII, суффиксы и т.д.)
8 - системные команды и вызовы
$man -k text - вывод списка команд, имя которых или описание содержит слово text.
$info command - вывод руководства команды в формате info.
Выход из сессии терминала
$exit - выход из сессии терминала.
ЭЛЕКТРОПИТАНИЕ
Выключение
$init 0 - немедленно.
$poweroff - немедленно.
$shutdown now - немедленно.
$shutdown -h now - немедленно.
$shutdown - через 1 минуту.
$shutdown -h +15 - через 15 минут.
$shutdown -c - отмена выключения.
Перезагрузка
$init 6 - немедленно.
$reboot - немедленно.
$shutdown -r now - немедленно.
$shutdown -r - через 1 минуту.
$shutdown -r +25 - через 25 минут.
$shutdown -c - отмена перезагрузки.
Остановка - завершение работы операционной системы без выключения электропитания компьютера
#halt - немедленно.
#shutdown -H now - немедленно.
#shutdown -H - через 1 минуту.
#shutdown -H +20 - через 20 минут.
#shutdown -c - отмена остановки.
ПОЛЬЗОВАТЕЛИ
Создание учётной записи пользователя
#adduser username - создаёт полный профиль пользователя. Задаются имя пользователя, пароль и информация о пользователе. Группа, домашняя папка и оболочка пользователя создаются в соответствии с файлом /etc/adduser.conf. Значения UID и GID согласованы с политикой Debian.
#useradd username - создаёт учётную запись пользователя и группу пользователя, учётная запись заблокирована (пароль пустой).
#passwd username - задаёт пароль пользователя.
#mkdir /home/username - созадёт каталог нового пользователя.
#chown username /home/username - устанавливает владельцем домашнего каталога нового пользователя.
#chgrp username /home/username - устанавливает группу домашнего каталога на группу нового пользователя.
Состояние учётной записи пользователя
#passwd -S username - выводит информацию о состоянии учётной записи пользователя, содержит семь полей:
username P 10/25/2016 0 99999 7 -1
username - имя пользователя.
P - сосотояние пароля: L - заблокирован, NP - без пароля, P - рабочий пароль.
10/25/2016 - дата последнего изменения пароля.
0 - минимальный срок до смены пароля в днях.
99999 - максимальный срок до смены пароля в днях.
7 - период выдачи предупреждения до смены пароля в днях.
-1 - период неактивности пароля в днях.
#passwd -Sa - выводит информацию о состоянии всех учётных записях пользователей в формате вывода команды #passwd -S username.
Удаление пароля пользователя
#passwd -d username - удаляет пароль переводя состояние пользователя в NP - без пароля.
Блокировка/разблокировка пароля пользователя
#passwd -l username - блокирует пароль пользователя добавляя восклицательный знак (!) в начало пароля пользователя - второе поле в файле /etc/shadow:
#usermod -L username - работает аналогично команде #passwd -u username.
Блокировка/разблокировка учётной записи пользователя
#usermod -e 1 username - блокирует учётную запись, устанавливая дату устаревания учётной записи равной 2 января 1970 года, т.е. в файле /etc/shadow восьмое поле - количество дней, с 1 января 1970 года, до которых действует учетная запись - изменяет на единицу (1):
#usermod -e '' username - разблокирует учётную запись, удаляя дату устаревания учётной записи, т.е. в файле /etc/shadow восьмое поле - количество дней, с 1 января 1970 года, до которых действует учетная запись - изменяет на пустое значение.
#kill -9 2392 - принудительно завершает работу оболочки запущенной на терминале tty2.
Удаление учётной записи пользователя
#deluser username - полностью удаляет учётную запись пользователя (пользователя, группу пользователя - только если в ней не состоят другие пользователи, домашнюю папку)
#userdel -r username - полностью удаляет учётную запись пользователя (пользователя, группу пользователя - только если в ней не состоят другие пользователи, домашнюю папку и почту пользователя).
#userdel username - удаляет учётные записи и пароли пользователя и группы пользователя.
#groupadd groupname - создаёт новую группу в соответствии с файлом /etc/login.defs.
#addgroup groupname - создаёт новую группу в соответствии с файлом /etc/adduser.conf. Значение GID согласованы с политикой Debian.
Добавление пользователя в группу
#gpasswd -a usernamegroupname - добавляет пользователя в группу.
#usermod -aG groupnameusername - добавляет пользователя в группу.
Удаление пользователя из группы
#gpasswd -d usernamegroupname - удаляет пользователя из группы.
#userdel --group usernamegroupname - удаляет пользователя из группы.
Изменение списка групп пользователя
#usermod -G groupname1,groupname2username - заменяет список дополнительных групп пользователя, если в списке отстутсвует группа в которой ползователь был раньше, он удаляется из этой группы.
Изменение домашней группы пользователя
#usermod -g groupnameusername - изменяет домашнюю группу пользователя, все файлы в домашнем каталоге пользователя будут принадлежать новой группе.
Назначение администратора группы
#gpasswd -A usernamegroupname - удаляет группу имеющую пользователей.
Удаление группы
#groupdel groupname - удаляет группу имеющую пользователей.
ФАЙЛЫ И КАТАЛОГИ
Определение текущего каталога
$pwd - выводит полный путь текущего каталога.
Вывод содержимого каталога
$echo * - если в каталоге есть файлы и каталоги, то выводит список всех файлов и каталогов, кроме файлов и каталогов имена которых начинаюся с точки, в противном случае возвращает знак звёздочки (*).
$echo .* - выводит файлы и каталоги, имена которых начинаются с точки, а также дескрипторы текущего (.) и родительского (..) каталогов.
$echo .* * - работает аналогично командам echo * и echo .*, если их совместить.
$ls - не отображает файлы и каталоги имена которых начинаюся с точки.
$ls -A - отображает все файлы и каталоги.
$ls -a - отображает все файлы и каталоги, а также дескрипторы текущего (.) и родительского (..) каталогов.
$ls -1 - выводит в столбец
$ls -R - также выводит содержимое подкаталогов.
$ls -i - выводит номера дескрипторов файлов и каталогов.
$ls -l - выводит полную информацию о файлах и каталогах (содержание дескрипторов файлов и каталогов).
$ls -F - выводит типы файлов
$ls dir - выводит содержимое каталога dir.
Изменение текущего каталога
$cd dir - изменяет текущий каталог на dir.
$cd - изменяет текущий каталог на домашний каталог пользователя.
$cd / - изменяет текущий каталог на корневой.
$cd .. - изменяет текущий каталог на родительский.
Создание файлов и каталогов
$touch file - создаёт файл с именем file.
$touch file1file2 - создаёт файлы с именами file1 и file2.
$mkdir dir - создаёт каталог с именем dir.
$mkdir dir1dir2 - создаёт каталоги с именами dir1 и dir2.
Права доступа файлов и каталогов
$ls -l file - выводит права доступа файла file.
$ls -l dir - выводит права доступа каталога dir.
Удаление файлов и каталогов
$rm file - удаляет файл file.
$rm file1file2 - удаляет файлы file1 и file2.
$rm * - удаляет в текущем каталоге все файлы, кроме файлов, имена которых начинаюся с точки.
$rm .* - удаляет в текущем каталоге файлы, имена которых начинаюся с точки.
$rm .* * - удаляет в текущем каталоге все файлы.
$rmdir dir - удаляет пустой каталог с именем dir.
$rmdir dir1dir2 - удаляет пустые каталоги с именами dir1 и dir2.
$rmdir * - удаляет в текущем каталоге все пустые каталоги, кроме каталогов, имена которых начинаюся с точки.
$rmdir .[!.]* - удаляет в текущем каталоге пустые каталоги имена, которых начинаюся с точки.
$rmdir .[!.]* * - удаляет в текущем каталоге все пустые каталоги.
$rm -rf dir - удаляет не пустой каталог с именем dir.
$rm -rf dir1dir2 - удаляет не пустые каталоги с именами dir1 и dir2.
$rm -rf * - удаляет в текущем каталоге все файлы и каталоги, кроме файлов и каталогов, имена которых начинаюся с точки.
$rm -rf .[!.]* - удаляет в текущем каталоге файлы и каталоги, имена которых начинаюся с точки.
$rm -rf .[!.]* * - удаляет в текущем каталоге все файлы и каталоги.
Переименование файлов и каталогов
#mv file1file2 - переименовывает файл file1 в file2.
#mv dir1dir2 - переименовывает каталог dir1 в dir2.
Копирование файлов и каталогов
#cp file1file2 - копирует содержимое файла file1 в файл file2.
#cp file1file2dir - копирует файлы file1 и file2 в каталог dir.
#cp * dir - копирует из текущего каталога в каталог dir все файлы, кроме файлов, имена которых начинаюся с точки.
#cp * ~ - копирует из текущего каталога в домашний каталог пользователя все файлы, кроме файлов, имена которых начинаюся с точки.
#cp .[!.]* dir - копирует из текущего каталога в каталог dir файлы, имена которых начинаюся с точки.
#cp .[!.]* ~ - копирует из текущего каталога в домашний каталог пользователя файлы, имена которых начинаюся с точки.
#cp .[!.]* * dir - копирует из текущего каталога в каталог dir все файлы.
#cp .[!.]* * ~ - копирует из текущего каталога в домашний каталог пользователя все файлы.
#cp -r dir1dir2 - копирует каталог dir1 в каталог dir2.
#cp -r * dir - копирует из текущего каталога в каталог dir все файлы и каталоги, кроме файлов и каталогов, имена которых начинаюся с точки. Содержимое каталогово копируется полностью, в том числе файлы и каталоги, имена которых начинаются с точки!
#cp -r .[!.]* dir - копирует из текущего каталога в каталог dir все файлы и каталоги, имена которых начинаюся с точки. Содержимое каталогово копируется полностью, в том числе файлы и каталоги, имена которых начинаются с точки!
#cp -r .[!.]* * dir - копирует из текущего каталога в каталог dir все файлы и каталоги.
Перемещение файлов и каталогов
#mv filedir - перемещает файл file в каталог dir.
#mv file1file2dir - перемещает файлы file1 и file2 в каталог dir.
#mv dir1dir2 - перемещает каталог dir1 в каталог dir2.
#mv dir1dir2dir3 - перемещает каталоги dir1 и dir2 в каталог dir3.
#mv * dir - перемещает из текущего каталога в каталог dir все файлы и каталоги, кроме файлов и каталогов, имена которых начинаюся с точки.
#mv * ~ - перемещает из текущего каталога в домашний каталог пользователя все файлы и каталоги, кроме файлов и каталогов, имена которых начинаюся с точки..
#mv .[!.]* dir - перемещает из текущего каталога в каталог dir файлы, имена которых начинаюся с точки.
#mv .[!.]* ~ - перемещает из текущего каталога в домашний каталог пользователя файлы, имена которых начинаюся с точки.
#mv .[!.]* * dir - перемещает из текущего каталога в каталог dir все файлы и каталоги.
#mv .[!.]* * ~ - перемещает из текущего каталога в каталог в домашний каталог пользователя все файлы и каталоги.
Поиск файлов
#find dir -name file - производит поиск файла file вниз по дереву каталогов начиная с каталога dir.
#find -name file - производит поиск файла file вниз по дереву каталогов начиная с текущего каталога.
#locate pattern - производит поиск файла по шаблону pattern в индексе файлов.
$diff file1file2 - сравнивает содержимое файлов file1 и file2 построчно и выводит отличия.
$diff -u file1file2 - сравнивает содержимое файлов file1 и file2 построчно и выводит отличия в формате, удобном для дальнейшей автоматизированной обработки.
$diff -q file1file2 - сравнивает содержимое файлов file1 и file2 построчно и выводит краткое сообщение об идентичности или отличии файлов.
Редактирование содержимого файлов
$echo "text" > file - заменяет содержимое файла file на строку содержащую текст text.
$echo 'text' > file - заменяет содержимое файла file на строку содержащую текст text.
$echo "text" >> file - добавляет строку содержащую текст text в конец файла file.
$echo 'text' >> file - добавляет строку содержащую текст text в конец файла file.
$vi file - открывает файл file в текстовом редкторе Vi (Vim), если файла file не существует - он создаётся при сохранении данных.
Режим построчного редактирования - включается после запуска редактора, внизу экрана нет никаких сообщений, редактирование содрежимого производится построчно.
[u] - отменить последнее действие
[.] - повторить последнее действие
[y] [y] - копировать строку
[d] [d] - вырезать строку
[p] - вставить
[i] - включает Режим вставки
[a] - сдвигает курсор на одну позицию вправо и включает Режим вставки
[s] - удаляет символ под курсором и включает Режим вставки
[shift]+[;] - включает Командный режим
[shift]+[z] [shift]+[z] - выход из редактора c сохранением данных
Режим вставки - включается командой в Режиме построчного редактирвания, внизу экрана отображается сообщение "-- INSERT --" ("-- ВСТАВКА --"), редактирование содержимого производится посимвольно.
[esc] - включает Режим построчного редактирования
Командный режим - включается командой в Режиме построчного редактирвания, внизу экрана отображается приглашение командной строки в виде двоеточия (":"), запуск на выполнение введённых команд осуществляется клавишей [enter].
:h - вызов справки (выход из режима справки: :q)
:e! - перезагрузить файл
:w - сохранение данных
:q - выход из редактора
:wq - выход из редактора c сохранением данных
:q! - выход из редактора без сохранения данных
[esc] - включает Режим построчного редактирования
$nano file - открывает файл file в текстовом редкторе nano, если файла file не существует - он создаётся при сохранении данных.
[ctrl]+[g] - вызов справки (выход из режима справки: [ctrl]+[x])
[ctrl]+[o] - сохранение данных
[ctrl]+[x] - выход из редактора
ССЫЛКИ
Создание ссылок
$ln filehlfile - создание жёсткой ссылки с именем hlfile на файл file.
$ln -s fileslfile - создание символической ссылки с именем slfile на файл file.
$ln -s dirsldir - создание символической ссылки с именем sldir на каталог dir.
Удаление ссылок
$rm hlfile - удаляет жёсткую ссылку hlfile на файл file, содержимое остаётся в файле file.
$rm file - удаляет файл file, на который была создана жёсткая ссылка hlfile, содержимое остаётся в файле hlfile.
$rm slfile - удаляет символическую ссылку slfile на файл file, содержимое остаётся в файле file.
$rm file - удаляет вместе с содержимым файл file, на который была создана символическая ссылка slfile, при обращении к символической ссылке slfile будет выдана ошибка об отсутствии файла или каталога.
$rm sldir - удаляет символическую ссылку sldir на каталог dir, каталог dir не изменяется.
$rm -rf dir - удаляет каталог dir, на который была создана символическая ссылка slfile, при обращении к символической ссылке slfile будет выдана ошибка об отсутствии файла или каталога.
Поиск ссылок
$find dir -samefile file - производит поиск жёстких ссылок на файл file по дереву каталогов начиная с каталога dir.
$find -samefile file - производит поиск жёстких ссылок на файл file по дереву каталогов начиная с текущего каталога.
$find dir -type l - производит поиск всех символических ссылок по дереву каталогов начиная с каталога dir.
$find -type l - производит поиск всех символических ссылок по дереву каталогов начиная с текущего каталога.
$find dir -lname "*file" - производит поиск символических ссылок на файл file по дереву каталогов начиная с каталога dir, джокерный символ (*) используется для поиска в ссылках как относительных, так и абсолютных путей.
$find dir -lname '*file' - производит поиск символических ссылок на файл file по дереву каталогов начиная с каталога dir, джокерный символ (*) используется для поиска в ссылках как относительных, так и абсолютных путей.
$find -lname "*file" - производит поиск всех символических ссылок на файл file по дереву каталогов начиная с текущего каталога, джокерный символ (*) используется для поиска в ссылках как относительных, так и абсолютных путей.
$find -lname '*file' - производит поиск всех символических ссылок на файл file по дереву каталогов начиная с текущего каталога, джокерный символ (*) используется для поиска в ссылках как относительных, так и абсолютных путей.
Поиск "битых" символических ссылок
$ls -lL - выводит полную информацию о файле на который ссылается символическая ссылка, если файла нет, то отображаются вопросительные знаки (?) вместо данных (права доступа, количество ссылок, владелец, группа, дата и время).
- - файл или жёсткая ссылка (определяется числом из второго столбца - количество ссылок: 1 - файл, >1 - жёсткая ссылка) d - каталог l - символическая ссылка
-/r - право на чтение владельцем файла: - - запрещено, r - разрешено
-/w - право на запись владельцем файла: - - запрещено, w - разрешено
-/s/x - право на исполнение владельцем файла: - - запрещено, s - разрешено c правами setuid, x - разрешено
-/r - право на чтение участником группы: - - запрещено, r - разрешено
-/w - право на запись участником группы: - - запрещено, w - разрешено
-/s/x - право на исполнение участником группы: - - запрещено, s - разрешено c правами setgid, x - разрешено
-/r - право на чтение для всех: - - запрещено, r - разрешено
-/w - право на запись для всех: - - запрещено, w - разрешено
-/x - право на исполнение для всех: - - запрещено, x - разрешено
УСТАНОВКА, УДАЛЕНИЕ И ОБНОВЛЕНИЕ ПАКЕТОВ
apt (advanced packaging tool) - Debian (Ubuntu, Linux Mint...) и Mandrake (Mandriva, ALTLinux, PCLinuxOS...)
#apt update - обновляет список всех доступных пакетов в репозиториях и сообщает о возможных обновлениях пакетов.
#apt-get update - обновляет список всех доступных пакетов в репозиториях и сообщает о возможных обновлениях пакетов.
#apt install pkg - скачивает из репозитория и устанавливает пакет pkg, а также необходимые для его работы дополнительные пакеты.
#apt-get install pkg - скачивает из репозитория и устанавливает пакет pkg, а также необходимые для его работы дополнительные пакеты.
$apt list - выводит список пакетов для которых найдены обновления в репозиториях.
$apt list --upgradable - выводит список пакетов для которых найдены обновления в репозиториях.
#apt upgrade - обновляет только пакеты не требующие удаления, при необходимости доустанавливает новые пакеты, но не удаляет устаревшие.
#apt full-upgrade - обновляет все пакеты, при необходимости доустанавливает новые и удаляет устревшие пакеты.
ИНФОРМАЦИЯ О СИСТЕМЕ
Версия Linux и дистрибутива
$cat /proc/version - выводит версию ядра Linux и наименование и версию дистрибутива.
dmesg | grep "Linux version" - выводит версию ядра Linux и наименование и версию дистрибутива.
Версия оболочки
[ctrl]+[x] [ctrl]+[v] - выводит версию оболочки.
$bash --version - выводит версию оболочки bash и лицензию.
addgroup - добавляет группу в систему в соответствии с файлом /etc/adduser.conf
adduser - добавляет пользователя в систему в соответствии с файлом /etc/adduser.conf
apt - усовершенствованный интерфейс к системе управления пакетами Advanced Packaging Tool (APT), используемой в Debian, заменяет команды apt-get и apt-cache
apt-cache - утилита для работы с кешем системы управления пакетами Advanced Packaging Tool (APT), используемой в Debian
apt-get - утилита для работы с системой управления пакетами Advanced Packaging Tool (APT), используемо в Debian
bg - возобновляет выполнения в фоновом режиме процесса, приостановленного командой [ctrl]+[z]
cat - сцепляет и выводит содежимое файлов
cd - изменяет текущий каталог
chfn - изменяет информацию о пользователе (GECOS) в соответствии с файлом /etc/login.defs
chgpasswd - изменяет пароли групп в пакетном режиме
chpasswd - изменяет пароли пользователей в пакетном режиме
clear - очищает окно терминала
cp - копирует файлы
date - выводит и устанавливает системные дату и время
delgroup - удаляет группу из системы
deluser - удаляет пользователя из системы
diff - сравнивает содержимое файлов построчно и выводит отличия
dirs - выводит содержимое стека каталогов, в случае успеха, команды pushd и popd автоматически вызывают dirs
egrep - выводит строки из файла в соответствии с заданным шаблоном в форме регуляного выражения
newgrp - выполняет регистрацию пользователя в новой группе
newusers - обновляет и создаёт новые учётные записи пользователей в пакетном режиме
passwd - изменяет пароль пользователя
popd - выталкивает, находящееся на вершине стека, имя каталога и одновременно осуществляет переход в каталог, оказавшийся на врешине стека (смотри также команды dirs и pushd)
poweroff - выключает компьютер
ps - выводит "снимок" списка запущенных процессов
pushd - помещает имя текущего каталога в стек и осуществляет переход в указанный каталог (смотри также команды dirs и popd)
pwconv - преобразуте пароли пользователей в защищённую форму из файла /etc/passwd в файл /etc/shadow
pwd - выводит полный путь текущего каталога
pwconv - преобразуте пароли пользователей из защищённой формы из файла /etc/shadow в файл /etc/passwd
reboot - выполняет перезагрузку компьютера
reset - реинициализирует терминал
rm - удаляет файлы и каталоги
setterm - устанавливает атрибуты терминала
sg - выполняет команду с правами другой группы
shutdown - останавливает, перезагружает или выключает компьютер
stat - выводит статус файла или файловой системы
sort - выводит строки файла отсортированные в алфавитно-числовом порядке
su - изменяет ID пользователя и делает его супрепользователем
sulogin - выполняет вход пользователя root
tail - выводит последние строки файла
touch - создаёт файлы
tput - устанавливает атрибуты терминала
tset - инициализирует терминал
umask - отображает umask (user file creation mode mask - маска режима создания пользовательских файлов) - права доступа, которые присваиваются новым файлам и директориям по умолчанию.
~/.hushlogin - файл запрещения вывода MOTD (Message Of The Day) - сообщения при входе в систему
Наличие пустого файла .hushlogin в домашнем каталоге пользователя, если параметру HUSHLOGIN_FILE из файла конфигурации /etc/login.defs присвоено значение .hushlogin включает сокращённый (hushed) режим вывода MOTD.
/etc/adduser.conf - файл настройки для adduser и addgroup, версия 3.113+nmu3ubuntu4
Определяет параметры создания нового пользователя или группы.
DSHELL=/bin/bash - оболочка
DHOME=/home - место расположения домашнего каталога пользователя
GROUPHOMES=no - отключает создание домашнего каталога пользователя в соответствии с шаблоном /home/groupname/user
LETTERHOMES=no - отключает создание домашнего каталога пользователя в подкаталоге в соответствии с шаблоном /home/u/user, где имя каталога /home/u соответствует первой букве имени пользователя user
SKEL=/etc/skel - каталог содержащий файлы и каталоги, которые копируются в домашний каталог нового пользователя при его создании
FIRST_SYSTEM_UID=100 - первое значение диапазона для автоматического присвоения номера системного UID.
LAST_SYSTEM_UID=999 - последнее значение диапазона для автоматического присвоения номера системного UID.
FIRST_SYSTEM_GID=100 - первое значение диапазона для автоматического присвоения номера системного GID.
LAST_SYSTEM_GID=999 - последнее значение диапазона для автоматического присвоения номера системного GID.
FIRST_UID=1000 - первое значение диапазона для автоматического присвоения номера пользовательского UID.
LAST_UID=29999 - последнее значение диапазона для автоматического присвоения номера пользовательского UID.
FIRST_GID=1000 - первое значение диапазона для автоматического присвоения номера пользовательского GID.
LAST_GID=29999 - последнее значение диапазона для автоматического присвоения номера пользовательского GID.
USERGROUPS=yes - разрешает создавать для каждого пользователя новую группу, в противном случае каждый новый пользователь помещается в группу, GID которой соответствует значению заданному параметром USER_GID
USER_GID=100 - GID группы, в которую помещаются создаваемые пользователи, если USERGROUPS=no, значение по умолчанию - 100
DIR_MODE=0755 - разрешения, устанавливаемые для домашнего каталога пользователя, значение по умолчанию - 0755
SETGID_HOME=no - отключает флаг setgid, рекомундуемое значение для версий 3.13 и старше команды adduser - no
QUOTAUSER="" - устанавливает квоты для нового пользователя по шаблону указанного пользователя, значение по умолчанию не задано
SKEL_IGNORE_REGEX="dpkg-(old|new|dist|save)" - файлы из каталога заданного параметром SKEL не копируются в домашний каталог нового пользователя, если они там уже есть
EXTRA_GROUPS="dialout cdrom floppy audio video plugdev users games" - список групп, в которые помещается пользователь параметром ADD_EXTRA_GROUPS
ADD_EXTRA_GROUPS=0 - любое значение отличное 0 помещает нового несистемного пользователя в группы, перечисленные в параметре EXTRA_GROUPS
NAME_REGEX="^[a-z][-a-z0-9]*\$" - проверка имён пользователя и группы на соответствие указазнным ограничениям
USE_EXTRAUSERS=1 - создание extrauser
/etc/group - список групп
Просматривается и редактируется любым текстовым редактором или командой vigr с правами root-а.
Каждая строка представляет одну группу и состоит из четырёх полей разделённых двоеточием.
groupname:x:1111:username1, username2
groupname - имя группы
x - пароль группы, находится в зашифрованном виде в файле /etc/gshadow
1111 - идентификатор группы (GID), указывается в поле группы пользователя файле /etc/passwd
username1, username2 - дополнительные участники группы
/etc/gshadow - зашифрованный список паролей групп
Просматривается любым текстовым редактором с правами root-а.
Редактируется командой vipgr -s.
Каждая строка представляет одну группу и состоит из четырёх полей разделённых двоеточием.
Определяет параметры учётных записей и паролей пользователей и групп.
CHFN_RESTRICT rwh - определяет части поля инофрмация о пользователе (GECOS) в файле /etc/passwd: f - полное имя пользователя, r - номер комнаты, w - рабочий телефон, h - домашний телефон. yes эквивалентно rwh, no эквивалентно frwh.
CONSOLE console:tty01:tty02 - список имён файлов устройств (без префикса /dev/), с которых разрешён вход root-а, если не задано, то разрешено со всех устройств.
CONSOLE_GROUPS floppy:audio:cdrom - список групп для добавления к набору пользовательских дополнительных групп при входе с устройства, определеённого параметром CONSOLE.
CREATE_HOME - определяет, должен ли создаваться по умолчанию домашний каталог для
новых пользователей.
DEFAULT_HOME yes - разрешает войти в систему, если нельзя перейти в домашний каталог (по умолчанию no), если равно yes и невозможно перейти в домашний каталог, то пользователь будет попадать в корневой каталог /.
ENCRYPT_METHOD SHA512 - задаёт системный алгоритм шифрования по умолчанию для шифрования паролей (используется, если алгоритм не указан в командной строке), варианты значений: DES (по умолчанию), MD5, SHA256, SHA512.
ENV_HZ - определяет переменную окружения $HZ при входе пользователя в систему. Параметр настраивается через PAM редактированием файла /etc/pam.d.
ENV_PATH - определяет переменную окружения $PATH при входе пользователя в систему.
ENV_SUPATH - определяет переменную окружения $SUPATH при входе пользователя в систему.
ERASECHAR 0177 - символ ERASE у терминала (010 = Backspace, 0177 = Del).
FAIL_DELAY - задержка в секундах перед повторной попыткой после неудачного входа.
FAILLOG_ENAB yes - включает ведение журнала /var/log/faillog отказов входа.
FAKE_SHELL /bin/fakeshell - если задана, то программа login запустит указанную оболочку вместо пользовательской оболочки заданной в /etc/passwd.
FTMP_FILE /var/log/btmp - включает протоколирования отказов входа и определяет имя файла журнала /var/log/btmp в формате utmp.
GID_MIN 1000 - первое значение диапазона для автоматического присвоения номера пользовательского GID командами useradd, groupadd и newusers.
GID_MAX 60000 - последнее значение диапазона для автоматического присвоения номера пользовательского GID командами useradd, groupadd и newusers.
HUSHLOGIN_FILE .hushlogin - отключает вывод MOTD (Message Of The Day) - сообщения при входе в систему. Если указан полный путь к файлу /etc/hushlogins, то будет включён сокращённый (hushed) режим для указанных в этом файле пользователей или оболочек. Если указан не полный путь .hushlogin, то будет включён сокращённый (hushed) режим для пользователей у которых домашнем каталоге есть пустой файл ~/.hushlogin.
KILLCHAR 025 - символ KILL у терминала (025 = CTRL/U).
LOG_OK_LOGINS no - включает протоколирование успешных входов.
LOG_UNKFAIL_ENAB no - включает отображение неизвестных имён пользователей при протоколирвании отказов входа. Неизвестные имена могут содержать пароли пользователей, если пользователь по ошибке введёт пароль вместо имени.
LOGIN_RETRIES 5 - максимальное количество попыток входа при вводе неверного пароля.
LOGIN_TIMEOUT 60 - максимальное время в секундах, отведённое на вход.
MAIL_DIR /var/mail - место расположения файлов почты пользователей.
MAIL_FILE .mail - место расположения файла почты пользователя относительно каталога определённого параметром MAIL_DIR.
MAX_MEMBERS_PER_GROUP no - максимальное количество участников для каждой записи группы, по достижении максимума открывается новая запись с теми же именем группы, паролем и GID.
MD5_CRYPT_ENAB no - включает шифрование пароля по алгоритму на основе MD5,
по умолчанию no. Используется только для шифрования паролей групп.
PASS_MAX_DAYS 99999 - максимальное число дней использования пароля, если значение не задано, то предполагается значение -1 (то есть возможность ограничения не используется).
PASS_MIN_DAYS 0 - максимальное число дней между изменениями пароля, если значение не задано, то предполагается значение -1 (то есть возможность ограничения не используется).
PASS_WARN_AGE 7 - число дней за которое начнёт выдаваться предупреждение об устаревании пароля, если значение равно 0, то предупреждение выдаётся в день устаревания, если значение не задано или оно отрицательное - предупреждение не выдаётся.
SHA_CRYPT_MIN_ROUNDS 5000 - минимальное количество раундов SHA при шифровании пароля при использовании метода SHA256 или SHA512. Используется только для шифрования паролей групп.
SHA_CRYPT_MAX_ROUNDS 5000 - максимальное количество раундов SHA при шифровании пароля при использовании метода SHA256 или SHA512. Используется только для паролей групп.
SULOG_FILE /var/log/sulog - включает протоколирования действий команды su и определяет имя файла журнала /var/log/sulog.
SU_NAME su - определяет имя команды su при выводе. Например, если значение равно su, то команда ps покажет команду как -su. Если не определена, то команда ps покажет имя запускаемой оболочки например как -sh.
SYS_GID_MIN 100 - первое значение диапазона для автоматического присвоения номера системного GID командами useradd, groupadd и newusers.
SYS_GID_MAX 999 - последнее значение диапазона для автоматического присвоения номера системного GID командами useradd, groupadd и newusers.
SYS_UID_MIN 100 - первое значение диапазона для автоматического присвоения номера системного UID командами useradd и newusers.
SYS_UID_MAX 999 - последнее значение диапазона для автоматического присвоения номера системного UID командами useradd и newusers.
SYSLOG_SG_ENAB yes - включает протоколирование команды sg.
SYSLOG_SU_ENAB yes - включает протоколирование команды su.
TTYGROUP tty - при подключении терминала tty он входит в группу TTYGROUP.
TTYPERM 0600 - права терминалу tty присваиваются в соответствии со значением TTYPERM.
TTYTYPE_FILE /etc/ttytype - определяет имя файла, в котором описано соответствие между линией tty и параметром окружения $TERM. Каждая строка файла имеет формат вида «vt100 tty01».
UID_MIN 1000 - первое значение диапазона для автоматического присвоения номера пользовательского UID командами useradd и newusers.
UID_MAX 60000 - последнее значение диапазона для автоматического присвоения номера пользовательского UID командами useradd и newusers.
UMASK 022 - задаёт начальное значение маски доступа для создаваемых файлов.
USERDEL_CMD /usr/sbin/userdel_local - определяет программу, которая будет запущена при удалении пользователя, она должна удалить все задания at/cron/печати удаляемого пользователя (передаётся в качестве первого аргумента).
USERGROUPS_ENAB yes - если значение равно yes, то userdel удаляет пользовательскую группу, если в ней нет больше членов, а useradd по умолчанию создаёт группу с именем пользователя.
/etc/pam.d - ____
___
___ - ____
/etc/passwd - список пользователей
Просматривается и редактируется любым текстовым редактором или командой vipw с правами root-а.
Каждая строка представляет одного пользователя и состоит из семи полей разделённых двоеточием.
x - пароль пользователя (password), находится в зашифрованном виде в файле /etc/shadow
1111 - идентификатор пользователя (UID)
2222 - идентификатор (первичной) группы (GID), одна из записей файла /etc/group
userinfo - информация о пользователе (GECOS), может содержать запятые
/home/username - домашний каталог пользователя
/bin/sh - оболочка пользователя
/etc/shadow - зашифрованный список паролей пользователей
Просматривается любым текстовым редактором с правами root-а.
Редактируется командой vipw -s.
Отдельные данные изменяются командой passwd.
Каждая строка представляет одного пользователя и состоит из девяти полей разделённых двоеточием.
$BASH_VERSINFO[n] - массив, состоящий из 6 элементов, содержащий информацию о версии bash
$BASH_VERSION - версия bash, установленного в системе
$DIRSTACK - содержимое вершину стека каталогов, соответствует команде dirs
$EDITOR - заданный по умолчанию редактор
$EUID - «эффективный» идентификационный номер пользователя (Effective User ID)
$FUNCNAME - имя текущей функции
$GLOBIGNORE - перечень шаблонных символов, которые будут проигнорированы при выполнении подстановки имен файлов (globbing)
$GROUPS - группы, к которым принадлежит текущий пользователь
$HOME - домашний каталог пользователя
$HOSTNAME - сетевое имя хоста
$HOSTTYPE - тип машины (идентифицирует аппаратную архитектуру)
$HZ
$IFS - разделитель полей во вводимой строке
$LC_COLLATE - задает порядок сортировки символов, в операциях подстановки имен файлов и в поиске по шаблону
$LC_CTYPE - определяет кодировку символов
$LINENO - номер строки исполняемого сценария
$MACHTYPE - аппаратная архитектура
$OLDPWD - прежний рабочий каталог
$OSTYPE - тип операционной системы
$PATH - командный путь: перечень системных каталогов, в которых оболочка ищет команду.
$PIPESTATUS - код возврата канала (конвейера)
$PPID - PID (идентификатор) родительского процесса
$PS1 - приглашение командной строки
$PS2 - вторичное приглашение командной строки, выводится тогда, когда от пользователя ожидается дополнительный ввод (обычно отображается как ">")
$PS3 - третичное приглашение, выводится, когда пользователь должен сделать выбор в операторе select
$PS4 - приглашение четвёртого уровня, выводится (в изменённом виде) в начале каждой строки отладочного вывода тогда, когда сценарий вызывается с ключом -x (обычно отображается как "+", "++" и т.д.)
$PWD - текущий каталог
$REPLY - переменная по умолчанию, куда записывается ввод пользователя, выполненный с помощью команды read
$SECONDS - время работы сценария (в секундах)
$SHELL - оболочка пользователя.
$SHELLOPTS - список допустимых опций интерпретатора (доступна только для чтения)
$SHLVL - уровень вложенности оболочки
$SUPATH - командный путь суперпользователя: перечень системных каталогов, в которых оболочка ищет команду.
/bin - готовые к запуску программы (бинарные и сценарии) /boot - файлы загузчика ядра, может содержать файлы ядра Linux
/boot/wmlinuz - файлы ядра Linux
/dev - файлы устройств /etc - центральный каталог системной конфигурации
/etc/skel - файлы профиля нового пользователя
/home - содержит каталоги пользователей /lib - библиотека файлов с программным кодом для совместного использования
/lib/modules - загружаемые модули ядра
/media - основная точка подключения для флеш-накопителей /opt - файлы дополнительного ПО сторонних разрботчиков /proc - файлы с информацией о запущенных процессах /sbin - системные исполняемые файлы /temp - хранилище временных файлы (обычно очищается при запуске системы) /usr - основная часть системы Linux
/usr/bin - готовые к запуску программы (бинарные и сценарии) /usr/include - заголовочные файлы для компилятора С++ /usr/info - файлы руководства в формате info /usr/lib - библиотека файлов с программным кодом статические и для совместного использования /usr/local - каталог для установки администратором собственного ПО, стурктура должна соответствовать каталогам / и /usr
/usr/local/bin - готовые к запуску программы (бинарные и сценарии) /usr/local/etc - часть системы Linux
/usr/local/include - заголовочные файлы для компилятора С++ /usr/local/lib - библиотека файлов с программным кодом статические и для совместного использования /usr/local/man - файлы руководства /usr/local/sbin - системные исполняемые файлы
/usr/man - файлы руководства /usr/sbin - системные исполняемые файлы /usr/share - файлы, которые должны работать в других системах UNIX без потери функциональности
/usr/share/info - файлы руководства в формате info /usr/share/man - файлы руководства
/var - хранилище информации выполняемых команд, файлов системного журнала и другие файлы создаваемые системными командами
* - выбирает все файлы и каталоги, кроме файлов и каталогов, имена которых начинаются с точки.
.* - выбирает все файлы и каталоги, имена которых начинаются с точки, а также дескрипторы текущего (.) и родительского (..) каталогов.
.[!.]* - выбирает все файлы и каталоги, имена которых начинаются с точки, исключая дескрипторы текущего (.) и родительского (..) каталогов.
? - подставляет один произвольный символ.
'wildcard' - запрещает разворачивать джокерный символ wildcard.
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ
. - один любой символ, но в некоторых реализациях исключая символ новой строки.
[\s\S] - все пробельные и непробельные символы, включая символ новой строки.
? - повторение: ноль или одно.
{0,1} - повторение: ноль или одно.
* - повторение: ноль или более.
{0,} - повторение: ноль или более.
+ - повторение: один или более.
{1,} - повторение: один или более.