Альт Сервер 9.2. Руководство пользователя (2021 год) - часть 20

 

  Главная      Книги - Разные     Альт Сервер 9.2. Руководство пользователя (2021 год)

 

поиск по сайту            правообладателям  

 

   

 

   

 

содержание      ..     18      19      20      21     ..

 

 

 

Альт Сервер 9.2. Руководство пользователя (2021 год) - часть 20

 

 

Синтаксис

cd

 [-L|-P] [

КАТАЛОГ

]

Если

 

в

 

качестве

 

аргумента

 

задано

 «-», 

то

 

это

 

эквивалентно

 

$OLDPWD

Если

 

переход

 

был

осуществлен

 

по

 

переменной

 

окружения

 

$CDPATH

 

или

 

в

 

качестве

 

аргумента

 

был

 

задан

«-» 

и

 

смена

 

каталога

 

была

 

успешной

то

 

абсолютный

 

путь

 

нового

 

рабочего

 

каталога

будет

 

выведен

 

на

 

стандартный

 

вывод

Пример

Находясь

 

в

 

домашнем

 

каталоге

 

перейти

 

в

 

его

 

подкаталог

 

docs/

(

относительный

 

путь

): 

cd

 docs/

Сделать

 

текущим

 

каталог

 

/usr/bin

 (

абсолютный

 

путь

): 

cd

 /usr/bin/

Сделать

 

текущим

 

родительский

 

каталог

cd

 ..

Вернуться

 

в

 

предыдущий

 

каталог

cd

 -

Сделать

 

текущим

 

домашний

 

каталог

cd

Команда

 

pwd

Команда

 

pwd

 

выводит

 

абсолютный

 

путь

 

