Donnez-vous une chance de regretter

Linux, rmla commande consiste à supprimer un fichier, mais Linux n'est pas un mécanisme pour la corbeille, donc une fois que vous supprimez un fichier, il est complètement supprimé du disque. Beaucoup de gens aiment ajouter -fl'option, au nom du sens obligatoire, plus violent il est temps de supprimer un dossier en utilisant la rm -rfcommande de cette façon, le dossier lui-même, ainsi que le dossier enfants et petits-enfants en sont la fin.

Et dans le cas où vous exécutez la rm -rf /*commande, et c'est sans aucun doute équivalent à l'effet suivant:

[Échec du transfert de l'image du lien externe. Le site source dispose peut-être d'un mécanisme de lien anti-sangsue. Il est recommandé d'enregistrer l'image et de la télécharger directement (img-4kU4oVQy-1599380335220) (https://i.loli.net/2018/12/04/5c06936a2c133.jpg )]

Comme il n'y a pas de mécanisme de corbeille, de nombreuses personnes ont souffert de cette perte, tout comme la bonne promesse. Après des mois d'écriture de code, une commande rm est complètement effacée. Chaque fois que la commande rm est exécutée, les mains tremblent. ...

Étant donné que Linux n'a pas de corbeille, pouvons-nous en implémenter une nous-mêmes? La réponse est bien sûr oui. Ensuite, nous fabriquerons nous-mêmes une corbeille et nous nous donnerons une chance de regretter.

Puisque le coupable est la commande rm, nous modifierons cette commande. Dans la commande Linux redéfinissez l'utilisation de aliasla commande, modifiez un .bashrcfichier, à savoir:

vim ~/.bashrc

À la fin du fichier, nous ajoutons les lignes de code suivantes:

mkdir -p ~/.trash
alias rm=trash
alias r=trash
alias rl='ls ~/.trash/'
alias ur=undelfile

undelfile()
{
    mv -i ~/.trash/$@ ./
}

trash()
{
    mv -i $@ ~/.trash/
}

cleartrash()
{
    read -p "clear sure?[n]" confirm
    [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/*
}

Ici, nous sommes chez nous pour créer un répertoire .trashdans un dossier caché, comme la Corbeille. Ensuite, nous redéfinissons la commande rm. Lorsque nous exécutons rm ou r, la fonction corbeille sera exécutée. Dans la fonction corbeille, une seule chose est faite:

mv -i $@ ~/.trash/

Cela consiste à déplacer tous les fichiers après rm dans le répertoire .trash (c'est-à-dire, simuler le jet dans la corbeille). -iL'option signifie que s'il y a un fichier avec le même nom dans le répertoire .trash, il vous demandera s'il faut l'écraser.

Nous serons rldéfinis comme ls ~/.trash/, disons, nous pouvons afficher les fichiers dans le répertoire par .trash rl, c'est-à-dire "supprimer" un fichier.

Si vous souhaitez restaurer un fichier, vous pouvez le faire ur, et exécutez votre undelfilefonction. Dans undelfile, les fichiers après ur sont déplacés du répertoire .trash vers le répertoire d'origine pour réaliser la suppression et la restauration des fichiers.

Après un certain temps, trop de fichiers dans la corbeille, nous pouvons utiliser la cleartrashcommande pour vider la corbeille. Il remplit la fonction du même nom, appelle la /bin/rmcommande .trash répertoire vide.

Une fois le fichier .bashrc modifié, nous devons le rendre effectif:

source ~/.bashrc

Expérimentons-le réellement:

Supprimer les fichiers

alvin@alvin-pc:~/test$ touch file1 file2 file3
alvin@alvin-pc:~/test$ ls
file1  file2  file3
alvin@alvin-pc:~/test$ rm file1 file2 
alvin@alvin-pc:~/test$ r file3

Afficher les fichiers de la corbeille

alvin@alvin-pc:~/test$ rl
file1  file2  file3

Restaurer les fichiers supprimés

alvin@alvin-pc:~/test$ rl
file1  file2  file3
alvin@alvin-pc:~/test$ ur file1
alvin@alvin-pc:~/test$ ur file2
alvin@alvin-pc:~/test$ ur file3
alvin@alvin-pc:~/test$ ls
file1  file2  file3
alvin@alvin-pc:~/test$ rl
alvin@alvin-pc:~/test$ 

Vide la poubelle de recyclage

alvin@alvin-pc:~/test$ rm file1 file2 file3
alvin@alvin-pc:~/test$ rl
file1  file2  file3
alvin@alvin-pc:~/test$ cleartrash
clear sure?[n]y
alvin@alvin-pc:~/test$ rl
alvin@alvin-pc:~/test$

À travers les étapes ci-dessus, bien que nous puissions réaliser la fonction d'une corbeille, dans le travail réel, nous devons encore développer l'habitude d'une sauvegarde régulière, de sorte que même s'il y a une mauvaise opération, nous pouvons également minimiser la perte.

2020 Alibaba / Tencent et d'autres fabricants de premier plan, interviews, CV, comptes publics avancés de livres électroniques " Liang Xu Linux " réponse en coulisses " données " accès gratuit

Après avoir lu, tout est vrai amour, comme avant de partir? Votre "trois consécutifs" est la plus grande motivation de Liang Xu pour la création continue!

  1. Suivez le compte public original " Liangxu Linux " et obtenez la dernière marchandise sèche Linux la première fois!
  2. La réponse en coulisses du compte officiel [Information] [Interview] [Resume] pour obtenir des informations telles que des entretiens, des auto-améliorations, des CV et d'autres entreprises de première ligne sélectionnées.
  3. Suivez mon blog: lxlinux.net

Je suppose que tu aimes

Origine blog.csdn.net/yychuyu/article/details/108432977
conseillé
Classement