====== Шпаргалка по консольным командам 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}}