текущего

 (

рабочего

каталога

Синтаксис

pwd

 [-L|-P]

Опции

-P

 не

 

выводить

 

символические

 

ссылки

-L

 выводить

 

символические

 

ссылки

Команда

 

rm

Команда

 

rm

 

служит

 

для удаления

 

записей

 

о

 

файлах

Если

 

заданное

 

имя

 

было

последней

 

ссылкой

 

на

 

файл

то

 

файл

 

уничтожается

Предупреждение

Удалив

 

файл

вы

 

не

 

сможете

 

его

 

восстановить

Синтаксис

rm

 

[

ОПЦИИ

...]

 <

ФАЙЛ

>

Основные

 

опции

-f

  никогда

 

не

 

запрашивать

 

подтверждения

-i

  всегда

 

запрашивать

 

подтверждение

-r, -R

 рекурсивно

 

удалять

 

содержимое

 

указанных

 

каталогов

Пример

Удалить

 

все

 

файлы

 

html

 

в

 

каталоге

 

~/html

rm

 

-i

 ~/html/*.html

Команда

 

mkdir

mkdir

 команда

 

для

 

создания

 

новых

 

каталогов

Синтаксис

mkdir

 [-p] [-m 

права

] <

КАТАЛОГ

...>

Команда

 

rmdir

Команда

 

rmdir

 

удаляет

 

каталоги

 

из

 

файловой

 

системы

Каталог

 

должен

 

быть

 

пуст

 

перед

удалением

Синтаксис

rmdir

 [

ОПЦИИ

] <

КАТАЛОГ

...>

Основные

 

опции

-p

 удалить

 

каталог

 

и

 

его

 

потомки

Команда

 

rmdir

 

часто

 

заменяется

 

командой

 

rm -rf

которая

 

позволяет

 

удалять

каталоги

даже

 

если

 

они

 

не

 

пусты

Команда

 

cp

Команда

 

cp

 

предназначена

 

для

 

копирования

 

файлов

 

из

 

одного

 

в

 

другие

 

каталоги

Синтаксис

cp

 [-fip] [

ИСХ

_

ФАЙЛ

...] [

ЦЕЛ

_

ФАЙЛ

...]

cp

 [-fip] [

ИСХ

_

ФАЙЛ

...] [

КАТАЛОГ

]

cp

 [-R] [[-H] | [-L] | [-P]] [-fip] [

ИСХ

_

ФАЙЛ

...] [

КАТАЛОГ

]

Основные

 

опции

-p

 сохранять

 

по

 

возможности

 

времена

 

изменения

 

и

 

доступа

 

к

 

файлу

владельца

 

и

группу

права

 

доступа

-i

 запрашивать

 

подтверждение

 

перед

 

копированием

 

в

 

существующие

 

файлы

-r, -R

 рекурсивно

 

копировать

 

содержимое

 

каталогов

Команда

 

mv

Команда

 

mv

 

предназначена

 

для

 

перемещения

 

файлов

Синтаксис

mv

 [-fi] [

ИСХ

_

ФАЙЛ

...] [

ЦЕЛ

_

ФАЙЛ

...]

mv

 [-fi] [

ИСХ

_

ФАЙЛ

...] [

КАТАЛОГ

]

В

 

первой

 

синтаксической

 

форме

характеризующейся

 

тем

что

 

последний

 

операнд

 

не

является

 

ни

 

каталогом

ни

 

символической

 

ссылкой

 

на

 

каталог

mv

 

перемещает

 

исх

_

файл

в

 

цел

_

файл

 (

происходит

 

переименование

 

файла

). 

Во

 

второй

 

синтаксической

 

форме

 

mv

 

перемещает

 

исходные

 

файлы

 

в

 

указанный

 

каталог

под

 

именами

совпадающими

 

с

 

краткими

 

именами

 

исходных

 

файлов

Основные

 

опции

-f

 не

 

запрашивать

 

подтверждения

 

перезаписи

 

существующих

 

файлов

-i

 запрашивать

 

подтверждение

 

перезаписи

 

существующих

 

файлов

Команда

 

cat

Команда

 

cat

 

последовательно

 

выводит

 

содержимое

 

файлов

Синтаксис

cat

 [

ОПЦИИ

] [

ФАЙЛ

...]

Основные

 

опции

-n, --number

 нумеровать

 

все

 

строки

 

при

 

выводе

-E, --show-ends

 показывать

 $ 

в

 

конце

 

каждой

 

строки

Если

 

файл

 

не

 

указан

читается

 

стандартный

 

ввод

Если

 

в

 

списке

 

файлов

 

присутствует

имя

 «-», 

вместо

 

этого

 

файла

 

читается

 

стандартный

 

ввод

Команда

 

head

Команда

 

head

 

выводит

 

первые

 10 

строк

 

каждого

 

файла

 

на

 

стандартный

 

вывод

Синтаксис

head

 [

ОПЦИИ

] [

ФАЙЛ

...]

Основные

 

опции

-n, --lines=[-]K

 вывести

 

первые

 

К

 

строк

 

каждого

 

файла

а

 

не

 

первые

 10; 

-q, --quiet

 не

 

печатать

 

заголовки

 

с

 

именами

 

файлов

Команда

 

less

Команда

 

less

 

позволяет

 

постранично

 

просматривать

 

текст

 (

для

 

выхода

 

необходимо

нажать

 

q

). 

Синтаксис

less

 

ФАЙЛ

Команда

 

grep

Команда

 

grep

 

имеет

 

много

 

опций

 

и

 

предоставляет

 

возможности

 

поиска

 

символьной

строки

 

в

 

файле

Синтаксис

grep

 [

шаблон

_

поиска

ФАЙЛ

Команда

 

chmod

Команда

 

chmod

 

предназначена

 

для

 

изменения

 

прав

 

доступа

 

файлов

 

и

 

каталогов

Синтаксис

chmod

 [

ОПЦИИ

РЕЖИМ

[,

РЕЖИМ

]... <

ФАЙЛ

>

chmod

 [

ОПЦИИ

] --reference=

ИФАЙЛ

 <

ФАЙЛ

>

Основные

 

опции

-R

 рекурсивно

 

изменять

 

режим

 

доступа

 

к

 

файлам

расположенным

 

в

 

указанных

каталогах

--reference=

ИФАЙЛ

 использовать

 

режим

 

файла

 

ИФАЙЛ

chmod

 

изменяет

 

права

 

доступа

 

каждого

 

указанного

 

файла

 

в

 

соответствии

 

с

 

правами

доступа

указанными

 

в

 

параметре

 

режим

который

 

может

 

быть

 

представлен

 

как

 

в

символьном

 

виде

так

 

и

 

в

 

виде

 

восьмеричного

представляющего

 

битовую

 

маску

 

новых

прав

 

доступа

Формат

 

символьного

 

режима

 

следующий

[ugoa...][[+-=][

разрешения

...]...]

Здесь

 

разрешения 

 это

 

ноль

 

или

 

более

 

букв

 

из

 

набора

 «rwxXst» 

или

 

одна

 

из

 

букв

 

из

набора

 «ugo». 

Каждый

 

аргумент 

 это

 

список

 

символьных

 

команд

 

изменения

 

прав

 

доступа

разделены

запятыми

Каждая

 

такая

 

команда

 

начинается

 

с

 

нуля

 

или

 

более

 

букв

 «ugoa», 

комбинация

которых

 

указывает

чьи

 

права

 

доступа

 

к

 

файлу

 

будут

 

изменены

пользователя

,

владеющего

 

файлом

 (u), 

пользователей

входящих

 

в

 

группу

к

 

которой

 

принадлежит

файл

 (g), 

остальных

 

пользователей

 (o) 

или

 

всех

 

пользователей

 (a). 

Если

 

не

 

задана

 

ни

одна

 

буква

то

 

автоматически

 

будет

 

использована

 

буква

 «a», 

но

 

биты

установленные

 

в

umask, 

не

 

будут

 

затронуты

Оператор

 «+» 

добавляет

 

выбранные

 

права

 

доступа

 

к

 

уже

 

имеющимся

 

у

 

каждого

 

файла

,

«-» 

удаляет

 

эти

 

права

. «=» 

присваивает

 

только

 

эти

 

права

 

каждому

 

указанному

 

файлу

Буквы

 «rwxXst» 

задают

 

биты

 

доступа

 

для

 

пользователей

: «r»

 чтение

, «w»

 запись

,

«x»

 выполнение

 (

или

 

поиск

 

для

 

каталогов

), «X»

 выполнение

/

поиск

 

только

 

если

 

это

каталог

 

или

 

же

 

файл

 

с

 

уже

 

установленным

 

битом

 

выполнения

, «s»

 задать

 ID

пользователя

 

и

 

группы

 

при

 

выполнении

, «t»

 запрет

 

удаления

Примеры

Позволить

 

всем

 

выполнять

 

файл

 

f2

chmod

 +x f2

Запретить

 

удаление

 

файла

 

f3

chmod

 +t f3

Команда

 

chown

Команда

 

chown

 

изменяет

 

владельца

 

и

/

или

 

группу

 

для

 

каждого

 

заданного

 

файла

Синтаксис

chown

 [

КЛЮЧ

]…[

ВЛАДЕЛЕЦ

][:[

ГРУППА

]] <

ФАЙЛ

>

Изменить

 

владельца

 

может

 

только

 

владелец

 

файла

 

или

 

суперпользователь

Владелец

не

 

изменяется

если

 

он

 

не

 

задан

 

в

 

аргументе

Группа

 

также

 

не

 

изменяется

если

 

не

задана

но

 

если

 

после

 

символьного

 

ВЛАДЕЛЬЦА

 

стоит

 

символ

 «:», 

подразумевается

изменение

 

группы

 

на

 

основную

 

группу

 

текущего

 

пользователя

Поля

 

ВЛАДЕЛЕЦ

 

и

ГРУППА

 

могут

 

быть

 

как

 

числовыми

так

 

и

 

символьными

Примеры

Поменять

 

владельца

 

каталога

 

/u

 

на

 

пользователя

 test: 

chown

 test /u

Поменять

 

владельца

 

и

 

группу

 

каталога

 

/u

chown

 test:staff /u

Поменять

 

владельца

 

каталога

 

/u

 

и

 

вложенных

 

файлов

 

на

 test: 

chown

 -hR test /u

Поиск

 

файлов

Команда

 

find

Команда

 

find

 

предназначена

 

для

 

поиска

 

всех

 

файлов

начиная

 

с

 

корневого

 

каталога

.

Поиск

 

может

 

осуществляться

 

по

 

имени

типу

 

или

 

владельцу

 

файла

Синтаксис

find

 [-H] [-L] [-P] [-O

уровень

] [-D help|tree|search|stat|rates|opt|

exec] [

ПУТЬ

…] [

ВЫРАЖЕНИЕ

]

Ключи

 

для

 

поиска

-name

 поиск

 

по

 

имени

 

файла

-type

 поиск

 

по

 

типу

 f=

файл

, d=

каталог

, l=

ссылка

(lnk); 

-user

 поиск

 

по

 

владельцу

 (

имя

 

или

 UID). 

Когда

 

выполняется

 

команда

 

find

можно

 

выполнять

 

различные

 

действия

 

над

найденными

 

файлами

Основные

 

действия

-exec 

команда

 \;

 выполнить

 

команду

Запись

 

команды

 

должна

 

заканчиваться

экранированной

 

точкой

 

с

 

запятой

Строка

 «{}» 

заменяется

 

текущим

 

маршрутным

именем

 

файла

execdir 

команда

 \;

 то

 

же

 

самое

 

что

 

и

 

-exec

но

 

команда

 

вызывается

 

из

подкаталога

содержащего

 

текущий

 

файл

-ok 

команда

 эквивалентно

 

-exec

 

за

 

исключением

 

того

что

 

перед

 

выполнением

команды

 

запрашивается

 

подтверждение

 (

в

 

виде

 

сгенерированной

 

командной

 

строки

со

 

знаком

 

вопроса

 

в

 

конце

и

 

она

 

выполняется

 

только

 

при

 

ответе

: y; 

-print

 вывод

 

имени

 

файла

 

на

 

экран

Путем

 

по

 

умолчанию

 

является

 

текущий

 

подкаталог

Выражение

 

по

 

умолчанию

 

-print

Примеры

Найти

 

в

 

текущем

 

каталоге

 

обычные

 

файлы

 (

не

 

каталоги

), 

имя

 

которых

начинается

 

с

 

символа

 «~»: 

find

 . -type f -name "~*" -print

Найти

 

в

 

текущем

 

каталоге

 

файлы

измененные

 

позже

чем

 

файл

 

file.bak

find

 . -newer file.bak -type f -print

Удалить

 

все

 

файлы

 

с

 

именами

 

a.out

 

или

 

*.o

доступ

 

к

 

которым

 

не

 

производился

 

в

течение

 

недели

find

 / \( -name a.out -o -name '*.o' \) \ -atime +7 -exec rm {} \;

Удалить

 

из

 

текущего

 

каталога

 

и

 

его

 

подкаталогов

 

все

 

файлы

 

нулевого

 

размера

,

запрашивая

 

подтверждение

find

 . -size 0c -ok rm {} \;

Команда

 

whereis

whereis

 

сообщает

 

путь

 

к

 

исполняемому

 

файлу

 

программы

ее

 

исходным

 

файлам

 (

если

есть

и

 

соответствующим

 

страницам

 

справочного

 

руководства

Синтаксис

whereis

 [

ОПЦИИ

] <

ИМЯ

>

Опции

-b

 вывод

 

информации

 

только

 

об

 

исполняемых

 

файлах

-m

 вывод

 

информации

 

только

 

о

 

страницах

 

справочного

 

руководства

-s

 вывод

 

информации

 

только

 

об

 

исходных

 

файлах

Мониторинг

 

и

 

управление

 

процессами

Команда

 

ps

Команда

 

ps

 

отображает

 

список

 

текущих

 

процессов

Синтаксис

ps

 [

ОПЦИИ

]

По

 

умолчанию

 

выводится

 

информация

 

о

 

процессах

 

с

 

теми

 

же

 

действующим

 UID 

и

управляющим

 

терминалом

что

 

и

 

у

 

подающего

 

команду

 

пользователя

Основные

 

опции

-a

 вывести

 

информацию

 

о

 

процессах

ассоциированных

 

с

 

терминалами

-f

 вывести

 «

полный

» 

список

-l

 вывести

 «

длинный

» 

список

-p 

список

  

 вывести

 

информацию

 

о

 

процессах

 

с

 

перечисленными

 

в

 

списке

 PID; 

-u 

список

 вывести

 

информацию

 

о

 

процессах

 

с

 

перечисленными

идентификаторами

 

или

 

именами

 

пользователей

Команда

 

kill

Команда

 

kill

 

позволяет

 

прекратить

 

исполнение

 

процесса

 

или

 

передать

 

ему

 

сигнал

Синтаксис

kill

 [-s] [

сигнал

] [

идентификатор

] [...]

kill

 [-l] [

статус

_

завершения

]

kill

 [-

номер

_

сигнала

] [

идентификатор

] [...]

Идентификатор 

PID 

ведущего

 

процесса

 

задания

 

или

 

номер

 

задания

предварённый

знаком

 «%». 

Основные

 

опции

-l

 вывести

 

список

 

поддерживаемых

 

сигналов

-s 

сигнал

, -

сигнал

 послать

 

сигнал

 

с

 

указанным

 

именем

Если

 

обычная

 

команда

 

kill

 

не

 

дает

 

желательного

 

эффекта

необходимо

 

использовать

команду

 

kill

 

с

 

параметром

 

-9

 (

kill

 

-9

 PID_

номер

). 

Команда

 

df

Команда

 

df

 

показывает

 

количество

 

доступного

 

дискового

 

пространства

 

в

 

файловой

системе

в

 

которой

 

содержится

 

файл

переданный

 

как

 

аргумент

Если

 

ни

 

один

 

файл

 

не

указан

показывается

 

доступное

 

место

 

на

 

всех

 

смонтированных

 

файловых

 

системах

.

Размеры

 

по

 

умолчанию

 

указаны

 

в

 

блоках

 

по

 1

КБ

Синтаксис

df

 [

ОПЦИИ

] [

ФАЙЛ

...]

Основные

 

опции

--total

 подсчитать

 

общий

 

объем

 

в

 

конце

-h, --human-readable

 печатать

 

размеры

 

в

 

удобочитаемом

 

формате

 (

например

,

1K, 234M, 2G). 

Команда

 

du

Команда

 

du

 

подсчитывает

 

использование

 

диска

 

каждым

 

файлом

для

 

каталогов

 

подсчет

происходит

 

рекурсивно

Синтаксис

du

 [

ОПЦИИ

] [

ФАЙЛ

...]

Основные

 

опции

-a, --all

 выводить

 

общую

 

сумму

 

для

 

каждого

 

заданного

 

файла

а

 

не

 

только

 

для

каталогов

-c, --total

 подсчитать

 

общий

 

объем

 

в

 

конце

Может

 

быть

 

использовано

 

для

выяснения

 

суммарного

 

использования

 

дискового

 

пространства

 

для

 

всего

 

списка

заданных

 

файлов

-d, --max-depth=N

 выводить

 

объем

 

для

 

каталога

 (

или

 

файлов

если

 

указано

 

--

all

только

 

если

 

она

 

на

 N 

или

 

менее

 

уровней

 

ниже

 

аргументов

 

командной

 

строки

-S, --separate-dirs

 выдавать

 

отдельно

 

размер

 

каждого

 

каталога

не

 

включая

размеры

 

подкаталогов

-s, --summarize

 отобразить

 

только

 

сумму

 

для

 

каждого

 

аргумента

Команда

 

which

Команда

 

which

 

отображает

 

полный

 

путь

 

к

 

указанным

 

командам

 

или

 

сценариям

Синтаксис

which

 [

ОПЦИИ

] <

ФАЙЛ

...>

Основные

 

опции

-a, --all

 выводит

 

все

 

совпавшие

 

исполняемые

 

файлы

 

по

 

содержимому

 

в

переменной

 

окружения

 

$PATH

а

 

не

 

только

 

первый

 

из

 

них

-c, --total

 подсчитать

 

общий

 

объем

 

в

 

конце

Может

 

быть

 

использовано

 

для

выяснения

 

суммарного

 

использования

 

дискового

 

пространства

 

для

 

всего

 

списка

заданных

 

файлов

-d, --max-depth=N

 выводить

 

объем

 

для

 

каталога

 (

или

 

файлов

если

 

указано

 

--

all

только

 

если

 

она

 

на

 N 

или

 

менее

 

уровней

 

ниже

 

аргументов

 

командной

 

строки

-S, --separate-dirs

 выдавать

 

отдельно

 

размер

 

каждого

 

каталога

не

 

включая

размеры

 

подкаталогов

--skip-dot

 пропускает

 

все

 

каталоги

 

из

 

переменной

 

окружения

 

$PATH

которые

начинаются

 

с

 

точки

Использование

 

многозадачности

Альт Сервер 

 это

 

многозадачная

 

система

Для

 

того

чтобы

 

запустить

 

программу

 

в

 

фоновом

 

режиме

необходимо

 

набрать

 «

&

» 

после

 

имени

программы

После

 

этого

 

оболочка

 

даст

 

возможность

 

запускать

 

другие

 

приложения

Так

 

как

 

некоторые

 

программы

 

интерактивны 

 их

 

запуск

 

в

 

фоновом

 

режиме

 

бессмысленен

.

Подобные

 

программы

 

просто

 

остановятся

если

 

их

 

запустить

 

в

 

фоновом

 

режиме

Можно

 

также

 

запускать

 

нескольких

 

независимых

 

сеансов

Для

 

этого

 

в

 

консоли

 

необходимо

набрать

 

Alt

 

и

 

одну

 

из

 

клавиш

находящихся

 

в

 

интервале

 

от

 

F1

 

до

 

F6

На

 

экране

 

появится

 

новое

приглашение

 

системы

и

 

можно

 

открыть

 

новый

 

сеанс

Этот

 

метод

 

также

 

позволяет

 

вам

 

работать

на

 

другой

 

консоли

если

 

консоль

которую

 

вы

 

использовали

 

до

 

этого

не

 

отвечает

 

или

 

вам

необходимо

 

остановить

 

зависшую

 

программу

Команда

 

bg

Команда

 

bg

 

позволяет

 

перевести

 

задание

 

на

 

задний

 

план

Синтаксис

bg

 [

ИДЕНТИФИКАТОР

 ...]

Идентификатор 

PID 

ведущего

 

процесса

 

задания

 

или

 

номер

 

задания

предварённый

знаком

 «%». 

Команда

 

fg

Команда

 

fg

 

позволяет

 

перевести

 

задание

 

на

 

передний

 

план

Синтаксис

fg

 [

ИДЕНТИФИКАТОР

 ...]

Идентификатор 

PID 

ведущего

 

процесса

 

задания

 

или

 

номер

 

задания

предварённый

знаком

 «%». 

Сжатие

 

и

 

упаковка

 

файлов

Команда

 

tar

Сжатие

 

и

 

упаковка

 

файлов

 

выполняется

 

с

 

помощью

 

команды

 

tar

которая

 

преобразует

файл

 

или

 

группу

 

файлов

 

в

 

архив

 

без

 

сжатия

 (tarfile). 

Упаковка

 

файлов

 

в

 

архив

 

чаще

 

всего

 

выполняется

 

следующей

 

командой

tar

 -cf [

имя

 

создаваемого

 

файла

 

архива

] [

упаковываемые

 

файлы

 

и

/

или

 

каталоги

]

Пример

 

использования

 

команды

 

упаковки

 

архива

tar

 -cf moi_dokumenti.tar Docs project.tex

Распаковка

 

содержимого

 

архива

 

в

 

текущий

 

каталог

 

выполняется

 

командой

tar

 -xf [

имя

 

файла

 

архива

]

Для

 

сжатия

 

файлов

 

используются

 

специальные

 

программы

 

сжатия

gzip

bzip2

 

и

 

7z

62.3. 

Стыкование

 

команд

 

в

 

системе

 Linux

62.3.1. 

Стандартный

 

ввод

 

и

 

стандартный

 

вывод

Многие

 

команды

 

системы

 

имеют

 

так

 

называемые

 

стандартный

 

ввод

 (standard input) 

и

стандартный

 

вывод

 (standard output), 

часто

 

сокращаемые

 

до

 stdin 

и

 stdout. 

Ввод

 

и

 

вывод

 

здесь 

 это

 

входная

 

и

 

выходная

 

информация

 

для

 

данной

 

команды

Программная

 

оболочка

 

делает

так

что

 

стандартным

 

вводом

 

является

 

клавиатура

а

 

стандартным

 

выводом 

 экран

 

монитора

Пример

 

с

 

использованием

 

команды

 

cat

По

 

умолчанию

 

команда

 

cat

 

читает

 

данные

 

из

 

всех

файлов

которые

 

указаны

 

в

 

командной

 

строке

и

 

посылает

 

эту

 

информацию

 

непосредственно

 

в

стандартный

 

вывод

 (stdout). 

Следовательно

команда

cat

 history-final masters-thesis

выведет

 

на

 

экран

 

сначала

 

содержимое

 

файла

 

history-final

а

 

затем 

 файла

 

masters-

thesis

Если

 

имя

 

файла

 

не

 

указано

программа

 

cat

 

читает

 

входные

 

данные

 

из

 stdin 

и

 

возвращает

 

их

 

в

stdout. 

Пример

cat

Hello there.
Hello there.
Bye.
Bye.
Ctrl-D

Каждую

 

строку

вводимую

 

с

 

клавиатуры

программа

 

cat

 

немедленно

 

возвращает

 

на

 

экран

При

вводе

 

информации

 

со

 

стандартного

 

ввода

 

конец

 

текста

 

сигнализируется

 

вводом

 

специальной

комбинации

 

клавиш

как

 

правило

Ctrl

+

D

Сокращённое

 

название

 

сигнала

 

конца

 

текста 

EOT

(end of text). 

62.3.2. 

Перенаправление

 

ввода

 

и

 

вывода

При

 

необходимости

 

можно

 

перенаправить

 

стандартный

 

вывод

используя

 

символ

 >, 

и

стандартный

 

ввод

используя

 

символ

 <. 

Фильтр

 (filter)

 программа

которая

 

читает

 

данные

 

из

 

стандартного

 

ввода

некоторым

 

образом

их

 

обрабатывает

 

и

 

результат

 

направляет

 

на

 

стандартный

 

вывод

Когда

 

применяется

перенаправление

в

 

качестве

 

стандартного

 

ввода

 

и

 

вывода

 

могут

 

выступать

 

файлы

Как

указывалось

 

выше

по

 

умолчанию

, stdin 

и

 stdout 

относятся

 

к

 

клавиатуре

 

и

 

к

 

экрану

соответственно

Программа

 

sort

 

является

 

простым

 

фильтром 

 она

 

сортирует

 

входные

 

данные

и

 

посылает

 

результат

 

на

 

стандартный

 

вывод

Совсем

 

простым

 

фильтром

 

является

 

программа

 

ca

t

 она

 

ничего

 

не

 

делает

 

с

 

входными

 

данными

а

 

просто

 

пересылает

 

их

 

на

 

выход

62.3.3. 

Использование

 

состыкованных

 

команд

Стыковку

 

команд

 (pipelines) 

осуществляет

 

командная

 

оболочка

которая

 stdout 

первой

 

команды

направляет

 

на

 stdin 

второй

 

команды

Для

 

стыковки

 

используется

 

символ

 |. 

Направить

 stdout

команды

 

ls

 

на

 stdin 

команды

 

sort

ls

 | 

sort

 -r

notes
masters-thesis
history-final
english-list

Вывод

 

списка

 

файлов

 

частями

ls

 /usr/bin | 

more

Если

 

необходимо

 

вывести

 

на

 

экран

 

последнее

 

по

 

алфавиту

 

имя

 

файла

 

в

 

текущем

 

каталоге

,

можно

 

использовать

 

следующую

 

команду

ls

 | 

sort

 -r | 

head

 -1 notes

где

 

команда

 

head -1

 

выводит

 

на

 

экран

 

первую

 

строку

 

получаемого

 

ей

 

входного

 

потока

 

строк

 (

в

примере

 

поток

 

состоит

 

из

 

данных

 

от

 

команды

 

ls

), 

отсортированных

 

в

 

обратном

 

алфавитном

порядке

62.3.4. 

Недеструктивное

 

перенаправление

 

вывода

Эффект

 

от

 

использования

 

символа

 > 

для

 

перенаправления

 

вывода

 

файла

 

является

деструктивным

т

.

е

команда

 

ls

 > file-list

уничтожит

 

содержимое

 

файла

 

file-list

если

 

этот

 

файл

 

ранее

 

существовал

и

 

создаст

 

на

 

его

месте

 

новый

 

файл

Если

 

вместо

 

этого

 

перенаправление

 

будет

 

сделано

 

с

 

помощью

 

символов

 >>,

то

 

вывод

 

будет

 

приписан

 

в

 

конец

 

указанного

 

файла

при

 

этом

 

исходное

 

содержимое

 

файла

 

не

будет

 

уничтожено

Примечание

Перенаправление

 

ввода

 

и

 

вывода

 

и

 

стыкование

 

команд

 

осуществляется

 

командными

оболочками

которые

 

поддерживают

 

использование

 

символов

 >, >> 

и

 |. 

Сами

 

команды

 

не

способны

 

воспринимать

 

и

 

интерпретировать

 

эти

 

символы

Глава

 63. 

Режим

 

суперпользователя

63.1. 

Какие

 

бывают

 

пользователи

?

63.2. 

Для

 

чего

 

может

 

понадобиться

 

режим

 

суперпользователя

?

63.3. 

Как

 

получить

 

права

 

суперпользователя

?

63.4. 

Как

 

перейти

 

в

 

режим

 

суперпользователя

?

63.1. 

Какие

 

бывают

 

пользователи

?

Linux

 система

 

многопользовательская

а

 

потому

 

пользователь 

 ключевое

 

понятие

 

для

организации

 

всей

 

системы

 

доступа

 

в

 Linux. 

Файлы

 

всех

 

пользователей

 

в

 Linux 

хранятся

раздельно

у

 

каждого

 

пользователя

 

есть

 

собственный

 

домашний

 

каталог

в

 

котором

 

он

 

может

хранить

 

свои

 

данные

Доступ

 

других

 

пользователей

 

к

 

домашнему

 

каталогу

 

пользователя

 

может

быть

 

ограничен

Суперпользователь

 

в

 Linux

 это

 

выделенный

 

пользователь

 

системы

на

 

которого

 

не

распространяются

 

ограничения

 

прав

 

доступа

Именно

 

суперпользователь

 

имеет

 

возможность

произвольно

 

изменять

 

владельца

 

и

 

группу

 

файла

Ему

 

открыт

 

доступ

 

на

 

чтение

 

и

 

запись

 

к

любому

 

файлу

 

или

 

каталогу

 

системы

Среди

 

учётных

 

записей

 Linux 

всегда

 

есть

 

учётная

 

запись

 

суперпользователя

 —

root

Поэтому

вместо

 «

суперпользователь

» 

часто

 

говорят

 «root». 

Множество

 

системных

 

файлов

 

принадлежат

 

root

множество

 

файлов

 

только

 

ему

 

доступны

 

для

 

чтения

 

или

 

записи

Пароль

 

этой

 

учётной

записи 

 одна

 

из

 

самых

 

больших

 

драгоценностей

 

системы

Именно

 

с

 

её

 

помощью

 

системные

администраторы

 

выполняют

 

самую

 

ответственную

 

работу

63.2. 

Для

 

чего

 

может

 

понадобиться

 

режим

суперпользователя

?

Системные

 

утилиты

например

такие

как

 

Центр

 

управления

 

системой

 

или

 

Программа

управления

 

пакетами

 Synaptic

 

требуют

 

для

 

своей

 

работы

 

привилегий

 

суперпользователя

,

потому

 

что

 

они

 

вносят

 

изменения

 

в

 

системные

 

файлы

При

 

их

 

запуске

 

выводится

 

диалоговое

окно

 

с

 

запросом

 

пароля

 

системного

 

администратора

63.3. 

Как

 

получить

 

права

 

суперпользователя

?

Для

 

опытных

 

пользователей

умеющих

 

работать

 

с

 

командной

 

строкой

существует

 

два

 

различных

способа

 

получить

 

права

 

суперпользователя

Первый 

 это

 

зарегистрироваться

 

в

 

системе

 

под

 

именем

 

root

Второй

 

способ 

 воспользоваться

 

специальной

 

утилитой

 

su

 (shell of user), 

которая

 

позволяет

выполнить

 

одну

 

или

 

несколько

 

команд

 

от

 

лица

 

другого

 

пользователя

По

 

умолчанию

 

эта

 

утилита

выполняет

 

команду

 

sh

 

от

 

пользователя

 

root

то

 

есть

 

запускает

 

командный

 

интерпретатор

.

Отличие

 

от

 

предыдущего

 

способа

 

в

 

том

что

 

всегда

 

известно

кто

 

именно

 

запускал

 

su

а

 

значит

,

ясно

кто

 

выполнил

 

определённое

 

административное

 

действие

В

 

некоторых

 

случаях

 

удобнее

 

использовать

 

не

 

su

а

 

утилиту

 

sudo

которая

 

позволяет

 

выполнять

только

 

заранее

 

заданные

 

команды

Важно

Для

 

того

 

чтобы

 

воспользоваться

 

командами

 

su

 

и

 

sudo

необходимо

 

быть

 

членом

 

группы

 

wheel

Пользователь

созданный

 

при

 

установке

 

системы

по

 

умолчанию

 

уже

 

включён

 

в

 

эту

группу

В

 

дистрибутивах

 

Альт

 

для

 

управления

 

доступом

 

к

 

важным

 

службам

 

используется

 

подсистема

control. control

 механизм

 

переключения

 

между

 

неким

 

набором

 

фиксированных

 

состояний

 

для

задач

допускающих

 

такой

 

набор

Команда

 

control

 

доступна

 

только

 

для

 

суперпользователя

 (root). 

Для

 

того

чтобы

 

посмотреть

что

означает

 

та

 

или

 

иная

 

политика

 

control

 (

разрешения

 

выполнения

 

конкретной

 

команды

,

управляемой

 

control

), 

надо

 

запустить

 

команду

 

с

 

ключом

 help: 

control su help

Запустив

 

control

 

без

 

параметров

можно

 

увидеть

 

полный

 

список

 

команд

управляемых

командой

 (facilities) 

вместе

 

с

 

их

 

текущим

 

состоянием

 

и

 

набором

 

допустимых

 

состояний

63.4. 

Как

 

перейти

 

в

 

режим

 

суперпользователя

?

Для

 

перехода

 

в

 

режим

 

суперпользователя

 

наберите

 

в

 

терминале

 

команду

 

su -

Если

 

воспользоваться

 

командой

 

su

 

без

 

ключа

то

 

происходит

 

вызов

 

командного

 

интерпретатора

 

с

правами

 

root

При

 

этом

 

значение

 

переменных

 

окружения

в

 

частности

 

$PATH

остаётся

 

таким

же

как

 

у

 

пользователя

в

 

переменной

 

$PATH

 

не

 

окажется

 

каталогов

 

/sbin

/usr/sbin

без

указания

 

полного

 

имени

 

будут

 

недоступны

 

команды

 

route

shutdown

mkswap

 

и

 

другие

Более

того

переменная

 

$HOME

 

будет

 

указывать

 

на

 

каталог

 

пользователя

все

 

программы

запущенные

 

в

режиме

 

суперпользователя

сохранят

 

свои

 

настройки

 

с

 

правами

 

root

 

в

 

каталоге

 

пользователя

,

что

 

в

 

дальнейшем

 

может

 

вызвать

 

проблемы

Чтобы

 

избежать

 

этого

следует

 

использовать

 

su -

В

 

этом

 

режиме

 

su

 

запустит

 

командный

интерпретатор

 

в

 

качестве

 login shell, 

и

 

он

 

будет

 

вести

 

себя

 

в

 

точности

 

так

как

 

если

 

бы

 

в

 

системе

зарегистрировался

 

root

Глава

 64. 

Управление

 

пользователями

64.1. 

Общая

 

информация

64.2. 

Команда

 passwd

64.3. 

Добавления

 

нового

 

пользователя

64.4. 

Модификация

 

пользовательских

 

записей

64.5. 

Удаление

 

пользователей

64.1. 

Общая

 

информация

Пользователи

 

и

 

группы

 

внутри

 

системы

 

обозначаются

 

цифровыми

 

идентификаторами 

UID 

и

 

GID, 

соответственно

Пользователь

 

может

 

входить

 

в

 

одну

 

или

 

несколько

 

групп

По

 

умолчанию

 

он

 

входит

 

в

 

группу

,

совпадающую

 

с

 

его

 

именем

Чтобы

 

узнать

в

 

какие

 

еще

 

группы

 

входит

 

пользователь

введите

команду

 

id

вывод

 

её

 

может

 

быть

 

примерно

 

следующим

uid=500(test) gid=500(test) 

группы

=500(test),16(rpm)

Такая

 

запись

 

означает

что

 

пользователь

 test (

цифровой

 

идентификатор

 500) 

входит

 

в

 

группы

 test

и

 rpm

Разные

 

группы

 

могут

 

иметь

 

разный

 

уровень

 

доступа

 

к

 

тем

 

или

 

иным

 

каталогам

чем

 

в

большее

 

количество

 

групп

 

входит

 

пользователь

тем

 

больше

 

прав

 

он

 

имеет

 

в

 

системе

Примечание

В

 

связи

 

с

 

тем

что

 

большинство

 

привилегированных

 

системных

 

утилит

 

в

 

дистрибутивах

Альт

 

имеют

 

не

 SUID-, 

а

 SGID-

бит

будьте

 

предельно

 

внимательны

 

и

 

осторожны

 

в

переназначении

 

групповых

 

прав

 

на

 

системные

 

каталоги

64.2. 

Команда

 passwd

Команда

 passwd 

поддерживает

 

традиционные

 

опции

 

passwd

 

и

 

утилит

 

shadow

Синтаксис

passwd [

ОПЦИИ

...] 

[

ИМЯ

 

ПОЛЬЗОВАТЕЛЯ

]

Возможные

 

опции

-d

 

--delete

 удалить

 

пароль

 

для

 

указанной

 

записи

-f

--force

 форсировать

 

операцию

-k

--keep-tokens

 сохранить

 

не

 

устаревшие

 

пароли

-l

--lock

 блокировать

 

указанную

 

запись

--stdin

 прочитать

 

новые

 

пароли

 

из

 

стандартного

 

ввода

-S

--status

 дать

 

отчет

 

о

 

статусе

 

пароля

 

в

 

указанной

 

записи

-u

--unlock

 разблокировать

 

указанную

 

запись

-?

--help

 показать

 

справку

 

и

 

выйти

--usage

 дать

 

короткую

 

справку

 

по

 

использованию

-V

--version

 показать

 

версию

 

программы

 

и

 

выйти

Код

 

выхода

при

 

успешном

 

завершении

 

passwd

 

заканчивает

 

работу

 

с

 

кодом

 

выхода

 0

Код

выхода

 1 

означает

что

 

произошла

 

ошибка

Текстовое

 

описание

 

ошибки

 

выводится

 

на

стандартный

 

поток

 

ошибок

Пользователь

 

может

 

в

 

любой

 

момент

 

поменять

 

свой

 

пароль

Единственное

,

что

 

требуется

 

для

смены

 

пароля

 

знать

 

текущий

 

пароль

Только

 

суперпользователь

 

может

 

обновить

 

пароль

 

другого

 

пользователя

64.3. 

Добавления

 

нового

 

пользователя

Для

 

добавления

 

нового

 

пользователя

 

используйте

 

команды

 

useradd

 

и

 

passwd

useradd

 test1

passwd

 test1

passwd: updating all authentication tokens for user test1.

You can now choose the new password or passphrase.

A valid password should be a mix of upper and lower case letters,
digits, and other characters.  You can use an 8 character long
password with characters from at least 3 of these 4 classes, or
a 7 character long password containing characters from all the
classes.  An upper case letter that begins the password and a
digit that ends it do not count towards the number of character
classes used.

A passphrase should be of at least 3 words, 11 to 40 characters
long, and contain enough different characters.

Alternatively, if no one else can see your terminal now, you can
pick this as your password: "holder5dinghy-Arm".

Enter new password:

В

 

результате

 

описанных

 

действий

 

в

 

системе

 

появился

 

пользователь

 test1 

с

 

некоторым

 

паролем

.

Если

 

пароль

 

оказался

 

слишком

 

слабым

 

с

 

точки

 

зрения

 

системы

она

 

об

 

этом

 

предупредит

 (

как

 

в

примере

 

выше

). 

Пользователь

 

в

 

дальнейшем

 

может

 

поменять

 

свой

 

пароль

 

при

 

помощи

 

команды

passwd

 но

 

если

 

он

 

попытается

 

поставить

 

слабый

 

пароль

система

 

откажет

 

ему

 (

в

 

отличие

 

от

 

root

в

 

изменении

В

 

Альт Сервер

 

для

 

проверки

 

паролей

 

на

 

слабость

 

используется

 

модуль

 PAM passwdqc

Программа

 

useradd

 

имеет

 

множество

 

параметров

которые

 

позволяют

 

менять

 

её

 

поведение

 

по

умолчанию

Например

можно

 

принудительно

 

указать

какой

 

будет

 UID 

или

 

какой

 

группе

 

будет

принадлежать

 

пользователь

64.4. 

Модификация

 

пользовательских

 

записей

Для

 

модификации

 

пользовательских

 

записей

 

применяется

 

утилита

 

usermod

usermod

 -G audio,rpm,test1 test1

Такая

 

команда

 

изменит

 

список

 

групп

в

 

которые

 

входит

 

пользователь

 test1

 теперь

 

это

 audio

rpmtest1

usermod

 -l test2 test1

Будет

 

произведена

 

смена

 

имени

 

пользователя

 

с

 test1 

на

 test2

Команды

 

usermod -L 

test2

 

и

 

usermod -U 

test2

 

соответственно

 

временно

 

блокируют

возможность

 

входа

 

в

 

систему

 

пользователю

 test2 

и

 

возвращают

 

всё

 

на

 

свои

 

места

Изменения

 

вступят

 

в

 

силу

 

только

 

при

 

следующем

 

входе

 

пользователя

 

в

 

систему

При

 

неинтерактивной

 

смене

 

или

 

задании

 

паролей

 

для

 

целой

 

группы

 

пользователей

 

используйте

утилиту

 

chpasswd

На

 

стандартный

 

вход

 

ей

 

следует

 

подавать

 

список

каждая

 

строка

 

которого

будет

 

выглядеть

 

как

 

имя

:

пароль

64.5. 

Удаление

 

пользователей

Для

 

удаления

 

пользователей

 

используйте

 

userdel

Команда

 

userdel 

test2

 

 

удалит

 

пользователя

 test2 

из

 

системы

Если

 

будет

 

дополнительно

задан

 

параметр

 

-r

то

 

будет

 

уничтожен

 

и

 

домашний

 

каталог

 

пользователя

Нельзя

 

удалить

пользователя

если

 

в

 

данный

 

момент

 

он

 

еще

 

работает

 

в

 

системе

Глава

 65. 

Система

 

инициализации

 systemd 

и

 sysvinit 

65.1. 

Запуск

 

операционной

 

системы

65.2. 

Системы

 

инициализации

 systemd 

и

 sysvinit

65.3. 

Примеры

 

команд

 

управления

 

службами

журнал

 

в

 systemd

65.4. 

Журнал

 

в

 systemd

 

 

 

 

 

 

 

содержание      ..     18      19      20      21     ..