Администрирование Linux: различия между версиями
Mllnr (обсуждение | вклад) Нет описания правки |
Mllnr (обсуждение | вклад) Нет описания правки |
||
Строка 2: | Строка 2: | ||
== |
== Сценарии и командная оболочка == |
||
Версия от 23:00, 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 выводит выбранные части входных строк.
Ключи:
- -d позволяет изменить разделитель (По умолчанию это символ <Tab>)
- -f позволяет указать, какие поля включить в результат.
Примеры:
cut -d: -f7 < /etc/passwd
Сортировка строк
Команда sort сотрирует входные строки.
Ключи
- -b - игнорировать ведущие пробелы
- -f - сортировать без учета регистра букв
- -k - указать столбцы, формирующие сортировочный ключ
- -n - сравнивать поля как целые числа. По умолчанию они сравниваются лексикографически.
- -r - изменить порядок сортировки на противоположный
- -t - установить разделитель полей (по умолчанию - пробел)
- -u - выводить только уникальные записи
Примеры:
sort -t: -k3,3 -n /etc/group
Подсчет строк, слов и символов
Команда wc считает количество строк, слов и символов в файле. По умолчанию выводит все три значения.
Ключи
- -l - выводит только число строк
- -w - выводит только число слов
- -c - выводит только число символов
Примеры:
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 выводит строки, которые совпадают с шаблоном.
Ключи:
- -c - выводить количество совпавших строк
- -i - игнорировать регистр букв
- -v - вывод только несовпавших строк
- -l - вывод только имен файлов, содержащих совпавшие с шаблоном строки
Примеры:
sudo grep -l mdadm /var/log/*