Администрирование Linux: различия между версиями
Mllnr (обсуждение | вклад) Нет описания правки |
Mllnr (обсуждение | вклад) Нет описания правки |
||
Строка 22: | Строка 22: | ||
3. Выводит только те процессы, которые содержат в пути /usr/ |
3. Выводит только те процессы, которые содержат в пути /usr/ |
||
</small> |
</small> |
||
==== Использование переменных ==== |
==== Использование переменных ==== |
||
Строка 33: | Строка 34: | ||
echo "Saved ${12}th version" |
echo "Saved ${12}th version" |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
==== Фильтры ==== |
==== Фильтры ==== |
||
Строка 42: | Строка 44: | ||
cut -d: -f7 < /etc/passwd |
cut -d: -f7 < /etc/passwd |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
===== Сортировка строк ===== |
===== Сортировка строк ===== |
||
Строка 50: | Строка 53: | ||
sort -t: -k3,3 -n /etc/group |
sort -t: -k3,3 -n /etc/group |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
===== Подсчет строк, слов и символов ===== |
===== Подсчет строк, слов и символов ===== |
||
Строка 58: | Строка 62: | ||
sort -t: -k3,3 -n /etc/group |
sort -t: -k3,3 -n /etc/group |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
===== Копирование входного потока в два места ===== |
===== Копирование входного потока в два места ===== |
||
Строка 67: | Строка 72: | ||
</syntaxhighlight> |
</syntaxhighlight> |
||
<small>Устройство /dev/tty - синоним текущего терминала.</small> |
<small>Устройство /dev/tty - синоним текущего терминала.</small> |
||
===== Чтение файла с начала или с конца ===== |
===== Чтение файла с начала или с конца ===== |
||
Строка 76: | Строка 82: | ||
tail /etc/passwd |
tail /etc/passwd |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
===== Поиск текста ===== |
===== Поиск текста ===== |
Версия от 23:04, 24 июля 2013
Учебник - краткий справочник по администрированию Linux систем. Для лучшего усваивания информации, все примеры реккомендуется применять на практике по мере прочтения.
Сценарии и командная оболочка
Основы работы с командной оболочкой
Каналы и потоки
Каждому процессу доступны, как минимум три информационных канала: STDIN, STDOUT и STDERR.
Инструкции по изменению направления передаваемых командой данных:
- < - связывает STDIN с содержимым файла
- > - направляет STDOUT в файл, перезаписывая его
- >> - направляет STDOUT в конец файла
- | - связывает канал STDIN одного процесса с каналом STDOUT другого.
Примеры:
echo "Hello." > filename
rm notfile > filename 1>&2
ps -ef | /usr/
1. Пишет текст "Hello." в файл filename
2. Направляет STDOUT команды rm в файл filename и STDERR направили туда же, куда направлен STDOUT
3. Выводит только те процессы, которые содержат в пути /usr/
Использование переменных
В командной строке возможно объявление, присваивание значений и обращение к переменным. Важно не ставить пробелов до и после "=".
Примеры:
var='value'
echo $value
version=12
echo "Saved ${12}th version"
Фильтры
Разбивка строк на поля
Команда cut выводит выбранные части входных строк.
Примеры:
cut -d: -f7 < /etc/passwd
Сортировка строк
Команда sort сотрирует входные строки.
Примеры:
sort -t: -k3,3 -n /etc/group
Подсчет строк, слов и символов
Команда wc считает количество строк, слов и символов в файле. По умолчанию выводит все три значения.
Примеры:
sort -t: -k3,3 -n /etc/group
Копирование входного потока в два места
Команда tee отправляет входной поток в STDOUT и в файл.
Примеры:
wc /etc/passwd | tee /dev/tty | wc -l
Устройство /dev/tty - синоним текущего терминала.
Чтение файла с начала или с конца
Команды head и tail по умолчанию отображают по 10 строк файла с начала или с конца.
Примеры:
head /etc/passwd
tail /etc/passwd
Поиск текста
Команда grep выводит строки, которые совпадают с шаблоном.
Примеры:
sudo grep -l mdadm /var/log/*