Администрирование Linux
Учебник - краткий справочник по администрированию 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/*