Usando el sh
shell (no bash
), ¿qué comando en Linux / UNIX imprime mi directorio actual?
$ *showmewhereiam*
/sys/kernel/debug
$
unix whereami
Usando el sh
shell (no bash
), ¿qué comando en Linux / UNIX imprime mi directorio actual?
$ *showmewhereiam*
/sys/kernel/debug
$
unix whereami
Respuestas:
Tratar pwd
.
$ pwd
/home/<username>
/dev
era algo sobre desarrollo (códigos fuente o algo así)
Si bien la respuesta general es pwd
, tenga en cuenta que esto puede dar resultados diferentes dependiendo de cómo llegó a un directorio determinado y si la ruta incluía enlaces simbólicos.
Por ejemplo, si tiene un directorio llamado real
y un enlace simbólico a ese directorio llamado virtual
, y usted cd
al virtual
directorio, pwd
mostrará ese virtual
nombre de directorio, aunque el directorio real en el que se encuentra es real
.
Para mostrar el directorio subyacente real, use uno pwd -P
o readlink -f
(para una ruta arbitraria):
$ mkdir real $ ln -s virtual real $ cd virtual $ pwd / home / nombre de usuario / tmp / virtual $ pwd -P / home / nombre de usuario / tmp / real $ readlink -f. / home / nombre de usuario / tmp / real
Tenga en cuenta que los shells a menudo reemplazan el pwd
comando con su propia versión interna, por lo que en mi sistema (RHEL6), aunque la pwd(1)
página del manual sugiere que --physical
funcionará tan bien como -P
, porque lo estoy ejecutando bash
, no lo hace:
$ pwd --físico bash: pwd: -: opción no válida pwd: uso: pwd [-LP] $ / bin / pwd --físico / home / nombre de usuario / tmp / real $ / usr / bin / env pwd --físico / home / nombre de usuario / tmp / real
Como otros dijeron, pwd
generalmente hace el trabajo lo suficientemente bien. Sin embargo, me gustaría agregar una idea que me ha ayudado.
En todos los shells de uso común hoy en día, puede personalizar la apariencia del símbolo del sistema. Me gusta personalizar el mío para que me muestre el nombre de la computadora en la que estoy y mi directorio de trabajo. De esa manera, siempre sé dónde estoy. (La parte del nombre de la computadora me ayuda a darme cuenta si la ventana de terminal que estoy usando se ha utilizado para SSH en un servidor remoto). Por ejemplo, cuando abro una nueva ventana de terminal en mi computadora portátil, que llamo Plastico, veo esto:
Plastico ~> cd Desktop/
Plastico ~/Desktop> cd ~/Sites/raygunrobot.com
Plastico ~/Sites/raygunrobot.com> cd /usr
Plastico /usr>
Puede ver que abrevia mi directorio de inicio como ~
. Creo que hacer esto para mis indicaciones de terminal es increíblemente útil: siempre sé de un vistazo exactamente dónde estoy, incluso más de lo que lo haría mirando una ventana del Finder.
En tcsh, hago esto agregando set prompt = 'Plastico %~%# '
a mi archivo .tcshrc en mi directorio de inicio. También lo hice en ksh agregando export PS1="Plastico $PWD $ "
a mi archivo .profile. Pero como usuario de Linux, probablemente uses Bash, con el que no tengo mucha experiencia (soy un bicho raro como ese). Pero parece que podría hacerlo agregando PS1="Plastico \w $ "
a mi archivo .bashrc.
Editar: Acabo de notar que el OP dice que estás interesado en sh, no bash. Oh bien; Espero que la gente encuentre esto útil independientemente.
Plastico /var/www/vhosts/myveryexcellentwebsite.com/public_html/wp-content/themes/myveryexcellenttheme/js/vendor/excellentjs/ >
o algo así.
$ pwd
/your/current/directory
$
pwd
proviene del directorio de trabajo de impresión .
Nombre
pwd - imprime el nombre del directorio actual / de trabajo
Sinopsis
pwd [OPCIÓN] ...
Descripción
Imprima el nombre de archivo completo del directorio de trabajo actual.
-L , --lógico
usar PWD del entorno, incluso si contiene enlaces simbólicos
-P , --físico
evitar todos los enlaces simbólicos
--ayuda
muestra esta ayuda y sal
--versión
salida de información de versión y salida
NOTA: su shell puede tener su propia versión de pwd, que generalmente reemplaza la versión descrita aquí. Consulte la documentación de su shell para obtener detalles sobre las opciones que admite.
(...)