Linux pour l'utilisateur

Question-Réponse

fichier du type .nfs0000000000144bc700000222

J'aimerais savoir pourquoi un fichier du type .nfs0000000000144bc700000222 est écrit lorsque qu'un de mes programmes tourne.

Les fichiers de type .nfsXXXXX sont crées lorsqu'un processus essaye de supprimer un fichier qui est utilisé par un autre processus. Ce fichier temporaire est supprimé lorsque tous les processus qui utilisent le fichier s’arrêtent.

rm -i

Par defaut sur les machines linux (dga8, dga11, futur dga12, …), lorsqu'on tape la commande “rm” pour effacer un ou plusieurs fichiers, l'utilisateur ne recoit aucune demande de confirmation, contrairement a ce qui se passait sous dga2.

Ceci peut poser probleme, par exemple si par erreur, au lieu de taper la commande : rm *25 _(pour effacer tous les fichiers se terminant par _25) vous tapez rm * 25 _(un petit espace en trop entre * et _25 ; n'essayez pas pour voir).

Pour forcer linux a demander à l'utilisateur une confirmation avant d'effacer le(s) fichier(s), il suffit de :

  1. editer le fichier .bashrc qui se trouve dans votre repertoire /home/utilisateur (ou “utilisateur” est votre identifiant ; pour moi : ttribout), par exemple avec nedit: nedit .bashrc &.
    NB: le fichier .bashrc n'apparait (normalement ?) pas si on tape ls dans /home/utilisateur, mais il existe bien là !
  2. ajouter dans ce fichier la ligne suivante : alias rm=“rm -i”
    Il ne faut aucun espace (a part entre rm et -i) pour que cela fonctionne. Personellement, j'ai ajoute cette ligne juste en dessous de la ligne ”# .bashrc”.
  3. sauver le fichier ainsi modifie
  4. Se deconnecter et reconnecter.

A present, taper rm nomfichier fera en fait executer rm -i nomfichier qui demandera confirmation avant d'effacer nomfichier.

Si vous avez un jour un grand nombre de fichiers a effacer et qu'il vous semble trop long de valider pour chaque fichier, il suffit de taper unalias rm puis de taper rm *_25 et tous les fichiers se terminant par _25 seront effaces sans demande de confirmation.
L'effet du “unalias rm” n'est que temporaire et propre a la fenetre dans laquelle vous travaillez ; a la connection suivante (ou meme dans une autre fenetre terminal deja ouverte ou que vous ouvrirez plus tard dans la meme session) l'utilisation de rm vous demandera a nouveau confirmation.

ATTENTION : si vous avez un script dans lesquel la commande rm est utilisee pour effacer automatiquement des fichiers, il faudra ajouter unalias rm au debut de ce script, sinon ca ne marchera pas car le script attendra une confirmation de votre part …

La modification du fichier .bashrc doit etre faite sur chaque machine : en clair, il faut le faire sous dga8, sous dga11, …

presentationunixctig.pdf (444,66 ko) Sylvie Nugier, 11/12/2012 12:49