web-dev-qa-db-fra.com

$ HOME / bin accidentellement supprimé

J'ai accidentellement retiré mon ~/bin répertoire. J'ai vu de nombreuses questions me demandant quoi faire si /usr/bin est supprimé, et cette situation semble être beaucoup plus grave. Que puis-je faire pour reconstruire le dossier?

6
preferred_anon

Qu'est-ce que ~/bin et pourquoi existe-t-il?

~/bin est pour les propres scripts et exécutables de l'utilisateur. Ce n'est pas critique pour le système et n'est spécifié par aucune norme, contrairement à /usr/bin. Pour citer documentation Debian :

/poubelle/

Exécutable de commande essentiel (binaires) pour tous les utilisateurs (par exemple, cat, ls, cp) (en particulier les fichiers requis pour démarrer ou sauver le système)

...

/ usr /

Hiérarchie secondaire pour les données partageables et en lecture seule (anciennement du référentiel source UNIX, maintenant des ressources système UNIX) (fichiers qui ne sont pas requis pour démarrer ou sauver le système)

/ usr/bin /: identique à la hiérarchie de niveau supérieur

Voir aussi Catégoriser le système de hiérarchie des fichiers .

Le répertoire est ajouté à la variable PATH de l'utilisateur (qui est ce qui est référencé lorsque vous appelez des commandes par nom au lieu du chemin complet, par exemple bash vs /bin/bash). Le but est de permettre à l'utilisateur d'appeler ses propres scripts et exécutables privés par leur nom . Plus précisément, cela est géré dans ~/.profile:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

Le ~/.profile est lu et exécuté (et donc le répertoire est ajouté) lorsque le Shell est utilisé comme Shell de connexion ou selon réponse de geirha lors de la connexion au bureau GNOME.

Généralement, ce qu'il contient est défini par les utilisateurs eux-mêmes. Il est tout à fait possible qu'un logiciel tiers puisse y placer des scripts, même si je n'ai pas encore rencontré de tels cas.

Que faire du ~/bin supprimé?

Comme mentionné précédemment, le répertoire n'est pas critique pour le système. À moins que vous ne placiez vous-même quelque chose de significatif pour le système (ce qui est probablement une mauvaise idée et non pratique), cela pourrait causer des problèmes dans le cadre de ce qui a été réellement fait. Sinon, il n'y a essentiellement aucun effet, tout comme lorsque vous supprimez tout autre répertoire non critique. S'il était vide ou si vous avez une sauvegarde des fichiers qu'il contenait, vous n'avez rien d'autre à faire. Vous pouvez le recréer via le gestionnaire de fichiers ou la ligne de commande avec mkdir ~/bin.

Si vous y aviez vos propres scripts/programmes, vous pouvez essayer de les récupérer. Voir Comment récupérer des fichiers supprimés? , Outil pour récupérer des données supprimées à partir d'un lecteur flash , et nix/Linux restaurer/récupérer des fichiers supprimés . Il existe plusieurs sélections d'utilitaires. Notez que l'on suppose que vous avez le système de fichiers ext4 par défaut. Si vous avez autre chose, le système de fichiers peut avoir ses propres utilitaires spécifiques pour récupérer des fichiers, comme pour btrfs . Pour l'avenir, vous pouvez envisager de faire des sauvegardes des répertoires et des fichiers. Voir Quelle est une bonne stratégie de sauvegarde pour 1 ordinateur de bureau?

9
Sergiy Kolodyazhnyy