Satu lagi dari Gnome Hacks, untuk menjaga kesalahan dalam klik menghapus atau memindahkan file agar tidak hilang di 'trash'. Pada distribusi Ubuntu di Synaptic Package Manager, ada satu aplikasi bernama "trash-cli" yang harus diinstallkan terlebih dahulu dan menset alias untuk perintah "rm" untuk menggunakan "trash-cli". Karena "trash-cli" juga menghapus folder, meskipun tidak dengan pilihan perintah "-r" - recursive -, dalam blognya, Grizzly secara inovatif menyusun script untuk agar folder tidak ikut terhapus saat pilihan perintah argumen "-r" tidak digunakan.
Dalam penjelasannya "trash-cli" adalah "This package provides a command line interface trashcan utility compliant with the FreeDesktop.org Trash Specification. It remembers the name, original path, deletion date, and permissions of each trashed file" yang menghasilkan perintah:
prompt:~/tmp$ ls -Flahi /usr/bin/*trash* 52579 -rwxr-xr-x 1 root root 1.4K 2008-08-06 06:43 /usr/bin/empty-trash* 52576 -rwxr-xr-x 1 root root 983 2008-08-06 06:43 /usr/bin/list-trash* 52578 -rwxr-xr-x 1 root root 1.4K 2008-08-06 06:43 /usr/bin/restore-trash* 52571 -rwxr-xr-x 1 root root 4.7K 2008-08-06 06:43 /usr/bin/trash*
dimana hal itu masih juga menyebabkan penghapusan secara tuntas folder-foldernya. Dan disinilah mantera Grizzly sebisa mungkin digunakan, dibawah adalah langkah mulai dari penginstallan "trash-cli" hingga memasukkan mantera script dari Grizzly, untuk menset perintah "rm" untuk memindahkah file dan folder ke trash
- Install trash-cli di Ubuntu
sudo apt-get install trash-cli
- Set mantera via terminal Ubuntu:
sudo gedit /usr/bin/trash-rm
- Isikan perintah ini pada file yang baru saja terbuka, kemudian simpan:
#!/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[@]}"
- Buat file itu menjadi executable dengan perintah di terminal:
sudo chmod +x /usr/bin/trash-rm
- Membuat alias atas "rm" untuk menggunakan perintah "trash-rm", jalankan di terminal untuk Ubuntu:
sudo gedit ~/.bashrc
- kemudian masukkan perintah ini pada baris terbawah, kemudian simpan:
alias rm="trash-rm"
- Reload bashrc dengan mengetikan perintah di terminal:
bash
Selesai, begitulah menurut Grizzly, inovasi untuk menghapus file dengan menggunakan "rm" dan "rm -r", Jika takut apabila hardisk akan penuh karena file terhapus masih disimpan di 'trash' maka lakukan pembersihan secara periodik. Ataupun merestore-nya jika dibutuhkan dengan opsi pilihan dari terminal yang bisa digunakan semisal:
empty-trash
list-trash
restore-trash