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