BASH_SRV Telegram 79
🗑️ Bash-совет дня: safe_rm — «корзина» для удаляемых файлов

Сколько раз вы случайно удаляли важный конфиг? Давайте сделаем rm более дружелюбным — вместо мгновенного уничтожения файлы будут складываться в «корзину» и автоматически очищаться спустя 30 дней.


#!/usr/bin/env bash
# safe_rm — перемещает удаляемые файлы в локальную «корзину»

TRASH_DIR="$HOME/.local/share/Trash/files" # куда складываем
mkdir -p "$TRASH_DIR"

stamp=$(date +%Y-%m-%d_%H-%M-%S)

for item in "$@"; do
if [[ ! -e $item ]]; then
printf '⚠️ %s: no such file or directory\n' "$item" >&2
continue
fi
mv -- "$item" "$TRASH_DIR/$(basename "$item")_$stamp"
done

# авто-очистка файлов, которым больше 30 дней
find "$TRASH_DIR" -type f -mtime +30 -delete 2>/dev/null


Быстрый старт


sudo install -m 755 safe_rm /usr/local/bin/
echo "alias rm='safe_rm'" >> ~/.bashrc && source ~/.bashrc


Проверяем


touch important.cfg
rm important.cfg
ls ~/.local/share/Trash/files # Файл на месте 🎉


> Лайфхак:
> Хотите разные сроки хранения? Меняйте -mtime +30 на нужное количество дней.
> Регулярные выражения в find позволяют тоньше выбирать, что чистить (например, только логи *_$(date +%Y-%m-*)).

Спасайте нервы и конфиги! 😉

👉@bash_srv
👍12



tgoop.com/bash_srv/79
Create:
Last Update:

🗑️ Bash-совет дня: safe_rm — «корзина» для удаляемых файлов

Сколько раз вы случайно удаляли важный конфиг? Давайте сделаем rm более дружелюбным — вместо мгновенного уничтожения файлы будут складываться в «корзину» и автоматически очищаться спустя 30 дней.


#!/usr/bin/env bash
# safe_rm — перемещает удаляемые файлы в локальную «корзину»

TRASH_DIR="$HOME/.local/share/Trash/files" # куда складываем
mkdir -p "$TRASH_DIR"

stamp=$(date +%Y-%m-%d_%H-%M-%S)

for item in "$@"; do
if [[ ! -e $item ]]; then
printf '⚠️ %s: no such file or directory\n' "$item" >&2
continue
fi
mv -- "$item" "$TRASH_DIR/$(basename "$item")_$stamp"
done

# авто-очистка файлов, которым больше 30 дней
find "$TRASH_DIR" -type f -mtime +30 -delete 2>/dev/null


Быстрый старт


sudo install -m 755 safe_rm /usr/local/bin/
echo "alias rm='safe_rm'" >> ~/.bashrc && source ~/.bashrc


Проверяем


touch important.cfg
rm important.cfg
ls ~/.local/share/Trash/files # Файл на месте 🎉


> Лайфхак:
> Хотите разные сроки хранения? Меняйте -mtime +30 на нужное количество дней.
> Регулярные выражения в find позволяют тоньше выбирать, что чистить (например, только логи *_$(date +%Y-%m-*)).

Спасайте нервы и конфиги! 😉

👉@bash_srv

BY Bash Советы




Share with your friend now:
tgoop.com/bash_srv/79

View MORE
Open in Telegram


Telegram News

Date: |

Ng was convicted in April for conspiracy to incite a riot, public nuisance, arson, criminal damage, manufacturing of explosives, administering poison and wounding with intent to do grievous bodily harm between October 2019 and June 2020. More>> bank east asia october 20 kowloon 2How to set up a Telegram channel? (A step-by-step tutorial) Other crimes that the SUCK Channel incited under Ng’s watch included using corrosive chemicals to make explosives and causing grievous bodily harm with intent. The court also found Ng responsible for calling on people to assist protesters who clashed violently with police at several universities in November 2019.
from us


Telegram Bash Советы
FROM American