Raccourci dans une ligne de commande, path

IVIedia

Membre actif
8 Février 2010
240
4
Bonjour,

j'aimerai savoir si c'est possible de crée des raccourcie de ce type sur mac ...

/Users/tropico/Documents/app/dev/projet

en

/app/projet

j'aimerai avec cette ligne de commande sur terminal avoir accès au contenu

genre cd app/projet

sinon je devrai faire ça

cd Users/tropico/Documents/app/dev/projet (donc écrire un peux plus ..)

Merci
 
a propos de path
il y a aussi une bidouille qui évite de l'écrire soi-même !

au moment d'écrire le path manuellement , glisser deposer le fichier dans terminal
et voilà

Particulierement utile avec les syntaxes complexes ( mots composés etc)
 
il faut faire un lien symbolique.
regarde du coté de la commande ln -s

Bloc de code:
ln -s /Users/tropico/Documents/app/dev/projet /app/projet
 
Bonjour, merci pour l'info

lorsque je fait ça je recois ses messages

Bloc de code:
ln: illegal option -- /
usage: ln [-Ffhinsv] source_file [target_file]
       ln [-Ffhinsv] source_file ... target_dir
       link source_file target_file


et une fois j'ai ça

Bloc de code:
ln: app/projet: No such file or directory


merci
 
C'est parce que tu as inséré un blanc entre '/' et 'app/projet'.
Cela dit, il faut d'abord créer le répertoire '/app' avant que ça ne puisse fonctionner.

Et par ailleurs, c'est une assez mauvaise idée de créer des fichiers ou répertoires à cet endroit-là (la racine). OS X est un système assez propre et là, ça ne va pas dans le bon sens.
 
Mhhh je vais testé ça ...

Au faite le dossier dois resté dans documents/app et pas a la racine ça dois resté transparent, comme une redirection ...

Merci
 
donc il faut aussi crée le dossier à cette endroit

exemple dans documents j'ai ça

documents/app/com.test.app

et dans la racine je dois crée (racine)/app/test

c'est ça?

si c'est le cas ce n'est pas ça que je veux faire

ça dois juste comprendre comme une redirection ...

merci
 
Salut IVIedia.

