Новые команды этого урока
vi
Текстовый редактор с двумя режимами: командным и режимом вставки. Один из наиболее распространённых редакторов в UNIX-системах.
vi /tmp/file # создать/открыть файл
i # войти в режим вставки
Esc # вернуться в командный режим
:wq # сохранить и выйти
:q! # выйти без сохранения
nano
Простой текстовый редактор в командной строке. Не требует изучения сложных комбинаций клавиш — режим редактирования активен сразу.
nano /tmp/file # открыть файл
Ctrl+O Enter # сохранить файл
Ctrl+X # выйти из редактора
df — disk free
Отображает информацию о доступном дисковом пространстве на файловых системах.
df -h # в человекочитаемом формате (КБ→МБ/ГБ)
grep
Поиск текстовых данных в файлах или выводе других команд. Имеет множество ключей для точной настройки поиска.
grep "pattern" filename.txt # поиск в файле
ls -l | grep "file" # поиск в выводе команды
grep -w / output.txt # поиск целого слова (не части)
grep -i "root" /etc/passwd # игнорировать регистр
Ключи grep
| Ключ | Длинная форма | Что делает |
|---|---|---|
-i | --ignore-case | Игнорирует регистр символов при поиске |
-v | --invert-match | Выводит строки, НЕ содержащие совпадений |
-w | --word-regexp | Ищет только слова целиком, а не части слов |
-r / -R | --recursive | Рекурсивный поиск в поддиректориях |
-A N | --after-context=N | Выводит N строк после совпадения |
-B N | --before-context=N | Выводит N строк перед совпадением |
-C N | --context=N | Выводит N строк вокруг совпадения |
awk
Утилита командной строки и язык программирования для обработки и анализа текстовых данных. Разбивает строки на поля-колонки и выполняет операции над ними.
awk '{print $5}' file.txt # вывести 5-ю колонку
df -h | awk '{print $5}' # 5-я колонка из df -h (% занятости)
sed — Stream Editor
Утилита для выполнения текстовых преобразований в потоках данных. Работает построчно. Чаще всего используется для поиска и замены текста.
sed 's/apple/orange/g' file.txt # заменить все вхождения
sed 's/%//g' # удалить знак % (замена на пустую строку)
cat /etc/group | grep -w user2 | sed 's/user2/ivan/g'
Синтаксис sed 's/что/на_что/g': s — substitute (подмена); между слешами — «что» и «на что»; g — глобальная замена всех вхождений в строке, не только первого.
Ранее изученные команды
Команды из предыдущих занятий, активно используемые в этом уроке и ДЗ:
cat— вывести содержимое файла; в конвейере — подать файл на входwc— подсчёт строк (-l), слов (-w), символов (-m), байт (-c)head— первые строки файла (head -n 9илиhead -9)tail— последние строки файла (tail -n 3илиtail -3)echo— вывести строку в stdout; с>>— дозаписать в файлls— список объектов директории;ls -a— включая скрытые
Esc (на всякий случай — дважды), затем :q! и Enter — выход без сохранения из любой ситуации. Это самый частый вопрос новичков в истории Stack Overflow.