agar trash tidak kejam

 

agar trash tidak kejam

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

great thanks [Webupd8 dan Grizzly]

Atas