Ubuntu: utilizzare il comando rm per spostare i file nel cestino invece di eliminarli
Una delle cose che spesso mi viene chiesto è come sia possibile cancellare i file da terminale senza eliminarli definitivamente. Alcuni utenti, quindi, vorrebbero sapere se esiste un modo per utilizzare il comando rm per spostare i file nel cestino e non cancellarli direttamente. Una possibile soluzione potrebbe essere quella di aggiungere un alias al file ~/.bashrc:
alias rm='mv --verbose -f --backup=numbered --target-directory ~/.Trash/'
Il problema di questa soluzione, però, è che non rimuoverà il file se si trova in una directory con lo stesso nome, e viceversa. La soluzione è dunque utilizzare uno script. Digitate da terminale:
sudo gedit /bin/trashit
E si aprirà un file di testo vuoto in cui dovrete inserire il seguente codice:
#!/bin/sh
# trashit
# original script
# http://www.macosxhints.com/article.php?story=20030217172653485
# author: Shane Celis
#
# modded: Tanino Rulez
# url: www.chimerarevo.com
if [ $# -eq 0 ]; then
echo "usage: trashit " >&2
exit 2;
fi
for file in "$@"; do
# get just file name
destfile="`basename \"$file\"`"
suffix='';
i=0;
# If that file already exists, change the name
while [ -e "$HOME/.local/share/Trash/files/${destfile}${suffix}" ]; do
suffix=" - copy $i";
i=`expr $i + 1`
done
mv -vi "$file" "$HOME/.local/share/Trash/files/${destfile}${suffix}"
done
Ora salvate e assegnate i permessi di esecuzione allo script:
sudo chmod +x /bin/trashit
Adesso digitate:
sudo gedit ~/.bashrc
ed aggiungete al file il seguente alias:
alias rm='/bin/trashit'
Salvate il file, riavviate il terminale e, da questo momento in poi, se usate il comando “rm” i file saranno spostati nel cestino e non cancellati. E se invece volessimo rimanere il comando “rm” così come lo conosciamo e creare un nostro comando personalizzato per spostare i file nel cestino? Basterà creare un alias a vostro piacere (assicurandovi prima che esso non esista già per un altro comando); ad esempio, io ho creato il comando “cestina” in questo modo:
alias cestina='/bin/trashit'
Adesso ogni volta che digiterò “cestina nomefile”, il file in questione verrà spostato nel cestino :)
[info]Ho testato lo script su Ubuntu 11.10 Oneiric![/info]






Pingback: Ubuntu: utilizzare il comando rm per spostare i file nel cestino invece di eliminarli - Kimblo Scienze
Pingback: Ubuntu: utilizzare il comando rm per spostare i file nel cestino invece di eliminarli
Pingback: Ubuntu: utilizzare il comando rm per spostare i file nel cestino invece di eliminarli - Informatica - Tua Notizia
Pingback: Ubuntu: utilizzare il comando rm per spostare i file nel cestino invece di eliminarli | SegnalaFeed.It