Användningen av kommandot rm det medför vissa faror, eftersom om vi gör ett misstag finns det inget sätt att återställa det vi har raderat. Men genom användning av alias och hjälp av cron vi kan göra ett par förbättringar och spara oss en huvudvärk.
Excellent! Vad ska vi göra?
Bash stöder kommandoalias, som används för att skapa förkortningar eller alternativa namn för aktuella kommandon. Vi kan använda kommandot alias för att se vilka som är definierade.
För att definiera a nytt alias följande syntax används:
alias comando personalizado='comando real'
till exempel:
$ alias list='ls -l' $ total lista 3 drwxr-xr-x 2 användargrupp 4096 15 maj 13:12 Dokument drwxr-xr-x 2 användargrupp 4096 12 maj 11:05 Nedladdningar drwxr-xr-x 2 användare grupp 4096 15 maj 05:47 Skrivbord
Det första vi borde göra är skapa en katalog som hjälper oss att lagra filerna som vi kommer att radera
mkdir $HOME/Papelera
Nästa steg är att skapa en alias för kommandot rm som flyttar det vi vill ta bort till papperskorgen
alias rm='mv -t $HOME/Papelera'
Nu varje gång vi springer rm, istället för att ta bort, skickar vi filen till papperskorgen
Ta bort papperskorgen automatiskt
Många gånger tar vi bort filer för att frigöra diskutrymme. Det är nödvändigt att göra innehållet i papperskorgen kan raderas helt då och då för att inte fylla upp vår hårddisk. För detta ändamål kommer vi att använda cron
Cron är en demon van vid köra uppgifter automatiskt under en viss tidsperiod. Dess syntax är följande:
är / Etc / crontab (allmänt i systemet, inkluderar en sektion för att lägga till användaren som kör) och /var/spool/cron/crontabs/user (en för varje användare)
Kommandot crontab -e låter dig lägga till (med hjälp av en textredigerare som nano eller vi) en ny post. Vår linje kommer att vara följande:
# hm sun mon dow kommando 00 12 * * 5 /bin/rm $HOME/Trash/*
Ovanstående cron-linje kommer att radera papperskorgen varje fredag klockan 12
Jag hoppas att jag har täckt allt.
Hälsningar 😀
Intressant artikel, ett par saker gick upp för mig efter att ha läst den. Tack för bidraget 😉
Tack för möjligheten att skriva här!
Du måste dela med dig av de idéerna 🙂
!!Mycket bra ide!!
Även om jag läste och tänkte att när man skapar aliaset kan det vara mer praktiskt att flytta filerna till papperskorgen som redan finns i den grafiska miljön (om inte något hindrar det).
Nu är jag inte hemma men jag tror att det finns i ~/.local/ eller i någon annan dold katalog i hemmappen.
På detta sätt när du öppnar papperskorgen i filläsaren kommer du också att se filerna raderade från kommandoraden.
hälsningar
Precis, det var vad jag trodde. Papperskorgen finns vanligtvis på ~/.local/share/Trash
Det ger mig att du inte kan använda det så lätt... När en skrivbordsmiljö skickar något till papperskorgen, gör den det på ett visst sätt, med dess metadata och sådant (jag är inte säker på hur den gör det, men Jag har sett det när jag listar innehållet i den katalogen)... För att bättre använda trash-cli...
Well go, för det är en lösning som är både enkel och elegant.
Det skulle vara trevligt att veta hur trash_cli gör det, men för tillfället gillar jag den här lösningen.
Tack Dan. Jag tänkte på den här lösningen eftersom du på servernivå inte har $HOME/.local/Trash så jag bestämde mig för att skapa en ny katalog. 😀 Hälsningar
Intressant idé.
Men det verkar för mig att det redan finns liknande saker. I Debian har jag provat paketet trash-cli (mer info: https://github.com/andreafrancia/trash-cli) som kommer att göra detsamma, men med papperskorgen från skrivbordssystem (gnome, kde, xfce...). Möjligen är det en bättre lösning, för på så sätt "samlas allt på samma plats".
Ja, trash-cli kan vara bättre för skrivbordsmiljöer, men jag tänkte att detta inlägg för distroservrar där du inte har en $HOME/.local/Trash. Tack för kommentaren!
En mycket intressant artikel.
I mitt fall är jag ny på allt som är fri programvara. Däremot har jag haft mina inkörningar med konsolen. Så att jag kan omsätta vad den här artikeln säger och undvika att förlora data varje gång jag använder rm
Varsågod!
Det är bra att det fungerar för dig! Tack så mycket
Uppfinner hjulet igen... Vad händer när vi raderar två filer med samma namn?
Jag håller mig till trash-cli som fungerar väldigt bra. Även på servrar.
Jag uppskattar din åsikt. Obs, men att återuppfinna hjulet gäller inte för fri programvara. Vanligtvis finns det åtminstone ett par alternativ för att lösa problemen. Om jag till exempel vill ha en dns-tjänst kan jag ladda ner dnsmasq, dns bind eller arbeta lokalt med /etc/hosts.
Det kan hända att det i någon distro inte finns någon trash-cli eller att det helt enkelt inte fungerar som förväntat. Det här inlägget är designat för sådana problem.
hälsningar
Schemat med färger för att förklara fälten i crontab-filen är väldigt cool.
https://blog.desdelinux.net/tag/crontab/ 😉
Ja! med tillstånd av elav! 😀
Snyggt hack! Kände du till det här projektet? https://github.com/andreafrancia/trash-cli
Ja, det är ett bra alternativ!
Vad är det för?
På raden "00 12 * * 5 /bin/rm $HOME/Trash/*" skulle inte rm behöva ha alternativet -r för att ta bort papperskorgen också?
Ja! Självklart. Tack 😀
Ämnet är intressant, jag tar inte bort något som jag inte är säker på, men det jag gillade mest var png-filen på cron-fuskbladet, titta, jag har förklarat det för några lärjungar som jag har och hittills ingen hade internaliserat hur det fungerade, ja ärligt talat har de flesta hållit på att säga att jag äntligen inte behöver lära mig det.
Jag säger samma sak till mina elever, det är bättre att läsa två gånger och utföra en gång. Men vi är människor och genom slarv kan vi radera någon viktig fil. Jag är glad att du gillade inlägget. Hälsningar