Utilizzando il comando rm Comporta alcuni pericoli, poiché se commettiamo un errore non c'è modo di recuperare ciò che abbiamo cancellato. Tuttavia, attraverso l'uso di alias e l'aiuto di cron possiamo apportare un paio di miglioramenti ed evitare mal di testa.
Eccellente! Cosa dovremmo fare?
Bash supporta gli alias dei comandi, utilizzati per creare abbreviazioni o nomi alternativi per i comandi correnti. Possiamo usare il comando alias per vedere quali sono definiti.
Per definire un file nuovo alias viene utilizzata la seguente sintassi:
alias comando personalizado='comando real'
per esempio:
$ alias list = 'ls -l' $ list total 3 drwxr-xr-x 2 user group 4096 May 15 13:12 Documents drwxr-xr-x 2 user group 4096 May 12 11:05 Download drwxr-xr-x 2 user group 4096 15 maggio 05:47 Desk
La prima cosa da fare è creare una directory che ci aiuta a memorizzare i file che elimineremo
mkdir $HOME/Papelera
Il passaggio successivo consiste nel creare un file alias per il comando rm che sposta ciò che vogliamo eliminare nella directory Cestino
alias rm='mv -t $HOME/Papelera'
Adesso ogni volta che corriamo rmInvece di eliminare, invieremo il file alla directory Cestino
Eliminazione automatica del cestino
Molte volte, per liberare spazio su disco, eliminiamo i file. È necessario assicurarsi che ogni tanto il contenuto della spazzatura possa essere completamente cancellato per non riempire il nostro disco rigido. A questo scopo useremo cron
cron è un demone abituato eseguire le attività automaticamente in un certo periodo di tempo. La sua sintassi è la seguente:
existe / etc / crontab (sistema generale, include una sezione per aggiungere l'utente che esegue) e / var / spool / cron / crontabs / user (uno per ogni utente)
Il comando crontab -e ti permette di aggiungere (usando un editor di testo come nano o vi) una nuova voce. La nostra linea sarà la seguente:
# hm dom mon dow command 00 12 * * 5 / bin / rm $ HOME / Trash / *
La precedente riga di cron rimuoverà la spazzatura ogni venerdì a mezzogiorno
Spero di aver coperto tutto.
Saluti 😀
Articolo interessante, mi è capitato di fare un paio di cose dopo averlo letto. Grazie per il contributo 😉
Grazie a te per l'opportunità di scrivere qui!
Avrai bisogno di condividere queste idee 🙂
!!Ottima idea!!
Anche se stavo leggendo e ho pensato che durante la creazione dell'alias potrebbe essere più pratico spostare i file nella directory del cestino che già esiste nell'ambiente grafico (a meno che non ci sia qualcosa che lo impedisce).
Ora non sono a casa ma penso che sia dentro ~ / .local / o qualche altra directory nascosta all'interno della cartella personale.
In questo modo, quando il cestino viene aperto nel browser dei file, verranno visualizzati anche i file eliminati dalla riga di comando.
saluti
Esattamente così ho pensato. Di solito il cestino può essere trovato in ~ / .local / share / Trash
Mi fa capire che non puoi usarlo così facilmente ... Quando un ambiente desktop invia qualcosa nel cestino, lo fa in un certo modo, con i suoi metadati e simili (non sono sicuro di come lo faccia, ma ho visto quando si elenca il contenuto di quella directory) ... Per questo è meglio usare trash-cli ...
Bene, perché è una soluzione semplice ed elegante.
Sarebbe bello sapere come fa trash_cli, ma al momento questa soluzione mi piace.
Grazie Dan. Ho pensato a questa soluzione perché a livello di server non hai $ HOME / .local / Trash quindi ho deciso di creare una nuova directory. 😀 Saluti
Idea interessante.
Ma mi sembra che ci siano già cose simili. In Debian ho testato il pacchetto trash-cli (maggiori informazioni: https://github.com/andreafrancia/trash-cli) che fa lo stesso, ma usando il cestino dei sistemi desktop (gnome, kde, xfce ...). Potrebbe essere una soluzione migliore, perché in questo modo "tutto è insieme nello stesso posto".
Sì, trash-cli potrebbe essere migliore per gli ambienti desktop, tuttavia ho pensato che questo post per i server distribuzioni in cui non hai un $ HOME / .local / Trash. Grazie per il commento!
Un articolo molto interessante.
Nel mio caso, sono nuovo a tutto ciò che è software libero. Tuttavia, ho avuto i miei incontri con la console. In questo modo posso mettere in pratica ciò che dice questo articolo ed evitare di perdere dati ogni volta che utilizzo rm
Vai avanti!
Bene che ti serva! molte grazie
Reinventato di nuovo la ruota ... Cosa succede quando cancelliamo due file con lo stesso nome?
Mi attengo al trash-cli che funziona molto bene. Anche sui server.
Apprezzo la tua opinione Nota ma quella di reinventare la ruota non si applica al Software Libero. Di solito ci sono almeno un paio di alternative per risolvere i problemi. Se voglio un servizio dns, ad esempio, posso scaricare dnsmasq, dns bind o lavorare localmente con / etc / hosts.
Può accadere che in qualche distro non ci sia il trash-cli o che semplicemente non funzioni come previsto. Questo post è stato ideato per questi problemi.
saluti
Molto bello lo schema dei colori per spiegare i campi del file crontab.
https://blog.desdelinux.net/tag/crontab/ 😉
Sì! per gentile concessione di elav! 😀
Trucco carino! Conoscevi questo progetto? https://github.com/andreafrancia/trash-cli
Sì, è una buona alternativa!
Cosa serve?
Nella riga «00 12 * * 5 / bin / rm $ HOME / Trash / *», non dovrebbe rm portare l'opzione -r per eliminare anche le directory del cestino?
Sì! Naturalmente. Grazie 😀
Argomento interessante, non cancello nulla di cui non sono sicuro, ma quello che mi è piaciuto di più è stato il png del cron chop, vedi che l'ho spiegato ad alcuni discepoli che ho e fino ad ora nessuno aveva interiorizzato Come ha funzionato, beh a dire la verità la maggior parte di loro l'hanno tenuto dicendo che alla fine non devo impararlo.
Lo stesso dico ai miei studenti, è meglio leggere due volte ed eseguire una volta. Tuttavia, siamo umani e potremmo eliminare inavvertitamente alcuni file importanti. Bene che il post ti piaccia. Saluti