Aggiungi il cestino al terminale

rm

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
Quando si esegue un comando, la shell prima guarda il file alias e poi nella variabile d'ambiente PERCORSO

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'

La -t opzione nel comando precedente fai spostare il resto degli argomenti nella directory specificata
Se vogliamo il file alias è disponibile per le future sessioni di bash, dobbiamo aggiungerlo nel file $ HOME / .bashrc

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:

Chop_Cron

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

Il percorso assoluto da rm poiché questo è ora un alias

Spero di aver coperto tutto.

Saluti 😀


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   vivace suddetto

    Articolo interessante, mi è capitato di fare un paio di cose dopo averlo letto. Grazie per il contributo 😉

    1.    susano linux suddetto

      Grazie a te per l'opportunità di scrivere qui!

    2.    non scivoloso suddetto

      Avrai bisogno di condividere queste idee 🙂

  2.   Dan suddetto

    !!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

    1.    vivace suddetto

      Esattamente così ho pensato. Di solito il cestino può essere trovato in ~ / .local / share / Trash

      1.    interessato suddetto

        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 ...

    2.    Dan suddetto

      Bene, perché è una soluzione semplice ed elegante.
      Sarebbe bello sapere come fa trash_cli, ma al momento questa soluzione mi piace.

    3.    susano linux suddetto

      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

  3.   interessato suddetto

    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".

    1.    susano linux suddetto

      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!

  4.   Raglio suddetto

    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!

    1.    susano linux suddetto

      Bene che ti serva! molte grazie

  5.   Note: suddetto

    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.

    1.    susano linux suddetto

      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

  6.   Mariade La O suddetto

    Molto bello lo schema dei colori per spiegare i campi del file crontab.

    1.    susano linux suddetto

      Sì! per gentile concessione di elav! 😀

  7.   msx suddetto

    Trucco carino! Conoscevi questo progetto? https://github.com/andreafrancia/trash-cli

    1.    susano linux suddetto

      Sì, è una buona alternativa!

    2.    non scivoloso suddetto

      Cosa serve?

  8.   piccolo robot suddetto

    Nella riga «00 12 * * 5 / bin / rm $ HOME / Trash / *», non dovrebbe rm portare l'opzione -r per eliminare anche le directory del cestino?

    1.    susano linux suddetto

      Sì! Naturalmente. Grazie 😀

  9.   rlsalgueiro suddetto

    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.

    1.    susano linux suddetto

      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