Константин Стефанов - Cуперкомпьютеры: администрирование
- Название:Cуперкомпьютеры: администрирование
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:2020
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Константин Стефанов - Cуперкомпьютеры: администрирование краткое содержание
Cуперкомпьютеры: администрирование - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Самая главная команда, которая вам потребуется, – man
. Её имя происходит совсем не от английского «человек» (man), а от «руководство, учебник» (manual). Это – основной источник справочной информации по командам, пакетам и многому другому в UNIX и Linux. Вся информация в man
разделена по разделам, исторически им присвоены номера. Как правило, для получения справки по какой-то команде достаточно набрать man имя_команды
. Man найдёт первую страницу с заданным именем и отобразит её.

Таблица 6: разделы справки man
Так как в разных разделах могут быть страницы с одинаковыми именами, то иногда надо явно указать номер раздела. Например, по команде man crontab
отобразится информация по команде crontab
из раздела 1. Чтобы показать справку по формату файла crontab
, надо набрать man 5 crontab
, отобразить список файлов, в которых упомянуто нужное слово – man -k слово
. И конечно, не забудьте выполнить man man
.
Кроме man,
есть ещё команда info
, которая была призвана заменить man
, но, несмотря на массу новых возможностей, так и не стала популярной. Но многие аспекты стандартных программ и сервисов описаны в info
намного подробнее, чем в man
.
Соглашения об именах файлов
В именах файлов и каталогов можно использовать любые символы, кроме '/' и ' \0
'. Одним из самых распространённых средств работы для UNIX является оболочка – shell. В shell некоторые символы имеют специальное значение (которое можно отменить) – это облегчает работу с файлами. Ниже приведён список спецсимволов shell:

Таблица 7: спецсимволы shell
UNIX не запрещает использовать эти символы в именах файлов, но необходимо экранировать их специальное назначение символом '\' или заключать их в одинарные кавычки '…'
.
Соглашения о расширениях
Расширение файла – часть имени после последней точки; например, файл ' text.cc
' имеет расширение ' .cc
'. Для большинства программ расширение не имеет принципиального значения, но его наличие облегчает понимание назначения файла. Ниже – наиболее часто встречающиеся расширения:

Таблица 8: распространённые расширения файлов
Важно понимать, что расширение файла не имеет принципиального значения для ОС и большинства программ. Поменяв расширение файла на ' .exe
' или ' .sh
', вы не сделаете его исполняемым. А вот скрипт с именем ' do_it_now
' можно сделать исполняемым, выполнив ' chmod a+x do_it_now
'. Расширения всего лишь упрощают восприятие файлов, давая понять, что это.
Имена, начинающиеся с точки (.), часто присваиваются служебным файлам и каталогам. Эти файлы и каталоги обычно игнорируются программами и файловыми менеджерами по умолчанию. Например, команда ls
не показывает их, если не указать ключ '-a'
.
Многие команды допускают в качестве аргумента использование списков имён файлов. Эти списки удобно формировать с помощью шаблонов shell. Рассмотрим их ниже.
Шаблоны
Стандартная оболочка ( shell) в UNIX – очень мощный инструмент и кроме запуска команд имеет массу возможностей, упрощающих работу в консоли. Самое простое средство – шаблоны имён файлов. Например, написав команду ' ls *.c
', мы получим список всех файлов с расширением '.c' в текущем каталоге.
Важно понимать, что ' *.c
' – не один аргумент, вместо него сам shell подставит нужный список. Если в каталоге только два файла – 1.c
и 2.с
, то будет выполнена команда ' ls 1.c 2.c
'. Если ни одного файла с подходящим под шаблон именем нет, то будет подставлен сам шаблон (т. е. будет выполнена команда ' ls *.c
').

Таблица 9: шаблоны в shell
Все шаблоны, кроме ' {}
', применяются к реальному списку файлов и выбирают из него только те, которые попадают под шаблон. С помощью скобок ' {}
' можно конструировать более сложные шаблоны.
Например, ' ls *.{cxx,h,la}
' превратится в ls *.cxx *.h *.la
. Более интересный приём – ' cp config{,.bak}
', который превратится в cp config config.bak
. Второй файл не существует, он явно задан шаблоном.
Если задан шаблон символами ' *
', '?' или ' []
', но под него не попадает ни один файл, то команде будет передан сам шаблон. Например, если каталог пуст, а мы выполняем в нём команду ' ls *.abc
', то выполнится команда ' ls *.abc
', т. е. текст шаблона будет дан команде в качестве аргумента. Будьте осторожны со случайно или намеренно созданными файлами, начинающимися с тире, так как их имена после раскрытия шаблона могут быть восприняты командой как имя управляющего ключа команды!
Чтобы отменить действие спецсимвола, достаточно поставить перед ним обратную косую черту '\' или заключить весь аргумент в одинарные кавычки. Например, если мы хотим удалить файл с именем « --rf *.?
», то можно использовать команду:
rm – –rf\ \*.\?
или
rm – '–rf *.?'
Обратите внимание на первый аргумент ' --
' – он нередко используется в командах Linux и обозначает «здесь закончились ключи, далее только имена файлов». В данном случае он не обязателен, но, к примеру, если потребуется удалить файл с именем ' -f
', то команда ' rm -f
' не сработает, так как ' -f
' – это ключ команды rm
. Сработает команда ' rm – -f
'.
Команды для работы с деревом каталогов
pwd
– напечатать полное имя текущего каталога.
cd [ dirname ]
– перейти в указанный каталог (в домашний каталог, если dirname не задано); dirname здесь – имя каталога, которое может состоять из собственно имени и пути к нему. Путь может быть абсолютным, если он начинается с символа /, и относительным, если начинается с любого другого символа.
Примеры перемещения по дереву каталогов:
сd /export/home/user1
– переход в домашний каталог пользователя user1;
cd /
– переход в корневой каталог файловой системы;
cd prog/cc
– переход из текущего каталога в каталог cc, находящийся в каталоге prog;
cd ../gosha/bin
– возврат на шаг назад и переход в каталог bin пользователя gosha;
cd
– переход в свой домашний каталог.
Специальные имена каталогов:
. (точка) – текущий каталог;
.. (две точки) – родительский каталог по отношению к текущему.
В bash или zsh можно использовать спецсимволы, которые shell преобразует в имена каталогов:
Читать дальшеИнтервал:
Закладка: