En informática, el directorio de trabajo es el directorio de un sistema de archivos al que se refiere una ruta relativa [ a ] .
En un entorno de línea de comandos , el usuario suele utilizar archivos dentro del directorio de trabajo o en relación con él. El estado del sistema que identifica el directorio de trabajo proporciona una forma práctica de definir el contexto de trabajo. Los usuarios pueden utilizar rutas conceptualmente más sencillas y generalmente más cortas, en lugar de usar siempre rutas absolutas/home/user/data . Por ejemplo, para el directorio de trabajo en un sistema tipo Unix , el nombre del archivofoo.txt (una ruta relativa) hace referencia a la ruta absoluta /home/user/data/foo.txt. El estado del sistema para el directorio de trabajo también suele aplicarse en una interfaz gráfica de usuario (GUI), pero a menudo no resulta útil, ya que el entorno GUI mantiene el contexto del directorio de una manera diferente.
Como característica, los directorios de trabajo varían según el entorno, pero comparten algunos atributos típicos. Normalmente, cada proceso tiene un directorio de trabajo independiente, lo que permite a los usuarios tener un directorio de trabajo diferente para cada shell que se ejecuta en el sistema operativo . Si bien es común en sistemas que proporcionan un sistema de archivos jerárquico , la función de directorio de trabajo no es obligatoria; por ejemplo, el sistema operativo DX10 no la proporciona, ya que todas las rutas de acceso son absolutas o relativas al volumen del sistema. [ 1 ]
Los nombres alternativos incluyen directorio de trabajo actual (CWD) [ b ] y simplemente directorio actual . [ 3 ]
Usar
- Cambiar directorio
- Muchos intérpretes de comandos ofrecen un
cdcomando para establecer el directorio de trabajo. Algunos sistemas ofrecen un comando con un nombre diferente. Por ejemplo,chdires un nombre alternativo paracden DOS/Windows.
- Informe
- Los comandos para informar el directorio de trabajo varían más que los comandos para establecerlo. Normalmente, un intérprete de comandos de Unix proporciona el comando
pwd(abreviatura de print working directory ) que informa la ruta absoluta al directorio de trabajo. El comando equivalente en DOS/Windows escdsin argumentos . Usarcdsin argumentos en sistemas tipo Unix generalmente establece el directorio de trabajo en el directorio personal del usuario .
- Programación de scripts
- Para facilitar el desarrollo de scripts, algunos shells proporcionan una variable que contiene la ruta del directorio de trabajo. Normalmente, un shell tipo Unix proporciona una variable de entorno llamada PWD. Los shells de Windows COMMAND.COM y cmd.exe proporcionan una variable de entorno pseudo- llamada CD. Los shells 4DOS , 4OS2 y 4NT proporcionan _CWD, _CWDS, _CWP, y _CWPS[ 4 ]
- Acceso directo de Windows
- Un acceso directo a un archivo de Windows puede apuntar a un directorio de trabajo que se utilizará al activar el destino del acceso directo. [ 5 ]
- Símbolo de línea de comandos
- El directorio de trabajo se muestra mediante el token $P[ nb 1 ] del comando DOS
prompt. [ 6 ] Para mantener el indicador corto en un directorio profundo, DR-DOS 7.07 COMMAND.COM admite un token $W[ nb 1 ] para mostrar solo el nivel de subdirectorio más profundo. Así, donde un valor predeterminado PROMPT $P$Gdaría como resultado fe enC:\DOS>oC:\DOS\DRDOS>, un PROMPT $N:$W$Gvalor produciríaC:DOS>yC:DRDOS>, respectivamente. Una función similar (usando $Wy ) también $wse agregó a 4DOS . [ 4 ]
- Estado para cada unidad DOS
- En DOS, la ruta absoluta al directorio de trabajo de cada volumen lógico se almacena como la estructura de directorio actual (CDS). Se asigna al arrancar el sistema con una ranura para cada unidad lógica (o según lo defina LASTDRIVE ). [ 7 ] [ 8 ] [ 9 ] Esta estructura impone un límite de longitud de 66 caracteres a la ruta completa de cada directorio de trabajo y, por lo tanto, también limita implícitamente la profundidad máxima posible de los subdirectorios. [ 7 ]
- DOS Plus y versiones anteriores de DR DOS (hasta DR DOS 6.0 , con BDOS 6.7 en 1991) no tenían tal limitación [ 8 ] [ 10 ] [ 4 ] debido a sus implementaciones que usaban emulación de DOS sobre un núcleo derivado de Concurrent DOS (y por lo tanto de CP/M-86 ), que organizaba internamente los subdirectorios como enlaces relativos a los directorios padres en lugar de como rutas absolutas . [ 8 ] [ 10 ] Dado que PalmDOS (con BDOS 7.0) y DR DOS 6.0 (actualización de 1992 con BDOS 7.1) y superior cambiaron a usar un CDS para una máxima compatibilidad con programas DOS también, se enfrentaron a las mismas limitaciones que presentes en otros DOS. [ 8 ] [ 10 ]
- Acceso a idiomas de alto nivel
- La mayoría de los entornos de lenguajes de programación proporcionan una interfaz de programación de aplicaciones (API) para el sistema de archivos , que permite obtener y establecer el directorio de trabajo.
- La función definida por POSIX
chdir()(accesible a través de C y los muchos lenguajes que interactúan con él) es una llamada al sistema que cambia el directorio de trabajo. [ 11 ] Su argumento es una cadena de texto que es una ruta al directorio de destino, ya sea absoluta o relativa al valor existente.
- Visual Basic proporciona la misma funcionalidad mediante una función con el mismo nombre.
Ejemplos
COMMAND.COM en DR-DOS 7.02 y versiones posteriores proporciona ECHOSuna variante del ECHOcomando que omite el salto de línea final. [ 13 ] [ 4 ] Esto se puede usar para crear un trabajo por lotes temporal que almacena el directorio de trabajo en una variable de entorno como CDpara su uso posterior. Por ejemplo:
ECHOS SET CD=> SETCD.BAT CHDIR >> SETCD.BAT LLAMAR A SETCD.BAT DEL SETCD.BAT
Alternativamente, en Multiuser DOS y DR-DOS 7.02 y versiones posteriores, varios comandos internos y externos admiten un parámetro /B(para "Batch"). [ 14 ] Esto modifica la salida de los comandos para que sea adecuada para la entrada directa en la línea de comandos (cuando se redirige a un archivo por lotes ) o para su uso como parámetro para otros comandos (usándolo como entrada para otro comando). Donde CHDIRemitiría una ruta de directorio como C:\DOS, un comando como CHDIR /Bemitiría CHDIR C:\DOSen su lugar, de modo que CHDIR /B > RETDIR.BATcrearía un trabajo por lotes temporal que permitiría volver a este directorio más tarde.
Véase también
- chroot : comando de shell y llamada al sistema que cambia el directorio raíz aparente.
- Directorio personal : directorio que almacena los archivos de un usuario específico.
- Unidad de carga : asignación alfabética a unidades lógicas en computadoras (por ejemplo, C:\). Páginas que muestran descripciones breves de destinos de redirección.
- Nombre de archivo largo : extensión del esquema de nombres de archivo 8.3
- Directorio raíz : el primer directorio o el de mayor jerarquía en una jerarquía.
Notas
- ↑ como una ruta de Unix que no comienza con barra inclinada (/) o una ruta de Windows que no comienza con barra invertida (\)
- ↑ como se usa en el comando
getcwd[ 2 ] .
- 1 2 De la misma manera que$Ofunciona como alternativa a$Pbajo DR-DOS COMMAND.COM ,$Wtiene un alias$Yexcepto que se suprime en disquetes para evitar mensajes de error críticos o retrasos al intentar recuperar la ruta de un disquete no insertado.
Referencias
- ↑ Guía de operaciones del sistema operativo DX10 (PDF) . Texas Instruments . 1 de septiembre de 1982. 7.4 Uso de rutas de acceso.
- ↑
- ↑ "Microsoft Windows – Función SetCurrentDirectory" . Microsoft . Archivado del original el 27/05/2018 . Consultado el 27/05/2017 .
- 1 2 3 4 Brothers, Hardin; Rawson, Tom ; Conn, Rex C .; Paul, Matthias R.; Dye, Charles E.; Georgiev, Luchezar I. (2002-02-27). Ayuda en línea de 4DOS 8.00 .
- ↑ "2.4 StringData" . [MS-SHLLINK]: Formato de archivo binario de enlace de shell (.LNK) . Microsoft .
- ↑ Guía del usuario de Caldera DR-DOS 7.02 . Caldera, Inc. 1998 [1993, 1997]. Archivado del original el 4 de noviembre de 2016. Consultado el 10 de agosto de 2013 .
- 1 2 Schulman, Andrew; Brown, Ralf D .; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [noviembre de 1993]. Undocumented DOS: Guía del programador para funciones y estructuras de datos reservadas de MS-DOS, ampliada para incluir MS-DOS 6, Novell DOS y Windows 3.1 (2.ª ed.). Reading, Massachusetts: Addison Wesley . ISBN 0-201-63287-XISBN 978-0-201-63287-3.(xviii+856+vi páginas, disquete de 3,5 pulgadas) Erratas:
- ^ Paul, Matías R. (30 de julio de 1997) [ 1 de mayo de 1994]. NWDOS-TIP : consejos y trucos para Novell DOS 7, con un clic para deshacer detalles, errores y soluciones . MPDOSTIP (en alemán) (3 ed.). Archivado desde el original el 10 de septiembre de 2017 . Consultado el 6 de agosto de 2014 . (Nota: NWDOSTIP.TXT es una obra exhaustiva sobre Novell DOS 7 y OpenDOS 7.01, que incluye la descripción de muchas características y aspectos internos no documentados. Forma parte de la
MPDOSTIP.ZIPcolección, aún más extensa, del autor, mantenida hasta 2001 y distribuida en numerosos sitios web en aquella época. El enlace proporcionado dirige a una versión anterior delNWDOSTIP.TXTarchivo convertida a HTML). - ↑ Brown, Ralf D. ; et al., eds. (2000-07-16). "Ralf Brown's Interrupt List" (61 ed.). INTER61 .
- ^ Paul, Matthias R. (7 de junio de 1997) [abril de 1994 ] . "Capítulo 1.3.xi: Überlange Pfade". NWDOS7UN.TXT — Actualización de las condiciones de documentación y desdocumentación de Novell DOS 7 . MPDOSTIP (en alemán). Archivado desde el original el 7 de noviembre de 2016 . Consultado el 7 de noviembre de 2016 .
- ↑ "Especificaciones básicas de The Open Group, número 6 e IEEE Std 1003.1" (número 6, edición de 2004). IEEE y The Open Group . 2004 [2001]. Archivado del original el 9 de febrero de 2018. Consultado el 27 de mayo de 2018 .
- ↑ "JDK-4045688: Agregar chdir o noción equivalente de cambio de directorio de trabajo" . Base de datos de errores . Oracle ( Sun Microsystems ). 18 de agosto de 2008 [17 de abril de 1997]. Archivado del original el 19 de octubre de 2017. Consultado el 20 de febrero de 2011 .
- ↑ DR-DOS 7.03 WHATSNEW.TXT — Cambios de DR-DOS 7.02 a DR-DOS 7.03 . Caldera, Inc. 1998-12-24. Archivado desde el original el 8 de abril de 2019 . Consultado el 8 de abril de 2019 .
- ↑ Documentación en línea de CCI Multiuser DOS 7.22 GOLD . Concurrent Controls, Inc. (CCI). 10 de febrero de 1997. HELP.HLP.
Lecturas adicionales
- Chen, Raymond (11 de octubre de 2010). "¿Por qué cada unidad tiene su propio directorio actual?" . The New Old Thing . Microsoft . Archivado del original el 12 de abril de 2016. Consultado el 27 de mayo de 2017 .
- Chen, Raymond (6 de mayo de 2010). "¿Qué son estas extrañas variables de entorno =C:?" . The New Old Thing . Microsoft . Archivado del original el 27 de mayo de 2018 . Recuperado el 27 de mayo de 2017 .
Enlaces externos
- Directorio de trabajo (wd) en Github : un paquete de software que realiza un seguimiento de los directorios de uso común en una sesión de bash.
- directorios del sistema de archivos