В.В.Галактионов, Т.М.Голоскокова, Н.И.Громова, А.В.Гусев, В.В.Мицын, Ж.Ж.Мусульманбеков, И.К.Некрасова, В.Д.Позе, А.В.Сергеев, Е.А.Тихоненко
РУКОВОДСТВО ДЛЯ ПОЛЬЗОВАТЕЛЕЙ LINUX КЛАСТЕРА ЛИТ ОИЯИ
Дубна 2004
От редактора
1 Структура Linux кластера и базовое программное обеспечение
1.1 Интерактивный кластер
1.2 Вычислительные фермы
1.3 Серверы дискового пространства
1.4 Вспомогательные серверы
1.5 Базовое программное обеспечение

2 Начальные рекомендации пользователям
2.1 Как стать пользователем
2.2 Ваша "учетная запись" (account) и пароль
2.3 Безопасность
2.4 Пакетная обработка счетных задач
2.5 Дисковое пространство для пользователей
2.6 AFS и пользовательские файлы и каталоги
2.7 Электронная почта
2.8 Русификация

3 Файловая система AFS

4 Рекомендации для пользователей параллельного вычислительного кластера
4.1 Использование команды qsub
4.2 Описание параметров
4.3 Контроль над исполнением задачи
4.4 Результаты выполнения задачи в пакетной обработке

5 Перечень и краткое описание основных команд при работе в операционной системе Linux
5.1 Простейшие действия
5.2 Стандартные команды. Информация по системе команд
5.3 Работа с сетью
5.4 Некоторые команды администрирования
5.5 Контроль процессов
5.6 Встроенные в Linux программные утилиты и языки

6 Midnight Commander

7 Рекомендуемые редакторы
7.1 Текстовый редактор pico
7.2 Краткое описание редактора vi/vim

8 Некоторые средства разработки программ
8.1 Текущие версии компиляторов C и g77
8.2 Редактор связей ld
8.3 Команды ar, ranlib, nm, ldd, strings
8.4 Утилита gprof
8.5 Отладчики GDB, DDD

9 Графические пакеты на Linux кластере
9.1 ImageMagick. Просмотр и обработка изображений
9.2 Chimera
9.3 Системы визуализации массивов числовой информации (научных данных)
Grace
IRIS Explorer
OpenDX (Data Explorer)

10 СУБД MySQL
10.1 Регистрация пользователей и создание базы данных
10.2 Соединение с сервером MySQL
10.3 Примеры работы с MySQL
10.4 Основные команды
10.5 Подключение к базе данных MySQL с использованием PHP

11 Изменения в работе с PHP-программами

12 Сведения об информационном сервере linux4u

13 Литература о Linux на русском языке

14 Сравнительное сопоставление прикладных пакетов в Windows и Linux

файлы для печати:
(.doc) (.zip))

November 20, 03:27:02

 

chapter_5

5 Перечень и краткое описание основных команд при работе в операционной системе Linux


При работе в ОС Linux можно использовать большое количество разнообразных команд. В данном разделе приведено очень краткое описание некоторого минимального набора, ориентированного на начинающего пользователя, не обладающего правами системного администратора. Про большинство этих команд можно узнать подробнее в интерактивном режиме, обратившись к справочной системе с помощью команды:

man <имя_изучаемой_команды>

Полезная команда:

man -k <ключевое_слово>

При вводе этой команды на экране появляется список команд, к которым относится данное ключевое слово.


5.1 Простейшие действия


ls - выдать список файлов в текущем каталоге.

cd [каталог] - сменить текущий каталог. Если имя каталога не указывается, то текущим становится домашний каталог пользователя.

cp <что_копировать> <куда_копировать> - копировать файлы.

mv <что_перемещать> <куда_перемещать> - переместить или переименовать файл.

ln -s <на_что_сделать_ссылку> <имя_ссылки> - создать символическую ссылку.

rm <файл(ы)> - удалить файл(ы).

rm -r <файлы или каталоги> - рекурсивное удаление, т.е. удалить файлы или каталоги и их подкаталоги. Будьте ОСТОРОЖНЕЙ с этой командой, поскольку пока в Linux нет системы полного восстановления удаленных файлов (если только Вы не пользуетесь специальными программами для помещения удаленных файлов в специальный каталог, что-то вроде "корзинки" в ОС Windows).

cat <имя_файла> - вывод содержимого файла на стандартный вывод (по умолчанию - на экран).

Можно записать вводимый на экран текст с помощью следующей последовательности действий:
cat > <имя_файла> . . . CTRL/d

more <имя_файла> - просмотр содержимого длинного текстового файла по страницам.

