os_bash
.pdf3849 pts/0 |
00:00:00 ps |
stu003@ubuntu:~$ kill -9 3742
2.1.6man
man [hключиi] [hсекцияi] hстраницаi
ПРИМЕР
stu003@ubuntu:~$ man kill
stu003@ubuntu:~$ man man
stu003@ubuntu:~$ man 1 ps
2.1.7echo (или команда оболочки)
echo [hключиi] [hстрокаi ...]
Таблица 15: ключи команды echo.
Ключ Значение
-n не печатать перевод строки в конце
-e включить интерпретацию escape-последовательностей с «\»
ПРИМЕР
rsufs:~/work/os-> echo -n 123 > f.txt
rsufs:~/work/os-> echo 456 >> f.txt
rsufs:~/work/os-> echo -e "\ta\tb\tc\n\td" >> f.txt
11
2.2 Переменные окружения
2.2.1Команда оболочки export
ПРИМЕР
stu003@ubuntu:~$ VAR=value stu003@ubuntu:~$ export VAR
Или:
ПРИМЕР
stu003@ubuntu:~$ export VAR=value
2.2.2Переменные окружения оболочки bash
Таблица 17: некоторые стандартные переменные окружения оболочки bash.
Переменная |
Значение |
|
|
PATH |
пути для поиска исполняемых файлов через : |
LD_LIBRARY_PATH |
пути для поиска разделяемых библиотек |
HOME |
домашний каталог пользователя |
TEMP |
каталог для временных файлов |
PWD |
текущий каталог |
SHELL |
путь к файлу оболочки |
LANG, LC_ALL, LC_... |
язык (LC_CTYPE, LC_COLLATE, LC_DATE) |
|
|
12
ПРИМЕР
rsufs:~/work/os-> export LANG=en_US rsufs:~/work/os-> export LC_ALL=en_US rsufs:~/work/os-> export LANG=ru_RU.UTF8 rsufs:~/work/os-> export LC_ALL=ru_RU.UTF8
ПРИМЕР
stu003@ubuntu:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
stu003@ubuntu:~$ PATH=${PATH}:/usr/local/mpi/bin
stu003@ubuntu:~$ export PATH
2.3 Другие команды
2.3.1pwd (или команда оболочки)
pwd [hключиi]
ПРИМЕР
rsufs:~/work/os-> VAR=‘pwd‘
rsufs:~/work/os-> echo $VAR
2.3.2cd (или команда оболочки)
cd [hключиi] [hкаталогi]
13
Таблица 19: специальные имена каталогов.
Имя Значение
.текущий каталог
.. родительский каталог
~домашний каталог
-предыдущий каталог
2.3.3ls
ls [hключиi] [hименаi]
Таблица 21: ключи команды ls.
Ключ Значение
-a также выводить имена файлов, начинающиеся с «.»
-F добавлять в начало каталогов «/», именованных каналов — «|», исполняемых файлов — «*»
-l выводить подробную информацию (тип, права доступа, количество ссылок, . . . )
ПРИМЕР
stu003@ubuntu:~/work$ ls -al |
|
|
|
|||
total 16 |
|
|
|
|
|
|
drwxr-xr-x |
4 |
stu003 |
stu003 4096 Oct 25 03:41 . |
|||
drwxr-xr-x 35 stu003 |
stu003 4096 Oct 25 02:32 .. |
|||||
-rw-r--r-- |
1 |
stu003 |
stu003 |
0 |
Oct 25 |
03:41 data.txt |
drwxr-xr-x |
2 |
stu003 |
stu003 4096 |
Oct 24 |
22:54 misc |
|
drwxr-xr-x |
6 |
stu003 |
stu003 4096 |
Sep 30 |
13:52 sandbox |
14
2.3.4chmod
chmod [hключиi] hправаi hименаi
Формат установки прав доступа:
[ugoa... |
] [ [+-=] [hправаi... |
]... |
] |
Основные ключи команды chmod:
Таблица 23: ключи команды chmod.
Имя Значение
-f не останавливаться при ошибке
-R выполнять рекурсивно
ПРИМЕР
[stu003@rvs work]$ chmod u+x,g-rx,o=r data.txt [stu003@rvs work]$ ls -l data.txt
-rwx---r-- 1 stu003 users 8 Mar 23 14:26 data.txt [stu003@rvs work]$ chmod 770 misc
[stu003@rvs work]$ ls -l misc
-rwxrwx--- 1 stu003 users 2 Mar 23 14:24 misc
2.3.5mkdir
15
mkdir [hключиi] hкаталогi ...
Основные ключи:
Таблица 25: ключи команды mkdir.
Имя |
Значение |
|
|
-p |
не выдавать ошибку, если каталог существует, создавать при необходимости ро- |
|
дительские каталоги |
-m hправаi права создаваемого каталога
2.3.6rm, rmdir
rmdir hкаталогi ...
rm [hключиi] hкаталогi ...
Основные ключи команды rm:
Таблица 27: ключи команды rm.
Имя Значение
-r рекурсивно удалять каталоги вместе с содержимым
-f не выводить запросов
2.3.7mv, cp
mv [hключиi] hисточникi hназначениеi
cp [hключиi] hисточникi hназначениеi
16
Основные ключи команды cp:
Таблица 29: ключи команды cp.
Имя Значение
-r рекурсивно копировать каталоги вместе с содержимым
-p сохранять атрибуты (права доступа и время) при копировании
2.3.8touch, cat
touch [hключиi] hфайлi
cat [hключиi] hфайлi hфайлi ...
ПРИМЕР (СОЗДАНИЕ ФАЙЛА)
touch file1
cat /dev/null > file2
2.3.9more, less
more [hключиi] hфайлi ...
less [hключиi] hфайлi ...
2.3.10head, tail
head [hключиi] hфайлi ...
tail [hключиi] hфайлi ...
17
Основные ключи команд head и tail:
Таблица 31: ключи команд head и tail.
Имя Значение
-n hномерi вывести первые (последние) n строк файла
-r hномерi вывести строки в обратном порядке
2.3.11find
find [hключиi] hкаталогi hвыражениеi
|
Таблица 33: основные ключи команды find. |
|
|
Имя |
Значение |
|
|
-L |
следовать за символическими ссылками |
-name hфайлi |
имена, соответствующие шаблону |
-size [+|-] hномерi |
размер, равный, больше или меньше заданного |
-atime hвремяi |
дата доступа |
-mtime hвремяi |
дата изменения |
-ctime hвремяi |
дата изменения статуса (владелец, группа, количество ссылок, режим, |
|
. . . ) |
-type hтипi |
тип файла (f — файл, d — каталог, . . . ) |
-a |
конъюнкция условий |
-o |
дизъюнкция условий |
! |
отрицание условия |
(...) |
порядок |
-exec hкомандаi |
выполнить команду, признак окончания — ;, заменитель файла — {} |
печатать полный путь к файлу |
|
|
|
18
ПРИМЕРЫ
find . -name "my*" -type f
find /var/ftp/mp3 -name "*.mp3" -type f -exec chmod 644 {} \; find . -size +100k -a -size -500k
2.3.12grep
grep [hключиi] hстрокаi hфайлi ...
Таблица 35: основные ключи команды grep.
Имя Значение
-i без учёта регистра
-n отображать номера строк
-v отображать строки, не содержащие шаблона
-w «слово целиком»
-x точное совпадение строки
ПРИМЕРЫ
grep apple fruitlist.txt
grep apple *.txt
grep ^a.ple fruitlist.txt
find . -name " .xml" -exec grep "ERROR" ’fg’ \; -print
19
3УПРАВЛЯЮЩИЕ КОНСТРУКЦИИ BASH
3.1Параметры сценариев
Таблица 37: обозначения параметров сценариев
Имя |
Значение |
|
|
$? |
код возврата последнего конвейера переднего плана |
$! |
id последнего исполняемого процесса в фоне |
$@ |
все параметры сценария (с первого), много слов |
$# |
количество параметров |
$0 |
имя сценария, как запущен |
$1, $2, . . . |
позиционные параметры |
|
|
3.2 Специальные символы
Таблица 39: специальные символы оболочки bash
Символы |
Значение |
|
|
\ |
отменяет действие следующего спецсимвола, если в конце строки, то |
|
не рассматривается вместе со следующим переводом строки. |
’...’ |
отменяют внутри себя все значения спецсимволов. |
"..." |
отменяют внутри себя все значения спецсимволов кроме «$», «‘» и «\». |
|
«\» сохраняет спецзначение только перед «$», «‘», «"», «\» или концом |
|
строки. |
‘cmd‘ или $(cmd) заменяют стандартный вывод команды.
ПРИМЕР
20