Rm çağrılarını durdurmanın ve dosyaları kalıcı olarak silmek yerine, onları çöp kutusuna taşımak yerine bir yolu var mı?
Rm çağrılarını durdurmanın ve dosyaları kalıcı olarak silmek yerine, onları çöp kutusuna taşımak yerine bir yolu var mı?
Yanıtlar:
Bunun için webupd8.org'da bir tarif var . Bağlantı çürümesini önlemek için, önemli bilgiler (birkaç ekleme ile).
sudo apt-get install trash-cli
Bu kuracak trash
, empty-trash
, list-trash
ve restore-trash
onu olduğu gibi kullanımı veya yapabilirsiniz komutlar, rm
bir diğer ad trash
(aşağıya bakınız).
trash
Komutun semantiği standarttan biraz farklıdır rm
- -r
dizinleri silebilmek için bayrak gerektirmez . Bu sizi rahatsız ediyorsa, webupd8.org, PATH'inize koyabileceğiniz ve onu çağırabileceğiniz aşağıdaki komut dosyasını önerir trash-rm
:
#!/bin/bash
# command name: trash-rm
shopt -s extglob
recursive=1
declare -a cmd
((i = 0))
for f in "$@"; do
case "$f" in
(-*([fiIv])r*([fiIv])|-*([fiIv])R*([fiIv]))
tmp="${f//[rR]/}"
if [ -n "$tmp" ]; then
#echo "\$tmp == $tmp"
cmd[$i]="$tmp"
((i++))
fi
recursive=0
;;
(--recursive) recursive=0
;;
(*)
if [ $recursive != 0 -a -d "$f" ]; then
echo "skipping directory: $f"
continue
else
cmd[$i]="$f"
((i++))
fi
;;
esac
done
trash "${cmd[@]}"
Ubuntu 12.04 ve üstü, senaryoda geçen komut olmalıdır trash-put "${cmd[@]}"
yerine trash "${cmd[@]}"
(komut dönüşmesiyle trash
için trash-put
).
Ardından komut dosyasını yürütülebilir yapın:
chmod +x trash-rm
Bir dizinde bulunduğunuzda PATH
, ~ / .bashrc dosyanıza gerçek rm
komut yerine komut dosyanızı çağırmak için bash yapacak bir diğer ad ekleyin :
alias rm="trash-rm"
Djeikyb doğru şekilde işaret ettiği gibi, .bashrc takma adı yalnızca .bashrc değiştirilmiş olan kullanıcı için ve yalnızca bash terminal oturumunda çalışır.
Ve bu olmalı.
alias="trash"
). Senaryoya sahip olmanın avantajını biliyor musunuz?
trash
daha çok davranmaktır rm
. Bu, rm
örneğin çalıştığı gibi bekleyen bazı komut dosyaları için önemli olabilir . Cevabı güncelledim.
libtrash (Ubuntu'daki libtrash paketi) bunu yapıyor gibi görünüyor, ama hiç kullanmadım.