find /home/ -mtime +1 -size +1M -exec ls -laH "{}" \; # старьё
find /home/ -mtime -1 -size +1M -exec ls -laH "{}" \; # свежак
find . -mmin +5 -mmin -10 # файлы (тута), модифицированные между 6 и 9 минутами назад
find . -type f -mmin -5 -exec ls "{}" \; # изменились за посл 5 мин
find . -type f -mmin -$((60*2)) -exec ls "{}" \; # изменились за посл 2 часа
find ./ -name "*.html" | xargs perl -i -p -e "s/придти/прийти/g"
find ./ -name "test.txt" | xargs sed -i "s/3.1.7/version/g"
find . -newer ./passwd.awk ! -newer ./functions.awk -exec stat -c "%n %y" "{}" \;
# find for
for X in $(find ./ -type f -name '*.tar.gz'); do
echo "и тут всё что угодно можно с $X делать";
done
# не сработает если пробелы в именах файлов
# поэтому find и while read
find ./ -name '*.tar.gz' -print0 | while IFS= read -r -d '' X; do
echo "по прежнему делаем с $X что захотим";
done
# и еще варианты
find ./ -name '*.rar' -type f -print0 | xargs -0 -n1 ls -la
find ./ -type d -exec rm -f "{}.rar" \;
find ./ -type f -name \*.rar -execdir bash -c '[[ -d $(basename "{}" .rar) ]] || exit 1' \; -print # заменить -print на -delete
#0 - не создавать резервные копии.
#1 - разрешить создание резервных копий.
#Шестое поле строки указывает команде fsck (утилита для проверки на ошибки) на необходимость проверки файловой системы.
#0 - раздел не будет проверятся.
#1 - раздел будет проверяться в первую очередь.
#2 - раздел будет проверяться после раздела со значением 1.
UUID=****-**** / ext4 errors=remount-ro 0 1
# swap
UUID=****-**** none swap sw 0 0
# DOP свалки, в которые в home юзера будут вести симлинки.
UUID="****-****" /mnt/DOP ext2 rw,owner,sync 0 2
UUID="****-****" /mnt/DOP2 ext2 rw,owner,sync 0 2
# hint:
# vim /etc/fstab
# встаём на строку куда надо вставить и :read !blkid
# убираем лишнее из текста.
$ echo "ibase=2; 01001111"|bc
79
или без echo
bc <<< "ibase=2; 00001000"
8
$ bc <<< "ibase=16; F3"
243
$ bc <<< "ibase=16; FF"
255
$ bc <<< "ibase=10;obase=16; 255"
FF
$ bc <<< "ibase=16;obase=2; FF"
11111111
=====
$ echo $((2#11111111))
255
$ echo $((16#FF))
255
=====
$ bc <<< "obase=2 ; $((16#FF))"
11111111
$ bc <<< "obase=16 ; $((2#11111111))"
FF
rsync бэкап:
rsync -avzP --delete /home/user/to_back /home/user/backups/project_backup
# rsync кроме каталогов:
rsync -avzP --delete --exclude={'Music','Pictures','Documents'} /home/user_from/ user_name@11.222.333.444:/home/user_to/path/
# перелить каталог:
rsync -varP -e ssh Videos user@77.777.77.777:/home/user/DOP/
# без дополнительного кэша, map файлов и прочего выхлопа от sass.
sass -C -t compressed ./sass/main.scss:./css/main.css --sourcemap=none --trace
статус батареи ноутбука bash
# статус батареи из консоли:
upower -i $(upower -e | grep BAT) | grep --color=never -E 'state|to\ full|to\ empty|percentage'
# или
upower -i $(upower -e | grep BAT) | awk '/state| to |percentage/'
AM PM locale date time. Изменение отображения времени в конкретной локали.
Очень редко нужно, поэтому забывается, но когда нужно, то приходится искать каждый раз с нуля и это задалбывает.
Поэтому сделаю себе напоминалку как поменять формат времени в уже существующей локали.
# смотю что есть:
locale -k LC_TIME
# Вижу d_t_fmt t_fmt date_fmt и т.д. которые хотел бы поменять.
# Проверяю что есть сейчас и что хотелось бы получить:
date +"%a %d %b %Y %r %Z"
Sun 22 Sep 2024 02:59:10 PM MSK
date +"%a %d %b %Y %T %Z"
Sun 22 Sep 2024 15:01:53 MSK
# Иду править файл настроек нужной мне локали. Выставляю форматы даты/времени:
vi /usr/share/i18n/locales/en_US
# генерирую нужную мне локаль с новыми настройками:
locale-gen en_US.UTF-8
...
Generation complete.
# Проверяю:
date
Sun 22 Sep 2024 15:03:55 MSK
locale -k LC_TIME