Un lien symbolique (j'exploite ici la piste de daffyb :coucou:), est un 'équivalent' de l'objet de destination situé lui-même dans un lieu 'commode'.

Pour toi, 'commode' signifie : dont la saisie de l'adresse soit la plus courte possible.

De ce point de vue / (le point de montage de l'OS servant d'entrée à l'espace-racine) serait le lieu le plus 'commode' en terme de saisie abrégée en apparence, car il suffit d'écrire / (= 1 caractère). Suppose que je loge dans l'espace-racine le lien symbolique qui équivaut à l'objet de destination en m'arrangeant pour que son nom soit lui-même 'commode' en terme de saisie, par exemple proj --> alors /proj dans le «Terminal» suffit pour désigner l'objet de destination à travers son équivalent symbolique.

Mais comme le remarque bompi, il faudrait se fixer pour règle de ne pas polluer l'espace-racine de l'OS (celui dont l'entrée est /) par des éléments qui ne ressortissent pas du Système, mais de l'Utilisateur.

Or il existe un espace encore plus 'commode' en terme de saisie abrégée pour y loger un lien symbolique équivalent de l'objet de destination et qui évite la pollution de l'espace-système par des données personnelles, c'est l'espace-racine du Home-Folder de l'utilisateur.

Pourquoi? Parce que lorsque tu ouvres une session dans le «Terminal» en tant qu'opérateur admin du shell, l'emplacement par défaut où tu es logé en tant que tropico est précisément par défaut l'espace-racine de ton propre Home_Folder, comme l'invite de commande de type :

Bloc de code:
MacBook Pro:~ tropico$

te le signale, puisque ton nom d'utilisateur est immédiatement précédé par le tilde ~ qui remplace en l'abrégeant le chemin à ton Home_Folder à partir du point de montage / de l'OS --> c'est donc un raccourci de : /Users/tropico

Si donc tu loges ton lien symbolique proj dans l'espace-racine de ton Home_Folder : tropico, alors il est immédiatement disponible en tant que proj.


Si je reprends l'exemple de ton 1er message ici : l'objet de destination qui t'intéresse est : /Users/tropico/Documents/app/dev/projet, alors tu passes dans le «Terminal» la commande créatrice d'un lien symbolique à cet objet localisé à la racine de ton Home_Folder de la manière suivante :

Bloc de code:
ln -s ~/Documents/app/dev/projet ~/proj

(si la session ouverte est bien celle de tropico = toi pour permettre l'abréviation du chemin à ton répertoire d'utilisateur par le tilde ~).

Une fois fait, tu as un lien symbolique intitulé proj juste à l'espace-racine de ton Home_Folder qui constitue l'équivalent de l'objet de destination situé dans un emplacement moins 'commode' en terme de saisie d'adresse.

[La commande créatrice d'un lien symbolique consiste 1° en une 'invocation' verbe + option = ln -s qui est la constante de la commande ; 2° après saut d'un espace, par le chemin à l'objet de destination = cible que tu réalises commodément - comme Pascal te l'a suggéré - par un glisser-déposer direct de ton objet de destination (fichier ou dossier) dans la fenêtre du «Terminal) et qui constitue une variable de la commande ; 3° après un nouveau saut d'un espace, par le chemin à l'emplacement de chute du lien symbolique terminé par le nom que tu lui donnes et qui n'a nullement à être identique à celui de l'objet de destination (tu pourrais désigner ton objet de destination projet par toto, mais un nom farfelu rate le coche, parce qu'un lien symbolique devrait avoir un nom ressemblant à celui de l'objet dont il est l'équivalent pour jouer le rôle de 'symbole' jusqu'au bout, un 'symbole' ressemblant par définition à la chose qu'il symbolise). Donc ici si l'objet de destination est un dossier intitulé projet, proj est un nom qui lui fait écho et l'emplacement 'commode' étant celui de la racine du Home_Folder, on a donc : ~/proj abrégé de /Users/tropico/proj comme chemin d'atterrissage et intitulé du lien symbolique.]

Si ton objet de destination est bien un dossier (que ce soit le répertoire parent de fichiers qui t'intéressent ou le répertoire d'une application), alors la commande dans le «Terminal» :

Bloc de code:
cd proj

te loge directement en tant qu'opérateur du shell dans l'équivalent-lieu du dossier qui est ton objet de destination (une commande ensuite de type : cd ~/ te reloge en tant qu'opérateur du shell à la racine de ton Home_Folder, càd. te fait retourner à ta location par défaut). Si l'objet de destination est un fichier, tu ne peux évidemment pas commander un cd proj, mais par exemple un :

Bloc de code:
open proj

va ouvrir le fichier de destination via l'équivalent du lien symbolique par l'application qui en est chargée par défaut, par exemple si l'objet final est un fichier image .png, alors «Aperçu» te l'ouvre.

--------------------​

Note : 1) même si l'utilisateur fait ce qui qu'il veut dans son Home_Folder (en vertu de l'adage : charbonnier maître chez lui), faire pulluler des liens symboliques dans l'espace-racine du Home_Folder peut vite en faire un capharnaüm des plus 'foutraque'. Enfin bon.

--------2) plus problématique : par défaut dans les versions récentes d'OSX, l'accès au Home_Folder de l'utilisateur n'est pas protégé en exécution (de l'entrée au répertoire) ni en lecture, donc d'autres utilisateurs - s'il y en a - pourraient fort bien venir scruter tes liens symboliques même pas invisibles dans ton espace-racine.

Si tu es chatouilleux sur la sécurité, tu pourrais être alors amené à verrouiller ton Home_Folder lui-même (comme le sont par défaut ses seuls sous-dossiers créés par le Système), par exemple en passant la commande dans le «Terminal» :

Bloc de code:
chmod 700 /Users/tropico

ou en abrégé (puisque tu les affectionnes - que dis-je? tu les exiges :D) :

Bloc de code:
chmod 700 ~/

[tu te raviserais par un : chmod 755 /Users/tropico ou en abrégé : chmod 755 ~/]
 
Dernière édition par un modérateur:
Bonsoir macomaniac,

Je vous remercie pour votre reponse, je suis pas dispo chez et connecté depuis mon iphone pour le moment.

A mon retour je regarde tout cela, merci encoore
:)
 
Bonjour macomaniac merci pour votre explication c'est clair maintenant dans ma tête, je pense prendre l'idée de pascalformac, le glisser deposer dans terminal

:)