echo [что_вывести]
- вывод строки в STDOUT (например,echo $DT
выведет в консоль значение переменной $DT)echo [что_вывести] >&2
— вывод строки в STDERRpwd
— вывести путь к текущей директорииwhoami
— вывести логин текущего пользователя
cd [путь]
— перейти в заданную папкуcd ..
— перейти на уровень вышеcd ../..
— перейти на 2 уровня вышеcd
— перейти в домашний каталогcd -
— перейти в предыдущий каталог (полезно, когда нужно уйти в другой каталог, а потом вернуться обратно)ls
— показать файлы и директории в текущей директорииls -a
— показать файлы и директории, включая скрытыеls -1
— вывод файлов и папок, каждое название с новой строкиmkdir [имя]
— создать директорию в текущейrm [путь]
— удалить файлrm -rf [путь]
— удалить папку (-r
— рекурсивно удалить всё содержимое,-f
— не запрашивать подтверждение удаления для каждого файла/папки)mv [имя1_или_путь1] [имя2_или_путь2]
— переместить\переименоватьcp [что_копировать] [куда_копировать]
— скопировать файлfind [где_искать] -name [имя_что_искать]
— поиск файлов по имени в заданной папке (в имени можно использовать*
)
cat [путь_к_файлу]
— вывод содержимого файлаsort
— сортирует строки, поданные на входsort -r
— сортировка в обратном порядкеsort -n
— воспринимать сортируемые строки как числаsort -u
— удалить неуникальные строкиwc -l
— число строк в файлеwc -w
— число слов в файлеwc -c
— число символов в файлеtail -n 20 [путь_к_файлу]
илиtail -20 [путь_к_файлу]
— вывод последних 20 строк файла (если количество не задано, будет выведено 10 строк)awk '{ print $3 }'
— разбить строку на фрагменты по разделителюTAB
илипробел
и вывести третий фрагментawk -F / '{ print $1 }'
— разбить строку на фрагменты по заданному разделителю (/
)
Утилита grep ищет в файлах участки текста, соответствующие шаблону pattern, где pattern может быть как обычной строкой, так и регулярным выражением.
grep [pattern] [путь к файлу]
— поиск в заданном файлеgrep [pattern]
— поиск в тексте, поданном на вход (например в результате выполнения предыдущей команды в цепочке)
Полезные ключи:
-R
— поиск в папке и во всех вложенных папках-v
— ищет строки, не соответствующие шаблону-i
— поиск без учета регистра символов-l
— вместо найденных строк вывести пути к файлам, где были найдены совпадения-o
— выводить только часть строки соответствующую шаблону, а не всю строку с подсвеченной частью-h
— не выводить имя файла перед найденной строкой-C <число>
— вывести N соседних строк для каждой найденной строки
Вот хорошая статья про grep с примерами.
xargs [команда]
— запуск указанной команды с передачей ей аргументов, поданных на вход (см. далее пример про docker)xargs -L 2 [команда]
— запуск указанной команды несколько раз, каждый раз ей будут переданы очередные два аргумента, поданные на вход команде xargs (вмсето 2 можно указать другое число)xargs -P 10
— запустить выполнение в указанное число (в примере 10) потоков. может значительно ускорить процесс :)ps aux
— вывести список запущенных процессов всех пользователейkill [id_процесса]
— завершить процесс (id можно узнать предыдущей командой)nohup [что_запускать]&
— запустить команду, чтобы она продолжала выполняться в фоновом режиме после выхода пользователя из системы (внимание, в конце символ&
)
curl [url]
- скачивание файла с заданного адреса и вывод на экранcurl -o [название_файла] [url]
- скачивание файла с заданного адреса и сохранение в файлcurl -L [url]
- если при получении страницы вернулся редирект (код 301 или 302), то скачать файл еще раз с нового адресаcurl -I [url]
- получить только http-заголовки для заданного адресаcurl -H [заголовок: значение] [url]
- передача своего http-заголовкаscp [путь] [пользователь]@[сервер]:[путь_на_удаленном_сервере]
- скопировать файл со своего компьютера на удаленный серверscp [пользователь]@[сервер]:[путь_на_удаленном_сервере] [путь]
- скопировать файл с удаленного сервера на свой компьютер
Удаление docker-образов, содержащих в названии "<none>"
docker images | grep "<none>" | awk '{print $3}' | xargs -L 1 docker rmi
В этом примере:
- команда
docker images
выведет все docker образы; - этот список строк будет подан на вход команде
grep "<none>"
, которая отфильтрует строки, содержащие подстроку"<none>"
; - отфильтрованный список строк будет подан на вход команде
awk '{print $3}'
, которая разобьет каждую строку на фрагменты по разделителюTAB
и выведет третий фразмент (хэш-сумму образа); - хэш-суммы образов будут поданы на вход команде
xargs -n1 docker rmi
, которая для каждого значения выполнит командуdocker rmi
(получится набор командdocker rmi <hash-1>
,docker rmi <hash-2>
, ...docker rmi <hash-N>
)