Альт Сервер 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, 

rpm, test1. 

# 

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     ..