Linux и UNIX: программирование в shell. Руководство разработчика
Linux и UNIX: программирование в shell. Руководство разработчика читать книгу онлайн
Данная книга является практическим руководством по программированию интерпретатора Bourne shell -cтандартного командного интерпретатора в UNIX, полностью совместимого с интерпретатором BASH shell в Linux. Книга предназначена для начинающих и опытных программистов и содержит множество полезных примеров, советов и подсказок. С ее помощью читатель сможет быстро научиться создавать shell–сценарии для реальных задач и ситуаций, возникающих в большинстве систем UNIX и Linux.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
60
3C
074
Символ
Десятичное
Шестнадцатеричное значение
Восьмеричное значение
значение
=
61
3D
075
>
62
3E
076
?
63
3F
077
@
64
40
100
А
65
41
101
в
66
42
102
с
67
43
103
D
68
44
104
E
69
45
105
F
70
46
106
G
71
47
107
Н
72
48
110
I
73
49
111
J
74
4А
112
К
75
4В
113
L '
76
4С
114
M
77
4D
115
N
78
4Е
116
0
79
4F
117
P
80
50
120
Q
81
51
121
R
82
52
122
S
83
53
123
т
84
54
124
U
85
55
125
V
86
56
126
W
87
57
127
X
88
58
130
Y
89
59
131
Z
90
5А
132
[
91
5В
133
92
5С
134
]
93
5D
135
^
94
5Е
136
95
5F
137
Символ
Десятичное значение
Шестнадцатеричное значение
Восьмеричное значение
`
96
60
140
а
97
61
141
b
98
62
142
с
99
63
143
d
100
64
144
e
101
65
145
f
102
66
146
Я
103
67
147
h
104
68
150
i
105
69
151
j
106
6А
152
k
107
6В
153
1
108
6С
154
m
109
6D
155
n
110
6Е
156
0
111
6F
157
p
112
70
160
q
113
71
161
r
114
72
162
s
115
73
163
t
116
74
164
u
117
75
165
V
118
76
166
w
119
77
167
X
120
78
170
у
121
79
171
z
122
7А
172
{
123
7В
173
|
124
7С
174
}
125
7D
175
~
126
7Е
176
Ctrl-? (DEL) 127
7F
177
ПРИЛОЖЕНИЕ Б
Полезные команды интерпретатора shell
В этом приложении перечисляются и описываются некоторые полезные команды интерпретатора shell. Здесь не приводится исчерпывающий список параметров для каждой команды. Однако имеющихся параметров вполне достаточно для понимания работы команд.
Дополнительные примеры использования можно найти в других главах книги.
basename
Формат:
basename путь
Команда basename выделяет путь из имеющегося имени пути и просто возвращает имя файла. Эта команда обычно применяется в конструкциях usage в сценариях. В этом случае подстановка используется при отображении на экране имен файлов.
$ basename /home/dave/myscript
myscript
echo "Usage: `basename $0` give me a file" exit 1
Если приведенный выше код именуется myscript, вывод может быть следующим:
myscript: give me a file
Здесь $0 является специальной переменной, которой присвоено текущее полное имя пути для сценария.
cat
Формат:
cat параметры файлы
Параметры:
-v Задается отображение управляющих символов
Команда cat является одной из наиболее часто применяемых команд постраничной разбивки текстовых файлов.
$ cat myfile
Отображение содержимого файла myfile.
$ cat myfile myfile2 >> hold_file
Приведенная выше команда осуществляет объединение двух файлов (myfile и myfile2) в один файл, именуемый hold_file.
cat dtl | while read line do
echo $LINE done
Команда cat также используется для считывания файлов, осуществляемого с помощью сценариев.
compress
Формат:
compress параметры файлы
Параметры:
-v Вывод на экран результатов сжатия
Команда compress используется для уменьшения размера файлов. После завершения сжатия файл получает расширение .Z Для возврата файла в исходное состояние используется команда uncompress.
$ compress myfile
$ ls myfile*
myfile. Z
cp
Формат:
cp параметры файл1 файл2
Параметры:
-i Запрос на подтверждение перезаписи файлов
-p Сохранение набора прав доступа и времени изменения
-r Рекурсивное копирование каталога
Для копирования файла myfile в myfilel.bak применяется команда:
$ cp myfile1 myfile1.bak
Копирование файла get.prd из каталога /usr/local/sybin в каталог /usr/local/bin осуществляется командой
$ pwd
/usr/local/sybin
$ cp get.prd ../bin
Для рекурсивного копирования всех файлов и подкаталогов из каталога /logs (вниз) в каталог /hold/logs применяется команда: