On m'a dit de faire ça:
./yiic message ./app/messages/config.php
Mais je ne comprends pas le ./
sens, quelqu'un peut-il clarifier s'il vous plaît.
Remarque: croyez-moi, nous ne pouvons pas google cela. J'ai essayé:
./ sens ./ ubuntu
C'était la même chose que rien. :(
Réponses:
./
ou.
est simplement un raccourci unix pour le répertoire courant.Vous devez le spécifier lorsque le répertoire actuel n'est pas dans votre PATH. Le CHEMIN est la liste des dossiers recherchés lorsque vous exécutez un programme. (Vous pouvez le déterminer en écrivant
echo $PATH
.) Si un fichier exécutable n'est pas dans votre PATH, pour l'exécuter, vous devez spécifier le dossier dans lequel il se trouve. Vous pouvez le faire en donnant le chemin d'accès complet au fichier, mais si le fichier est dans le répertoire courant, vous pouvez l'utiliser./
comme raccourci.De même,
../
ou..
est simplement un raccourci pour le répertoire au-dessus du répertoire actuel.la source
.
. C'est parce que l'utilisation automatique du répertoire actuel est une faille de sécurité. Imaginez que quelqu'un d'autre crée un programme, le nommels
et vouscd
dans son répertoire, puis tapezls
Chaque répertoire de la ligne de commande a deux "répertoires spéciaux" appelés
.
et..
. Ce sont des raccourcis pour, respectivement, le répertoire courant et le répertoire contenant le répertoire courant.Ainsi, par exemple,
cd ./more/directory/names
signifie simplement «commencez dans le répertoire actuel et continuez dans le chemin». De même, la commandecd ..
signifie «changer un répertoire vers le haut.Si vous voulez le nom de votre répertoire actuel, vous pouvez utiliser la
pwd
commande. De plus, si vous utilisez l'-a
indicateur pourls
, vous pouvez voir ces deux répertoires spéciaux. Autrement dit,ls -a
affichera une liste commençant par.
et..
.la source
D'autres ont déjà expliqué ce
.
que cela..
signifie (répertoire courant et répertoire parent respectivement). Cela s'applique à tous les noms de chemin.Lorsque vous ouvrez un terminal, vous commencez généralement dans votre répertoire personnel:
~
(qui se développe en/home/username
). Les chemins ci-dessous sont tous équivalents, à condition que votre répertoire de travail actuel soit/home/username
:/home/username
.
../username
../../home/username
../../../home/username
(le répertoire parent de/
est toujours/
)./././././.
(le répertoire courant dans le répertoire courant dans le ...)./
(les barres obliques de fin sont autorisées pour les répertoires)/home////username///
(tout comme les barres obliques multiples)Ne confondez pas
./program
avec. program
../program
exécute un fichier dans le répertoire en cours avec le bit d'exécution défini.. ./program
est une chose bash et peut également être écrite commesource ./program
lisant les commandes bash duprogram
fichier dans le répertoire courant et les exécutant dans le shell courant.Si vous vous demandez pourquoi vous pouvez simplement exécuter à la
gedit
place de/usr/bin/gedit
et non à laprogram
place de./program
ou/home/username/program
, consultez la question connexe:la source
Cela signifie partir du
current directory path
.Supposons que vous en ayez un
path
comme ceci:et à l'intérieur
/usr/bin/
il y a un exécutable appeléyiic
.Si vous émettez,
yiic
celui-ci démarre/usr/bin/
.En émettant,
./yiic
vous dites au système de regarder à l'intérieur du répertoire courant pour cet exécutable.la source
/home/mysuser/
et que j'y navigue en utilisantcd /home/myuser
. Une fois à l'intérieur, je pensais que faire juste du yiic, ça devrait marcher parce que j'ai appelé depuis ce répertoire. Mais il dit que la commande n'est pas un fichier. Si je fais de même, et que j'utilise le ./ alors, il fonctionne correctement ... Pouvez-vous clarifier un peu plus?.
est un fichier spécial dans un dossier que vous pouvez voir lorsque vous faites unls -la
dans le répertoire;)