Me han dicho que ejecute esto:
./yiic message ./app/messages/config.php
Pero no entiendo el ./significado, ¿alguien puede aclarar por favor?
Nota: Créeme, no podemos googlear eso. He intentado:
./ significado ./ ubuntu
Era lo mismo que nada. :(
Me han dicho que ejecute esto:
./yiic message ./app/messages/config.php
Pero no entiendo el ./significado, ¿alguien puede aclarar por favor?
Nota: Créeme, no podemos googlear eso. He intentado:
./ significado ./ ubuntu
Era lo mismo que nada. :(
Respuestas:
./o simplemente .es la abreviatura de Unix para el directorio actual.
Debe especificarlo cuando el directorio actual no está en su RUTA. La RUTA es la lista de carpetas buscadas cuando ejecuta un programa. (Puede determinarlo escribiendo echo $PATH). Si un archivo ejecutable no está en su RUTA, para ejecutarlo debe especificar la carpeta en la que se encuentra. Puede hacerlo dando la ruta completa al archivo, pero si el archivo está en el directorio actual, puede usar ./como taquigrafía.
Del mismo modo, ../o simplemente ..es una forma abreviada para el directorio sobre el actual.
.. Es porque usar automáticamente el directorio actual es un agujero de seguridad. Imagine que alguien más crea un programa, lo nombra a lsusted y a usted cden su directorio, luego escribals
Cada directorio en la línea de comando tiene dos "directorios especiales" llamados .y ... Estos son abreviaturas para, respectivamente, el directorio actual y el directorio que contiene el directorio actual.
Entonces, por ejemplo, cd ./more/directory/namessolo significa "comenzar en el directorio actual y continuar en la ruta". Del mismo modo, el comando cd ..significa "cambiar un directorio hacia arriba.
Si desea el nombre de su directorio actual, puede usar el pwdcomando. Además, si usa la -abandera para ls, puede ver estos dos directorios especiales. Es decir, ls -agenerará una lista que comienza con .y ...
Otros ya han explicado qué .y qué ..significa (directorio actual y el directorio padre respectivamente). Esto se aplica a todos los nombres de ruta.
Cuando abre una terminal, generalmente comienza en su directorio de inicio: ~(que se expande a /home/username). Las siguientes rutas son todas equivalentes, siempre que su directorio de trabajo actual sea /home/username:
/home/username.../username../../home/username../../../home/username(el directorio padre de /todavía está /)./././././. (el directorio actual en el directorio actual en el ...)./ (se permiten barras diagonales finales para los directorios)/home////username/// (y también lo son las barras múltiples)No , no confundir ./programcon . program. ./programejecuta un archivo en el directorio actual con el conjunto de bits de ejecución. . ./programes una cosa bash y, alternativamente, se puede escribir como source ./programque lee los comandos bash del programarchivo en el directorio actual y los ejecuta en el shell actual.
Si se pregunta por qué solo puede ejecutar en geditlugar de /usr/bin/gedity no en programlugar de ./programo /home/username/program, consulte la pregunta relacionada:
Significa comenzar desde el current directory path.
Asumamos que tienes algo pathcomo esto:
/usr/ /usr/bin/ /usr/local/bin
y dentro /usr/bin/hay un ejecutable llamado yiic.
Si lo emite yiic, comenzaría el de adentro /usr/bin/.
Al emitir, ./yiicle dice al sistema que busque dentro del directorio actual este ejecutable.
/home/mysuser/y que navego allí usando cd /home/myuser. Una vez dentro, creí que hacer solo yiic, debería funcionar porque llamé mientras estaba en ese directorio. Pero él dice comando no archivo. Si hago lo mismo y uso el ./ entonces, se ejecuta correctamente ... ¿Pueden aclarar un poco más?
.es un archivo especial dentro de una carpeta que puede ver al hacer un ls -laen el directorio;)