Подборка сниппетов для bash, которые используются слишком редко, потому не сохраняются в истории и вылетают из головы, но при этом бывают полезными.
Процессы
Убить все процессы с заданным именем
1 | for p in $(ps aux | grep -i httpd.worker | cut -d " " -f 4,5) ; do kill $p ;done |
Когда не доверяешь pkill.
Узнать родителей процесса
1 | ps -ocommand= -p $p | awk -F/ '{print $NF}' | awk '{print $1}' |
Узнать родителей всех порождённых процессов
1 | for p in $(ps aux | egrep oracle | cut -d ' ' -f 4); do ps -ocommand= -p $p | awk -F/ '{print $NF}' | awk '{print $1}' ;done | uniq |
Во всех командах параметр -f
для cut
может требовать подбора верного числа.
Вывести процессы, сортированные по потребляемой памяти
1 | ps -eo pmem,pcpu,vsize,pid,cmd | sort -k 1 -nr | head -5; free -m |
Файлы
Заменить строку в файле
1 | perl -pi -e 's/search/replace/g' file.txt |
Заменить строку в файлах
1 | find . -type f -exec sed -i 's/search/replace/g' {} + |
Проверка существования файла в условии if
1 2 3 4 | if ! [ -e $1 ] || [ -z $1 ] ; then echo File $1 doesnt exists exit 1 fi |
Проверить существование файлов по списку (вывести несуществующие)
1 | for line in $(cat mylist.log); do if ! [ -e "$line" ]; then echo $line; fi ;done |
Размеры директорий на разделе, который смонтирован в указанный каталог
1 | du -hx --max-depth=1 / |
Когда забился корневой раздел, и нужно найти самые объёмные каталоги
Архивировать файлы с паролем
1 | 7z a -p'paswword' -xr!"*.log" /tmp/${archive_name}.7z ${src_path} > /dev/null |
-xr!
для исключения файлов из архива
ZIP Архивировать файл с датой
1 | zip -r ~/tmp/archive-$(date +%Y-%m-%d-%H-%M-%S).zip . -x '*node_modules*' |
-x
для исключения файлов из архива
TAR GZIP/BZIP Архивировать файл с датой
1 2 | tar cfvz ~/tmp/archive-$(date +%Y-%m-%d-%H-%M-%S).tar.gz . --exclude "cache" tar cfvj ~/tmp/archive-$(date +%Y-%m-%d-%H-%M-%S).tar.bz2 . --exclude "cache" |
--exclude
для исключения файлов из архива
Залить файл на гуглдиск
1 | gdrive upload --parent 0B9ILkUWzQMQy3Q2hscGXaNX0zUXc ~/myfile.bz2 |
Статья на блоге про бэкапы на ГуглДиск.
Медиа
Конвертировать в MP3
1 | lame -b 192 file.wav file.mp3 |
Изменить битрейт MP3
1 | lame --mp3input -b %bitrate% file.mp3 targetfile.mp3 |
Показать разрешение файлов, которые больше 900KB
1 | identify -format "%Wx%H\n" $(find . -size +900k -type f) |
Изменить размер до 900 для изображений, у которых ширина больше 900
1 | mogrify -resize '900x99999>' -quality 90 *.* |
Разное
Показать пакеты с архитектурой
1 | rpm -qa --qf '%{NAME}.%{ARCH}\n' |
Формат даты
1 | $(date +%Y-%m-%d-%H-%M) |
Установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)
1 | date 091412442012 |
RDP соединение на PC с виндой
1 | rdesktop -g 1366x718 -u User -pPASSWORD -r disk:share=/home/user/shared_dir/ -r sound:off -rclipboard:CLIPBOARD -T RemoteUserHost username |
Бэкап БД
1 | mysqldump -u user -ppassword database table | gzip > backup-database.sql-$(date +%Y-%m-%d.%H%M%S).gz |
XFCE: перезапустить рабочий стол (и сменить обои, если настроено)
1 | xfdesktop --reload |
XFCE: перезапустить настройки (помогает, если сбиваются настройки клавиатуры, мыши т.д.)
1 | xfsettingsd --replace |
Настройка звука (PulseAudio)
1 | pavucontrol |
Показать GUI с устройствами ввода-вывода звука, и приложениями-источниками звука.
Другие полезные статьи на блоге про консоль:
- Бэкап на Google Drive из консоли
- Бенчмарки быстро
- Linux: скрипты и настройки
- Терминал и его команды
- Бэкап на Google Диск из командной строки
- Linux: конвертировать файлы в PDF
- WordPress: ошибки в NextGEN-галереях
- Linux: конвертировать видео в GIF