Una simple búsqueda en Google habría dado la respuesta, ¿no?
Científico loco
9
@ Científico loco Si bien esto puede ser cierto, frustra el propósito de un sitio de preguntas / respuestas para decirle a la gente que vaya a Google. El 90% de nuestro tráfico proviene de búsquedas web .
Cuando toqué Linux por primera vez, pensé que era un comando sobre contraseña y /devera algo sobre desarrollo (códigos fuente o algo así)
LiuYan 刘 研
2
Oh, dev significa dispositivo? Siempre pensé que hasta ahora solo significaba dev ... Pensé que dev / null era donde los desarrolladores de Linux colocaban el objeto nulo especial. Gracias @LiuYan 刘 研
1owk3y
@LiuYan 刘 研 - Estoy totalmente de acuerdo en que es confuso si no lo sabes. Tuve que buscarlo. Significa "Imprimir directorio de trabajo" para cualquier otra persona que esté desconcertada por qué elegirían ese comando para esa funcionalidad.
squarecandy
1
@squarecandy, es por eso que evitaré usar acrónimos lo más posible cuando crezca, incluso el acrónimo no tiene un significado ambiguo en este momento: nunca se sabe qué significado tendrá en el futuro. Hay una broma de la muñeca de Jeff Dunham , Walter: ¡ Lo que sucede en DC se queda en YouTube! , Donde los medios de CC D IGITAL C Amera pero también significa Washington, D istrito de C olumbia en la broma.
LiuYan 刘 研
11
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 realy un enlace simbólico a ese directorio llamado virtual, y usted cdal virtualdirectorio, pwdmostrará ese virtualnombre de directorio, aunque el directorio real en el que se encuentra es real.
Para mostrar el directorio subyacente real, use uno pwd -Po 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 pwdcomando con su propia versión interna, por lo que en mi sistema (RHEL6), aunque la pwd(1)página del manual sugiere que --physicalfuncionará 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, pwdgeneralmente 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.
Esa es una idea genial. Podría funcionar bien para un caso de uso de escritorio simple. Parece que podría ser difícil de manejar para directorios súper profundos si su mensaje solo es Plastico /var/www/vhosts/myveryexcellentwebsite.com/public_html/wp-content/themes/myveryexcellenttheme/js/vendor/excellentjs/ >o algo así.
squarecandy
1
$ pwd
/your/current/directory
$
pwdproviene del directorio de trabajo de impresión .
Desde la página de manual de Linux:
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.
unix whereami
Respuestas:
Tratar
pwd
.fuente
/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 llamadovirtual
, y ustedcd
alvirtual
directorio,pwd
mostrará esevirtual
nombre de directorio, aunque el directorio real en el que se encuentra esreal
.Para mostrar el directorio subyacente real, use uno
pwd -P
oreadlink -f
(para una ruta arbitraria):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 lapwd(1)
página del manual sugiere que--physical
funcionará tan bien como-P
, porque lo estoy ejecutandobash
, no lo hace:fuente
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:
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 agregandoexport 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 agregandoPS1="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.
fuente
Plastico /var/www/vhosts/myveryexcellentwebsite.com/public_html/wp-content/themes/myveryexcellenttheme/js/vendor/excellentjs/ >
o algo así.pwd
proviene del directorio de trabajo de impresión .Desde la página de manual de Linux:
fuente