Lien ln

Résolu
Bonjour , j'aimerais savoir à quoi çà sert de faire un lien symbolique avec la commande ln sous linux svp?
merci

10 réponses

  1. slt j'ai creer un lien avec la commande "ln -s otrs-x.x.x otrs" et j'aimerai avoir la commande pour supprimer ce lien. svp merci d'avance
    1. Contributeur
      Salut,

      Depuis le répertoire où se trouve le lien :
      rm -i otrs
  2. Salut a tous.
    Tu peux aussi créer des "pseudos" points de montage par accéder de ton bureau a des dossiers.
    Je me sert de cela quand j'installe linux sur des pc, pour que les dossiers dans mes document de windows soit les mêmes que ce situés dans /~sous linux. Cela evite que les personnes qui n'y connaissent pas grand chose soit trop perdu et puissent travailler dans leurs dossiers sans se poser de question sous linux ou windows.
    Si j'utilise les BIND c'est pour "bien faire les choses" mais en réalité je ne sais pas vraiment si cela apporte beaucoup par rapport a des liens pour cette utilisations.
    1. Modérateur
      Salut,

      ln -s /home/chroot/home/johan/www sct_stage 
      --
      lami20j
      1. C'est rapide chez vous c'est super!!!
        j'ai crée le lien mais il appartient au root
        lrwxrwxrwx 1 root root 27 Feb 12 14:54 sct_stage -> /home/chroot/home/johan/www

        je veux qu'il appartienne à l'utilisateur ana et au groupe www-data
        Merci encore
    2. SOS
      Bonjour
      j'avait ce lien:
      lrwxrwxrwx 1 ana www-data 29 Apr 20 2006 sct_stage -> /home/chroot/home/harena/www/
      j'ai fait unlink sct_stage
      le lien bien sur est supprimé, mais je voudrais créer un autre: ln -s sct_stage /home/chroot/home/johan/www/
      j'ai comme reponse sct_stage n'est pas un repertoire, comment doit je fiare pour récreer ce lien??
      Merci de votre aide
      1. Modérateur
        1. Modérateur
          Salut jipicy,

          Celui-ci est, essentiellement, dû au fait qu'on attache la notion de liens (d'ailleurs faussement appelés «liens en dur») aux fichiers ordinaires uniquement.

          C'est qui on?
          Liens en dur Je n'ai jamais entendu. Peut être puisque je ne suis pas d'origine?

          Non, ce n'est pas contre toi. Je crois que c'est celui qui a écrit l'article qu'a utilisé "liens en dur" jusqu'à la sortie de mandriva2006.
      2. Modérateur
        Re,

        Il y a aussi un autre moyen de contourner les commandes longues.

        Les alias. ( un alias ce n'est pas un lien symbolique )

        Tu peux créer tes alias dans le fichier .bashrc.

        Exemple thunderbird dans mon 1er message
        alias mailperso="/usr/local/thunderbird1.0.7/thunderbird/thunderbird"
        Au rédemarrage de shell l'alias nouveau crée est pris en compte. Tape alias dans shell et tu verras les alias existents.

        lami20j
        1. Contributeur
          Salut,

          ca peut servir a plein de trucs!
          1/ si tu veux aller souvent dans le répertoire /home/toto/mes/programmes/qui/sont/a/moi/que/j/utilise/souvent/
          et que ca t'embete de le taper a chaque fois, tu fais un lien!
          ln -s /home/toto/mes/programmes/qui/sont/a/moi/que/j/utilise/souvent/ /home/toto/progs
          ensuite, qd tu fais
          cd /home/toto/progs, tu va direct dans le bon répertoire sans avoir a tout taper...

          2/ si tu as plusieurs version d'un meme "objet" (fichier, programme, répertoire...), ca permet de pointer sur une version particulière.
          ex : gcc (un compilateur C)
          imaginons que tu aies installé gcc-3.3 , gcc-3.4 et gcc-4.0
          tous les programmes qui les cherche, les cherche sous le nom générique "gcc" : il faut faire un lien (en général automatique a l'installation) ln -s gcc-3.4 gcc par exemple si tu veux que le "défaut" soit 3.4 par exemple

          il doit y avoir un tas d'autre occasions, mais là j'en vois pas trop d'autres qui me sont utiles...

          Phiphi
          1. Modérateur
            Salut,

            si tu veux une approche (honte à moi) c'est comme un raccourci.
            voir man ln

            A quoi ça sers?
            Tu as un fichier quelque part dans ton répertoire et tu crée un lien symbolique sur le bureau pour accéder plus rapide à ton fichier.

            ou

            Par exemple tu installes une application depuis les sources. Et après l'installation le fichier program ne se trouve pas dans un des répertoire de la variable PATH.
            [lamitest@localhost temp]$ echo $PATH
            /usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/lamitest/bin
            [lamitest@localhost temp]$
            
            

            Normalement chaque utilisateur a dans la variable PATH le repertoire /usr/local/bin

            PATH ( les repertoires ou le shell cherche le programmes)

            En faisant un lien avec la commande ln on obtient ce racourci.

            Ex:
            j'ai installé thunderbird (plutôt détarré) dans le répertoire /usr/local/thunderbird1.0.7

            Pour que tous les utilisateurs puissent utiliser thunderbird j'ai crée un lien symbolique (un raccourci) dans /usr/local/bin
            [root@localhost bin]# ln -s /usr/local/thunderbird1.0.7/thunderbird/thunderbird
            [root@localhost bin]# ls -l thunderbird
            lrwxrwxrwx  1 root lami 51 nov 20 19:51 thunderbird -> /usr/local/thunderbird1.0.7/thunderbird/thunderbird
            [root@localhost bin]#
            

            Maintenant les utilisateurs peuvent démarrer thunderbird tout simplement en tapant thunderbird dans la console.
            Si le lien n'était pas crée alos les utilisateurs devraient taper
            [lamitest@localhost temp]$ /usr/local/thunderbird1.0.7/thunderbird/thunderbird
            
            qui est embêtant vu la longueur de la commande