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