Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

os_bash

.pdf
Скачиваний:
6
Добавлен:
13.02.2015
Размер:
230.16 Кб
Скачать

3849 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

выполнить команду, признак окончания — ;, заменитель файла — {}

-print

печатать полный путь к файлу

 

 

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