less <имя_файла> - просмотр содержимого текстового файла с возможностью вернуться к предыдущим страницам. Нажмите q, когда захотите выйти из программы.

pico <имя_файла> - редактировать текстовый файл с помощью текстового редактора pico.

lynx <html_файл или ссылка> - просмотр файла html или WWW ссылки с помощью текстового браузера lynx.

tar -zxvf <файл> - распаковать архив tgz или tar.gz

find <каталог> -name имя_файла - найти файл с именем имя_файла и отобразить результат поиска на экране. Поиск начинается с каталога <каталог>; имя_файла может содержать маску для поиска.

pine - удобная текстово-ориентированная программа для чтения электронной почты.

mc - запустить программу управления файлами Midnight Commander. Выглядит как Norton Commander, но по своим возможностям ближе к far.

./имя_программы - запустить на исполнение исполняемый файл имя_программы в текущем каталоге, если текущего каталога нет в списке каталогов, указанных в переменной окружения PATH.

xterm (в X терминале) - запустить простой терминал в графической оболочке X-windows. Для того чтобы выйти из него, наберите exit.


5.2 Стандартные команды. Информация по системе команд


pwd - вывести имя текущего каталога.

whoami - вывести имя, под которым Вы зарегистрированы.

date - вывести текущие дату и время.

time <имя программы> - выполнить программу и получить информацию о времени, нужном для ее выполнения. Не путайте эту команду с date. Например, можно выполнить команду ls и узнать, сколько времени требуется для вывода списка файлов в каталоге, набрав последовательность:

time ls

who - определить, кто из пользователей работает в настоящий момент на машине, в сеансе которой Вы работаете.

rwho -a - определение всех пользователей, работающих в вашей локальной подсети. Для выполнения этой команды требуется, чтобы был запущен процесс rwho

ruptime - какие машины работают в локальной подсети, и какие остановлены.

finger <имя_пользователя> - системная информация о зарегистрированном пользователе.

Попробуйте:
finger <ваш login-name>

uptime - получить информацию о количестве времени, прошедшего с последней перезагрузки операционной системы.

ps -a - вывести список текущих процессов в текущем сеансе работы.

top - интерактивный список текущих процессов, отсортированных по использованию центрального процессора.

uname -a - вывести информацию о версии операционной системы.
free - вывести информацию по использованию памяти.

df -h - вывести информацию о свободном и используемом месте на дисках.

du . -bh | more - вывод на экран информации о размере файлов и каталогов, начиная с текущего каталога.

set|more - вывести текущие значения переменных окружения. Не для всех shell. Для csh/tcsh: printenv | more, хотя set тоже покажет полезную информацию.

echo $PATH - вывести значение переменной окружения PATH Команда echo может использоваться для вывода значений любых переменных окружения. Воспользуйтесь командами set или printenv для получения полного списка переменных окружения.


5.3 Работа с сетью


ssh - обеспечивает безопасное вхождение в удаленный сеанс работы с другой машиной, а также позволяет выполнить заданную команду на удаленной машине без вхождения в сеанс работы. При установлении соединения по ssh следует ввести пароль, который Вы имеете на удаленном компьютере; при этом пароль будет передан по сети в зашифрованном виде, т.е. безопасным образом.

Примеры

ruser - Ваше_имя_пользователя_на_удаленной_машине;
rhost - имя_удаленной_машины

ssh [<-l ruser] <rhost>
- вхождение в сеанс на удаленной машине. Используйте имя машины или ее IP-адрес. Если Ваше_имя_пользователя одинаково на локальной и удаленной машинах, то его можно не набирать, т.е.:

ssh <rhost>
позволит Вам войти в сеанс на удаленной машине.

Команда
ssh <ruser >@<rhost> <команда>
выполнит на удаленном компьютере заданную команду и передаст на экран результат выполнения

scp - обеспечивает безопасное копирование файлов в сети:

scp <localfile> <ruser>@<rhost>: - скопирует файл с локального компьютера в Ваш корневой каталог на удаленном компьютере (наличие ":" в конце команды обязательно).

Примеры:

scp mycode userx@lxpub01:
скопирует Ваш файл mycode из Вашего текущего домашнего каталога в Ваш каталог на lxpub01, где Вы зарегистрированы как пользователь userx

scp -r <ruser>@<rhost>:<rdir> .
копирует все содержимое удаленного каталога в Ваш локальный каталог. Точка после пробела в конце команды обязательна, т.к. она означает место назначения копирования на Вашем локальном компьютере - текущий каталог.
Следует также знать, что команда scp копирует все символические связи (links) как файлы или директории, на которые они указывают.

