Saturday, February 20, 2010

உபுண்டுவில் rm (move to trash) command

உபுண்டுவில் ஒரு கோப்பையோ அல்லது ஒரு அடைவயோ அழிப்பதற்கு பொதுவாக நாம் பயன்படுத்துவது sudo rm என்ற கட்டளையை தான். இந்த கட்டளை கோப்பினை முழுவதுமாக அழித்துவிடும் .அப்படியில்லமல் rm என்று மட்டும் கொடுத்து trash folderல் அனுப்ப முடியும்.

இதற்கு முதலில் டெர்மினலில்

sudo apt-get install trash-cli என்ற நிரலை நிறுவிக்கொள்ளவேண்டும்.

பின்னர் /usr/bin என்ற அடைவினுள் trash-rm என்ற கோப்பினை உருவாக்க வேண்டும் டெர்மினலில்

sudo gedit /usr/bin/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

பின்னர் சேமித்து வெளியேற வேண்டும். இதன் பின் டெர்மினலில் இந்த scriptஐ இயக்க நிலைக்கு மாற்ற

sudo chmod +x /usr/bin/trash-rm என்று கட்டளையிட வேண்டும்.

பிறகு rm என்ற alises உருவாக்க வேண்டும். இதை பற்றி ஏற்கனவே ஒரு பதிவில் எழுதி இருக்கிறேன்.

டெர்மினலில்

sudo gedit ~/.bashrc என்று கட்டளையிட்டு home dirctoryயில் உள்ள .bashrc என்று கோப்பினை திறந்து அதில் கீழ்கண்ட வரிகளை சேர்த்துவிடவேண்டும்.

alises rm="trash-rm" என்று சேர்த்து சேமித்துகொள்ளவேண்டும். இதன் பின் நாம் டெர்மினலில் bash என்று கட்டளையிட்டுவிட்டு rm கட்டளை பயன்படுத்தலாம். அதாவது டெர்மினலில்

'rm கோப்பின் பெயர்' என்று கட்டளையிட்டு செயல்படுத்தலாம்.

இதில் மேலும் இதில் பல்வேறு trash commandகளை பயன்படுத்தலாம்.

empty-trash
list-trash
restore-trash

No comments: