Лаборатория   информационных   технологий 


«Содержание»

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

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

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

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

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

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

   В конце описания дан список литературы на русском языке, в которой содержится более подробная информация про ОС Linux, особенно необходимая тем пользователям, которые хотят установить Linux на своих компьютерах и иметь права системного администратора.

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

   4.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 для получения полного списка переменных окружения

   4.3. Работа с сетью

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

   Примеры (в примерах

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

rhostимя_удаленной_машины):

ssh [-l ruser] <rhost >

— вхождение в сеанс на удаленной машине. Используйте имя машины или ее IP-адрес. Если Ваше_имя_пользователя одинаково на локальной и удаленной машинах, то его можно не набирать, т.е.:

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

   Команда

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

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

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

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

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

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

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

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

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

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

kapasswd   — команда для изменения пароля для доступа к файловой системе 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  <новая_группа> <файлы>    — изменить группу принадлежности для файлов 

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

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

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

kill <PID>    — принудительно завершить (“убить”) процесс. Для начала определите PID Вашего “убиваемого” процесса при помощи ps 

killall  <имя_программы>     — “убить” все процессы по имени программы

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

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

emacs (в X терминале)    — редактор emacs. Очень многофукционален, но весьма сложен для неопытных пользователей. 

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

http://www.gnu.org./software/gcc/onlinedocs/

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    — утилита для обработки текстовых файлов.

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

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

   Болл Б., Питтс Д. и др. Red Hat Linux в офисе и дома. М.: СПб.: Киев, 2002 .

   Петерсен Р. LINUX: руководство по операционной системе. Киев: BHV, 1998.

   Рейчард К., Фолькердинг П. Linux: cправочник. СПб.: Питер Ком, 1998.

   Ивановский С. Операционная система Linux. М.: Познавательная книга, 1999. 

   Бендел Д., Нейпир Р. Использование linux. М.: СПб.: Киев: Вильямс, 2002.

   Митчел М., Оулдем Д., Самьюэл А. Программирование для Linux. Профессиональный подход. М.: СПб.: Киев: Вильямс, 2002. 

   Сивер Э., Спейнауэр С.Linux: справочник. СПб.: Символ Плюс, 2001. 

   Хатч Б., Ли Д., Курц Д. Секреты хакеров. Безопасность Linux — готовые решения. М.: СПб.: Киев: Вильямс, 2002. 

   Болл Б., Питтс Д. Red Hat Linux 7. Энциклопедия пользователя. М.: СПб.: Киев: ДиаСофт, 2001. 

   4.8. Документация про Linux в Интернете

   Много свежей информации о Linux можно найти в Интернете. Коллекция ссылок на эту информацию есть, например, на нашем сайте в ОИЯИ: http://linux4u.jinr.ru

 

А.В. Гусев (gusev@cv.jinr.ru)
Е.А. Тихоненко (eat@cv.jinr.ru)


«Содержание»