====== Шпаргалка по консольным командам Linux ======
===== Полезные заготовки для скриптов =====
* Повторный запуск команды с разными аргументами переданными через pipe
* Аргументы разделены символом перевода строки seq 1 5 | xargs -l echo number =
* Аргументы разделены пробеламиecho $(seq 1 5) | xargs -d" " -l echo number =
===== Работа с текстом =====
* Замена текста в файле sed 's/текст_для_поиска/текст_для_замены/g' -i имя_файла
* Замена текста в файле с сохранением оригинального файла с расширением .orig sed 's/текст_для_поиска/текст_для_замены/g' -i.orig имя_файла
* Фильтр по заданному набору символов ... | tr -cd 'набор символов'
* Пример - отфильтровать все символы кроме цифр [:digit:] (можно заменить на [0-9]) и переноса строки \n $ echo -e "a1a\nb2b\nc3c" | tr -cd '[:digit:]\n'
1
2
3
===== Печать =====
* Быстрая печать текста на принтер по умолчанию
- Набираем командуlpr
- Набираем текст
- Жмём Enter и затем Control+D
* Быстрая печать простого текстового файлаlpr /path/to/filename.txt
* Печать мануалаman sudo | lpr
===== Файлы =====
* создать файл (если его нет) touch /{путь}/{имя файла}
* создать файл размером 1Gb (мгновенно) dd if=/dev/null of=filename bs=1M seek=1024
илиtruncate -s 1G filename
* создать файл размером 1Gb (заполненный нулями) dd if=/dev/zero of=filename bs=1M count=1024
* получить размер директорий и файлов отсортированных в порядке возрастания размера (не включает скрытые директории и файлы имена которых начинаются с точки '.')
* coreutils >= 7.5 (размер в формате human-readable) du -sh * | sort -h
* coreutils < 7.5 (размер в MiB) du -sm * | sort -n
===== Управление пакетами =====
==== Ubuntu ====
* Удалить неиспользуемые ядра (например, с версии 2.6.32-24-generic по 2.6.32-32-generic) sudo dpkg -P $(major=2.6.32; type=generic; for minor in $(seq 24 32); do echo linux-headers-$major-$minor linux-headers-$major-$minor-$type linux-image-$major-$minor-$type; done)
==== Arch Linux ====
* Получить список установленных сторонних пакетов (не из рерозитория) pacman -Qm
===== Системы контроля версий =====
==== Git ====
==== Subversion ====
* "svn update" with --dry-run svn merge --dry-run -r BASE:HEAD .
{{tag>cheatsheet}}