Начало работы в системе
Вход в себя
На экране терминала появится строка
Console login:
или просто
login:
Введите имя, под которым вы зарегистрированы в
системе, если нужно, пароль. Если Вы ошиблись при
вводе имени, нажмите CTRL+U или DEL или CTRL-D (для
отмены), или несколько раз нажмите на Return,
потерпите немного и повторите ввод.
На экране появится приглашение командного
интерпретатора.
sunsite:~/$ _
Чтобы выйти из системы, наберите команду exit или
просто нажмите Ctrl-D на пустой строчке;
exit
или CTRL-D Переменные окружения
При входе в систему для пользователя
автоматически устанавливается несколько
переменных окружения. Чтобы посмотреть их
значение, выполните команду env.
env # Распечатать проэкспортированные переменные окружения
LOGNAME=moshkow # имя пользователя
HOME=/home/moshkow # его домашний каталог
SHELL=/bin/ksh # его командный интерпретатор
MAIL=/usr/mail/moshkow # файл, в который складывается
# приходящая ему почта
PS1=host1:$PWD$ # формат приглашения
PATH=:/usr/local/bin:/bin:/usr/bin:/usr/X11/bin:/usr/informix/bin:
# список поиска, по которому ищутся
# выполнимые файлы
TERM=vt220 # устанавливает тип терминала на
# котором работает пользователь
Чтобы задать значение переменной окружения,
выполните команду:
Imya_Pereemennoj=znachenie export Imya_Pereemennoj
например
abc=Kalosha export abc
просмотреть значение переменной можно
командой echo в такой форме:
echo $abc
Пользовательский профайл
Перед входом в систему сперва выполняется
общесистемный профайл /etc/profile
Затем выполняется пользовательский файл
".profile" (если он есть) - в них можно
устанавливать переменные окружения и делать
установки режимов терминала. Просмотреть
установленные переменные окружения можно
командой env
Пример файла .profile
# Добавить к списку поиска каталоги с нужными программами
PATH=:$HOME/bin:$PATH:/usr/sbin:/usr/local/bin:/usr/informix/bin
# Разрешить редактирование командной строки в ksh
EDITOR=emacs
export PATH EDITOR
LC_CTYPE=iso_8859_1 export LC_CTYPE # русские буквы - "буквы"
# Характеристики терминала
# Забой=BackSpace СтеретьСтроку=Ctrl-U
# ПрерватьПрограмму=Ctrl-C "Жестокое_прерывание"=Ctrl-|
stty erase "^h" echoe kill "^u" quit "^|" intr "^c"
stty cs8 -parenb -istrip
# 8-битные символы, noparity, не усекать 8-й бит
# при вводе
case "$0" in # В зависимости от командного интерпретатора
*ksh) # В Korn Shellе
# Редактироваться стрелочками
alias __A=`echo "\020"` # ^P = восьмеричный 020
alias __B=`echo "\016"` # ^N
alias __C=`echo "\006"` # ^F
alias __D=`echo "\002"` # ^B
# В приглашение ставить текущий pwd
PS1=`uname -n`:'$PWD/$ ' export PS1
;;
*bash) # В bash'е в приглашение ставить host:pwd
PS1='\h:\w/\$ ' export PS1
;;
esac
# обратите внимание: в некоторых местах ПРОСТАЯ кавычка _'_
# а в других - ОБРАТНАЯ _`_ - будьте внимательны, это важно.
Клавиши для редактирования командной строки
Если вы работаете в командном интерпретаторе
Korn-Shell /bin/ksh, и у вас установлена переменная EDITOR=emacs
, то вы сможете редактировать командную строку с
помощью стрелок и Ctrl-клавиш:
^P / ^N |
PREVIOUS / NEXT команда |
^F / ^B |
FORWARD / BACK на позицию |
^A / ^E |
в НАЧАЛО / КОНЕЦ строки |
^D / ^K |
Удалить СИМВОЛ / Удалить КОНЕЦ СТРОКИ |
^Y |
Вспомнить удаленное |
^R |
Поиск предыдущей команды |
ESC ESC |
Добить имя файла |
ESC = |
Распечатать похожие имена файлов |
если командный интерпретатор bash,
то обе последние команды сидят на клавише TAB |
Выключение системы
Чтобы начать процесс выключения системы,
следует, будучи пользователем root и находясь в
корневом каталоге, выполнить команду
cd /
shutdown -y -g0 -i0
Дождитесь полного окончания разгрузки системы
и только тогда выключайте питание.
Для перезагрузки системы выполните команду
shutdown -y -g0 -i6
Перезагрузить или разгрузить систему можно
также и из меню системного администратора
команды sysadm .
В некоторых реализациях Unix, (в частности, в BSD,
SunOS, Linux), команда shutdown использует другие ключи.
Попробуйте в этом случае:
shutdown -h now
НЕСКОЛЬКО ПРОСТЕЙШИХ КОМАНД UNIX
Система UNIX различает БОЛЬШИЕ и малые буквы, и к
этому нужно привыкнуть.
Если вы уничтожили какой-нибудь файл, то
никаких проблем с его восстановлением у вас не
будет. Потому что восстановить уничтоженный файл
в системе Unix НЕВОЗМОЖНО. В Unix отсутствует команда
unerase, и к этому тоже нужно привыкнуть. Вирусы и
антивирусы в Unix тоже отсутствуют. Так что, пока
хоть этой проблемы у администратора машины не
будет.
В имени файла директории отделяются от
последующей части символом "/" Если имя
начинается со слэша - значит, это полное
маршрутное имя. Простое имя файла может состоять
из ЛЮБЫХ символов. Длина простого имени не более
256 символов. Длина полного маршрутного имени
файла не более 1024 символов. Для задания шаблона
имен используются символы * (произвольная
последовательность символов) и ? (один
произвольный символ). Два имени являются
выделенными. Имя из одной точки "."
обозначает текущую директорию, имя из двух точек
".." - вышележащую.
Чтобы запустить программу на выполнение,
достаточно набрать ее имя и, если нужно, другие
аргументы командной строки. Имя программы - это
маршрутное имя файла, в котором эта программа
находится. Аргументы разделяются одним или
несколькими пробелами. Ключи команды обычно (но
необязательно) выделяются знаком "-". Если
командная строка кончается знаком &,
происходит запуск параллельного процесса, в
рамках которого будет выполняться команда,
сообщается его номер, после чего можно
продолжать работу не дожидаясь завершения
фоновой задачи.
команда -ключи -ключи ... прочие разные аргументы ...
Три направления ввода-вывода являются
выделенными - стандартный ввод, стандартный
вывод и стандартный протокол. Как правило,
команды операционной системы берут исходные
данные из стандартного ввода и помещают
результаты в стандартный вывод. Первоначально
стандартные ввод, вывод и протокол назначены на
терминал, однако их можно переназначить, если
после команды поместить одну из конструкций:
- команда > имя_файла
(для стандартного вывода), команда <
имя_файла (для переназначения стандартного
ввода),
команда 2> имя_файла (для стандартного
протокола - системной диагностики).
Пример - записать в файл infdir содержимое текущей
директории:
ls > infdir
Если вывод назначен в файл, то перед началом
выполнения команды создается пустой файл с
соответствующим именем (если файл уже
существовал, он опустошается), а затем в него
помещается информация. Если информацию нужно
дописать в конец существующего файла, следует
воспользоваться конструкцией
команда >> имя файла
команда 2>> имя файла
Пользователи системы UNIX объединяются в группы,
и каждая из групп может обладать определенным
набором привилегий.
Программы могут распознавать значения
переменных окружения, значения которых были
заданы перед их запуском.
TERM=vt220
HOME=/home/moshkow
PATH=:/bin/:dss/rk:/udd/moshkow/bin
Выдачу одной команды можно перенаправлять на
вход другой команды. Для этого используется
"|" - конвейер.
Например: посчитать суммарный размер и число
строк всех файлов в каталоге /tmp, имена которых
начинаются с символов "text" ...
cat /tmp/text* | wc -c
# Команда cat сливает вместе все файлы вида /tmp/text*,
# wc -c -l считает количество символов и число строк во входном
# потоке.
Или просмотреть с листанием длинную выдачу
команды:
ps -ef | more
Того же результата можно достичь и без
конвейера таким образом:
ps -ef > temp-file
more temp-file
rm temp-file
Некоторые наиболее употребительные команды.
pwd |
получить имя текущей директории |
cd |
изменить текущую директорию |
ls |
распечатать информацию о файлах или
директориях |
cat |
слить или вывести файлы-аргументы на
стандартный вывод |
cp |
копировать файлы |
mv |
переместить (переименовать) файлы |
ln |
создать ссылку на файл |
rm |
удалить файлы |
rmdir |
удалить директорию |
mkdir |
создать директорию |
echo |
вывести аргументы командной строки на
стандартный вывод |
ps |
узнать номера выполняемых процессов |
kill |
"убить" выполняемый процес по его
номеру |
man |
выдать справку об использовании и
ключах команды |
pwd - выдать имя текущей директории.
pwd
cd - сменить текущую директорию.
cd [ директория]
cd /usr/spool/lp/adm
cd ..
Если директория не указана, Вы попадаете в свой
"домашний" каталог $HOME
ls - распечатать каталог.
Формат команды:ls [ключи] [имена]
имена |
имена файлов или директорий; для
директорий распечатывается список входящих в
нее файлов, для файлов - повторяется имя файла и
дополнительная информация в соответствии с
ключами. Имена файлов выводятся в алфавитном
порядке. Если имена не заданы, выдается
содержимое текущей директории |
ключи |
по умолчанию выдаются только имена
файлов, в одну колонку и в алфавитном порядке |
ls -al - вывод в длинном полном формате:
Права |
Число
линков
(имен) |
Владелец |
Группа |
Размер |
Время
модификации |
Имя
файла |
-rwxr-xr-x
drwxr-xr-x
-rwxr-xr-x |
1
1
1 |
moshkow
moshkow
moshkow |
sys
sys
sys |
17
12
0 |
Oct 18 16:13
Oct 18 16:11
Oct 13 14:14 |
../jean
../jelly
../j.bu.txt |
Описание прав - строка
из 10 символов
1 символ - "-" - значит файл, "d" -
директория
2 символ - права "владельца" файла
5 символ - права пользователей одной с
"владельцем" группы
7 символ - права всех "прочих" пользователей
по отношению к файлу Права:
- r - файл доступен для чтения,
w - файл доступен для записи,
x - файл является выполнимым,
- - данное право доступа отсутствует.
|
Основные ключи команды ls
-a - вывести все файлы (даже те, имена
которых начинаются с точки);
-x - вывод в 4 колонки;
-t - имена файлов сортируются не по
алфавиту, а по времени последнего изменения
(сначала идут самые свежие, только что измененные
файлы);
-R - рекурсивно пройти по всем
подкаталогам
-CF - оглавление каталога в несколько
столбиков
-al - оглавление в полном формате
cat - слить и вывести файлы на
стандартный вывод.
Формат команды: cat файл1 [файл2... ]
Cat читает каждый из указанных файлов и выводит
их содержимое на стандартный вывод. Пример:
cat файл
распечатывает содержимое файла, а
cat файл1 файл2 > файл3
сливает первые два файла и помещает результат в
третий. Чтобы добавить файл1 к файлу2, надо
выполнить команду
cat файл1 >> файл2
more, pg - просмотреть файл постранично.
Формат команды: more file_name ...
more позволяет просматривать файл, делая
остановку на каждой границе экрана. Просмотром
можно управлять с помощью клавиш:
q |
- завершить просмотр |
ПРОБЕЛ |
- показать следующую страницу |
ENTER |
- сдвинуться на одну строку |
b |
- показать предыдущую страницу |
/ |
- поиск |
h |
- Help - посмотреть список всех возможных
команд |
more используют, чтобы посмотреть "длинную"
выдачу команды, ставя его конвейером "ей на
хвост"
ls -al | more |
- просмотреть оглавление |
ps -e | pg |
- просмотреть список работающих
процессов |
cp - копировать файлы.
Формат команды: cp файл1 файл2 или cp
файл1 файл2 [...] каталог
Эта команда копирует файл1, ... , в ФАЙЛ. Если ФАЙЛ
- это директория, то файл1 и др. копируются в нее
под своими именами. Если ФАЙЛ не существовал, то
он создается, если существовал, его старое
содержимое теряется.
mv - переместить (переименовать) файлы.
Формат команды: mv файл1 файл2 или mv
файл1 [файл2 ...] каталог
Команда аналогична команде cp, но не сохраняет
исходного файла. Ее основная роль -
переименование файлов и перенос файлов из одной
директории в другую). Пример.
mv /dss/*/rk_*.help /dss/delo
ln - связать файлы.
Формат команды:
ln файл1 файл2 - создается "жесткий"
линк
ln -s файл1 файл2 - создается
"символический" линк
Эта команда создает файлу файл1 еще одно имя. В
итоге файл1 и файл2 на самом деле физически
являются одним и тем же файлом. Если вы создаете
так называемый "символический линк",
(используя ключ "-s"), то файл file1 при этом не
обязан существовать. Имя "файл2" при этом все
равно будет создано.
rm - удалить файл или директорию.
Формат команды: rm [-fri] файл ...
-i |
- просить подтверждения на каждое
удаление |
-r |
- рекурсивно удалить вместе с
подкаталогами |
-f |
- не просить подтверждения, а сразу
удалить |
Для удаления пустой директории можно
воспользоваться командой
rmdir директория ...
Чтобы удалить непустую директорию нужно
выполнить команду
rm -r директория
ВНИМАНИЕ: Ввиду того, что под шаблон
".*" подходит каталог ".." НИКОГДА НЕ
ДЕЛАЙТЕ КОМАНДЫ rm -r .*
mkdir - создать директорию.
Формат команды: mkdir имя_директории ...
chmod - изменение прав доступа к файлам.
Команда chmod меняет атрибуты (права доступа)
файла.
Проставить файлам право на выполнение:
chmod u+x file1
Разрешить остальным пользователям исправлять
файл
chmod a+w file1
echo - эхо.
Команда echo выводит на стандартный вывод свои
аргументы
echo "\017"
Вывести на терминал символ Ctrl-O, Он же 017
восьмеричное. Восстанавливает латиницу на
терминалах типа vt220 и at386
Создать файл.
Для создания файла можно воспользоваться
следующими способами:
touch primer - создает файл primer;
cat > primer - создает файл primer и пишет в него
из стандартного ввода. Запись в файл закончится
после нажатия CTRL+D.
ps - какие программы выполняются.
Сообщает номера процессов, которые выполняются
в системе.
ps |
- запущенные только с этого терминала |
ps -e |
- все |
ps -f |
- в "полном" формате |
kill - прервать процесс.
Команда kill посылает указанному процессу сигнал
немедленной остановки. Прервать процесс номер 1078
(номер можно узнать командой ps -e)
kill -9 1078
Прервать программу на вашем терминале,
запущенную НЕ в фоновом режиме, можно нажатием
клавиши CTRL-C, или клавиши CTRL-\
man - если вы забыли как пользоваться
командой.
Как правило, при запуске команды без аргументов
она выдает формат своего вызова. Но для
большинства команд достаточно полную информацию
вы можете получить так:
man имя_интересующей_вас_команды
man -k ключевое_слово - список команд, относящихся к ...
who - кто работает в системе.
who |
- этими командами можно узнать кто вы
такой, |
who am i |
и кто еще работает в системе |
finger |
last | more |
id |
man -k who |
- сообщит все возможные команды,
которыми можно узнать, кто и что делает в системе |
|