Всего за 199 руб. Купить полную версию
file
Во всех операциях объекты, выступающие в качестве источника, исчезают: меняют имя или расположение.
cp [опции] источник назначение
Опции:
-i
назначение-f
-r
-p
Примеры:
cp file1 file2
file1
file2
cp file1 dir2
file1
dir2
dir2/file1
cp -r dir1 dir2
dir1
dir2
cp file1 file2 file3 /tmp
file1
file2
file3
tmp
Команда
cat
файлcat
cat ls.txt
ls.txt
cat ls1.txt ls2.txt ls3.txt
ls1.txt, ls2.txt, ls3.txt
cat ls1.txt ls2.txt ls3.txt > lsall.txt
lsall.txt
>>
Команду
cat
cat > ls.txt
ls.txt
Ctrl-D
Команда
cat
Для просмотра текстовых файлов порциями можно напрямую использовать команды:
•
more file.txt
•
less file.txt
Команда
less
Таблица 10: некоторые клавиатурные команды less
tail [опции] файл —
Опции:
-n number
-r number
-f
Прерывание интерактивной выдачи комбинацией
Ctrl-С
grep [опции] строка [файл][файл]…
Опции:
-i
-n
-v
find [опции] каталог выражение
Выражения:
-name filename
filename
test*
test\*
-size [+|-]number
-atime number
-mtime number
-exec command \{\} \;
command
find
{}
– рекурсивно удалить все core-файлы, начиная с текущего каталога.
Следует отметить, что многие действия из перечисленных выше и связанных с манипуляциями с каталогами и файлами можно выполнять с помощью специальной программы – файлового менеджера Midnight Commander. Он не требует графической оболочки, вызывается в терминальном окне командой:
С помощью этой программы можно перемещаться по дереву каталогов, просматривать содержимое каталогов и файлов, создавать каталоги (но не файлы), удалять, копировать, перемещать каталоги и файлы, вести поиск файлов. Для многих пользователей текстовый редактор Midnight Commander является очень хорошим выбором. Его можно вызвать отдельно командой
mcedit
Редактирование файлов – отдельная важная тема. Существует большое число редакторов, работающих как в текстовом, так и в графическом режимах. Нас как администраторов в первую очередь будет интересовать редактор, который может работать в самых сложных условиях – без графического интерфейса, возможно, по сети, когда функциональные клавиши недоступны или работают неверно. Таких редакторов существует несколько, например
gnu nano
vi
Его интерфейс на первый взгляд совсем не дружественен и не логичен, на деле же большинство его команд продуманы и удобны. Главное его преимущество – возможность работы практически в любых условиях и быстрое выполнение массовых операций (поиск, замена и т. п.). Он имеет два режима работы – командный и режим вставки. Изначально файл открывается в командном режиме. Для перемещения по тексту используйте клавиши курсора, если же они не работают, – клавиши '
h,j,k,l
w
b
:wq
ZZ
:q!
Полезные команды:
Таблица 11: некоторые клавиатурные команды vi
Режим вставки позволяет вписывать текст в нужную позицию. Выйти из него можно клавишей
10dd
p
cwNEW_WORD
NEW_WORD
NEW_WORD
Из расширенных команд особенно удобна команда массовой замены '
s
sed
$
+
Например, заменить адрес old-cluster на new-supercomputer в 10 строках после текущей включительно можно, набрав:
Очень непривычно, но очень эффективно. Обязательно почитайте учебник по
vi
Пакеты
Во всех Linux-дистрибутивах есть прекрасная (на наш взгляд) система – упаковка ПО в так называемые «пакеты». Самих вариантов систем пакетирования много, наиболее популярны rpm (RedHat, Fedora, CentOS, SuSE и другие), deb (Debian, Ubuntu, Mint и другие), ports (Arch Linux и производные), ebuild (Gentoo и производные), pkg (Slackware и производные). Все они предлагают хранение дерева всех файлов некоторого ПО, например web-сервера, или его части, например модуля шифрования, в одном файле (обычно это сжатый архив). Кроме файлов в пакете хранятся метаданные, такие как название пакета, описание и другие данные. Набор метаданных в разных пакетных системах разный, поэтому и возможности тоже разные.
Самые важные особенности метаданных пакетов на наш взгляд:
• зависимости – указание других пакетов, установка которых необходима или желательна. Вместо пакетов может указываться функция (например smtp-сервер), если из метаданных её можно получить;
• хэш-суммы файлов;
• указание, какие файлы являются конфигурационными.
С помощью зависимостей установка ПО становится намного проще, можно быстро выяснить, какие дополнительные пакеты необходимо установить. Часто вычисление и установку всех дополнительных пакетов берут на себя «пакетные менеджеры», такие как yum (RedHat), apt или aptitude (Debian), pacman (Arch Linux) и т. п.
В формате deb зависимости можно указывать гибко: от «необходимо» до «желательно» (обычно это документация и примеры) и «опционально», поэтому в интерактивном пакетном менеджере типа aptitude можно выбрать именно тот набор дополнительных пакетов, который нужен. В мире формата rpm нередко с пакетом автоматически устанавливается ещё десяток ненужного ПО, которое теоретически может с ним потребоваться…
Имея хэш-суммы всех файлов пакета, можно проверять целостность системы, не изменились ли какие-то важные файлы (конечно, только из тех, что входят в пакеты), в большинстве пакетных систем для этого есть отдельные команды.
Знание файлов конфигурации позволяет не затирать их при обновлении – новая версия копируется «рядом» с оригинальной, чтоб можно было проверить разницу. А в интерактивном режиме aptitude можно эту разницу сразу посмотреть и выбрать, какой вариант использовать, старый или из обновлённого пакета. Аналогично при удалении пакета, как правило, его файлы конфигурации остаются и при новой установке не затираются. Удалить пакет вместе с настройками обычно можно, указав дополнительный ключ при удалении. Информация об установленных на компьютере пакетах хранится в базе данных, если она повреждается, то восстановить её очень тяжело. Поэтому не рекомендуем удалять или ставить пакеты на файловой системе, занятой на 100%, это может привести к потере базы.
Сами файлы пакетов можно просто скачать или скопировать откуда-либо, но чаще всего используются так называемые репозитории – индексированные каталоги пакетов. На CD/DVD-диске с дистрибутивом ОС почти всё место занимает репозиторий пакетов, после установки он будет прописан в настройках. Кроме него почти наверняка будет указан основной сетевой репозиторий ОС (или несколько). Кроме основного репозитория могут потребоваться дополнительные или даже совсем сторонние. Например, в стандартном репозитории RedHat не так уж и много пакетов, очень часто приходится подключать проверенные сторонние, типа EPEL. Некоторые программные проекты создают собственные мини-репозитории только для своего ПО. Иногда имеет смысл создавать и собственные локальные репозитории, например для компьютеров без доступа в Интернет.
Самые важные варианты использования команды
yum
Таблица 12: важные команды и ключи команды yum
Когда приходится работать с конкретным пакетом или rpm-файлом, то на помощь приходит команда
rpm
Таблица 13: некоторые ключи команды rpm
Сетевые команды
Поскольку вычислительные кластеры по своей сути являются сетевыми структурами, то важную роль для администраторов кластеров играют сетевые команды. Рассмотрим наиболее важные из них.
Команда
ping
Синтаксис команды:
Пример:
Результат работы команды:
При запуске без специальной опции команда ping в UNIX-подобных системах работает неограниченно долго, посылая запросы указанному узлу. Каждый отправленный запрос имеет свой номер, по которому программа определяет, дошёл он до целевого компьютера или нет. В выводе команды номер запроса показывает поле