telnet <rhost > - связаться по протоколу telnet с другой машиной. Войдите в сеанс работы после установления связи с помощью вашего пароля.

ftp <rhost> - связаться по ftp с удаленным компьютером для копирования файлов.

  • Предпочтительно не пользоваться командами telnet и ftp, а использовать только ssh и scp, поскольку они обеспечивают безопасность сетевого соединения!!!

hostname -i - показывает IP-адрес компьютера, на котором Вы работаете.


5.4 Некоторые команды администрирования


kapasswd или kpasswd - команда для изменения пароля для доступа к файловой системе AFS. При работе на базовом Linux кластере ЛИТ следует пользоваться только этой командой (а не командой passwd ! ) для изменения пароля для вхождения в кластер.

passwd - изменить свой пароль на каком-либо локальном компьютере

chmod <права доступа> <файл> - изменить права доступа к файлу, владельцем которого Вы являетесь.

Есть три способа доступа к файлу:

  • чтение -read (r)
  • запись - write (w)
  • исполнение - execute (x)


    и три типа пользователей:

  • владелец файла - owner (u), члены той же группы, что и владелец файла (g) и все остальные (o).


    Проверить текущие права доступа можно следующим способом:

    ls -l имя_файла

    Если файл доступен всеми способами всем пользователям, то напротив имени файла будет следующая комбинация букв:

    rwxrwxrwx

    Первые три буквы - это права доступа для владельца файла
    Второй триплет - права доступа для его группы
    Следующая тройка - права доступа для остальных
    Отсутствие права доступа показывается как "-"


    Например:

    Эта команда позволит Вам установить права доступа на чтение для файла junk для всех (all=user+group+others):

    chmod a+r junk

    Эта команда отнимет право доступа на исполнение файла у всех, кроме пользователя и группы:

    chmod o-x junk
    chown <новый_владелец> <файлы> - изменить владельца файлов
    chgrp <новая_группа> <файлы> - изменить группу принадлежности для файлов


    Вы можете использовать две последние команды, после того, как сделали копию файла для кого-либо.


    5.5 Контроль процессов


    ps axu | grep <Ваше_имя_пользователя> - отобразить все процессы, запущенные в системе от Вашего_имени_пользователя.


    kill - принудительно завершить ("убить") процесс. Для начала определите PID Вашего "убиваемого" процесса при помощи команды ps. Некоторые фоновые процессы могут быть уничтожены только при использовании команды kill с числовым аргументом 9:

    kill -9


    killall <имя_программы> - "убить" все процессы по имени программы.


    xkill (в терминале X window) - "убить" процесс, на окно которого Вы укажете курсором.


    5.6 Встроенные в Linux программные утилиты и языки


    iconv - программа-перекодировщик с созданием нового файла

    iconv -help - формат команды и опции
    iconv -l - список, содержащий все известные кодировки и их aliases

    Пример:
    iconv -f866 -tKOI8-R -o outfile infile
    где:
    -f, --from-code=name (исходная кодировка)
    -t, --to-code=name (новая кодировка)
    -o, --output=file (имя выходного файла)


    recode - программа-перекодировщик с заменой исходного файла. Может работать со стандартными потоками stdin, stdout.

    recode -help - формат команды и опции
    recode -l - список кодировок


    Пример:
    recode CP1251..KOI8-R win_file.txt
    recode koi8-r..utf-8 koi8_file.txt
    recode CP1251..KOI8-R ~/raz/dva/*


    emacs - многофункциональная программа: редактор, файловый менеджер, почтовый клиент, текстовый процессор, интегрированная среда разработки.


    gcc <c_исходник> - GNU-C компилятор. В сети есть очень хорошие руководства по использованию.


    g++ <cpp_исходник> - GNU-C++ компилятор.


    perl - очень мощный скриптовый язык. Чрезвычайно гибкий, но с довольно сложным синтаксисом. Очень популярен среди опытных пользователей.


    python - современный и довольно элегантный объектно-ориентированный интерпретатор. Выглядит таким же мощным и немного проще, чем perl.


    g77 - GNU-Fortran компилятор.


    f2c - перекодировщик из Fortran в C.


    fort77 - компилятор Fortran. Выполняет f2c, а затем использует gcc или g++.


    grep - поиск фрагмента текста в файлах, удовлетворяющего набранной маске. Маска определяется с помощью стандартной системы обозначений, называемой "регулярные выражения".


    tr - translation utility (другими словами - замена букв в текстовом файле).

    gawk - GNU awk (используется для обработки форматированных текстовых файлов). Лучше вызывать просто awk.

    sed - утилита для обработки текстовых файлов.