Набір корисних і дуже корисних команд, котрі в силу своєї довжини не завжди вміщаються в голові.
На прикладі деректорії ~/:
du -h ~/ | sort -rh | head -5
Вивід топ-5 директорій включаючи піддиректорії:
du -hS ~/ | sort -rh | head -5
Вивід топ-5 файлів:
find ~/\* -type f -exec du -Sh {} + | sort -rh | head -n 5
mount -o loop,iocharset=utf8 -t iso9660 /шлях/до/образу /куди/монтувати
find /де/шукати/ -name "\*.mp3" -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1
ffmpeg -f x11grab -s 1920x1080 -r 25 -i :0.0 -vcodec qtrle -f mov ~/video.mov
Детальніше на ffmpeg.org.
net rpc shutdown -r -f -C "shutting down" -I 192.168.7.14 -U домен/\\логін%пароль
diff -q dir-1/ dir-2/
Або використовуючи програму meld при наявності графічного оточення.
Використовується програма pv яка ставиться зі стандартних репозиторіїв. Приклад використання:
pv що_копіювати > куди_копіювати
Взято з www.tecmint.com.
Команди grep/egrep можна використовувати для виводу вмісту файлу без певних визначених рядків. Наприклад можна виводити вміст файлів конфігурації без закоментованих рядків. Досить цікава штука так як розмір файлу може бути в кілька метрів довжиною, а на 99.99% це можуть бути коментарі та закоментовані параметри. При цьому основна відмінність команди egrep від grep в тому що для неї просто можна задавати не один фільтр, а декілька. Приклад використання:
egrep -v "^$|^#" /boot/grub/grub.cfg
Що тут маємо - ^X - показує який символ початку рядка ми хочемо додати у шаблон, де X - будь-який символ. | використовуємо для розділення при додаванні кількох символів у шаблон. У даному випадку ми виводимо вміст файлу /boot/grub/grub.cfg без порожніх(^$) та без закоментованих(^#) рядків. Без ключа -v виведуться лише порожні та закоментовані рядки.
Знайти в директорії та у всіх вкладених директоріях файли txt й замінити в них один текст на інший:
find -name '_.txt' -exec sed -i -e 's/що замінити/на що замінити/i' "{}" \\;
У файлі test вставити слово ТЕКСТ на початку кожного рядка:
sed 's/^/текст/' test
У файлі test з’єднати рядки попарно(як варіант видалення порожніх рядків). Класичний приклад, зараз чомусь ще й видаляє перший символ кожного рядка:
sed '$!N;s/\\n/ /' test
У файлі test витерти порожні рядки. Класичний приклад, без \s_ перед $, що гуляє всіма інтернетами, зараз чомусь не спрацьовує.
sed '/^\\s_$/d' test
У файлі test в кінці рядка дописати КІНЕЦЬ РЯДКА. Класичний приклад, без \s_ перед $, що гуляє всіма інтернетами, зараз чомусь не спрацьовує.
sed 's/\\s_$/ кінець рядка/g' test
У файлі test через кожні 2 символи написати ВСТАВКА:
sed 's/(..)/\\1ВСТАВКА/g' test
У файлі test витерти пробіл перед комами чи витерти всі пробіли перед комами:
sed 's/ ,/,/g' test
sed 's/( )+,/,/g' test
sed 's/ _,/,/g' test
У файлі test додати в кінці рядків крапку якщо її немає.
sed 's/[^\.]$/./' test
Хитрий набір команд бере файл file_list що є файлом який містить список файлів та тек створеним у Total Commander і робить з нього список в один рядок:
sed -i 's/.$//' file_list
cat file_list | tr '\\n' ' ' > test
cat test | tr '[:upper:]' '[:lower:]' > file_list
sed -i 's/\\/,/g;s/( )+/ /g;s/, $//' file_list
rm test
У файлі test замінити 2+ пробілів одним, ( )+ можна заміняти на пробілпробіл_:
sed 's/( )+/ /g' test
sed 's/ _/ /g' test
У файлі test вставити пробіл після кожного символу:
sed 's/()+/ /g' test
У файлі test витерти пробіли в кінці рядків:
sed 's/ _$//' test
У файлі test витерти пробіл перед крапками чи витерти всі пробіли перед крапками:
sed 's/ ././g' test
sed 's/( )+././g' test
або ( )+ можна заміняти на пробіл_ :
sed 's/ \*././g' test