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 and older issues of DR DOS (up to DR DOS 6.0, with BDOS 6.7 in 1991) had no such limitation[8][10][4] due to their implementations using DOS emulation on top of a Concurrent DOS- (and thus CP/M-86-)derived kernel, which internally organized subdirectories as relative links to parent directories instead of as absolute paths.[8][10] Since PalmDOS (with BDOS 7.0) and DR DOS 6.0 (1992 update with BDOS 7.1) and higher switched to use a CDS for maximum compatibility with DOS programs as well, they faced the same limitations as present in other DOSes.[8][10]
- High-level language access
- Most programming-language environments provide an application programming interface to the file system for getting and setting the working directory.
- The POSIX-defined function
chdir()(accessible via C and the many languages that interoperate with it) is a system call that changes the working directory.[11] Its argument is a text string that is a path to the target directory, either absolute or relative to the existing value.
- Visual Basic provides the same functionality via a function with the same name.
Examples
COMMAND.COM in DR-DOS 7.02 and higher provides ECHOS, a variant of the ECHO command that omits the terminating linefeed.[13][4] This can be used to create a temporary batchjob storing the working directory in an environment variable like CD for later use. For example:
ECHOS SET CD=> SETCD.BAT CHDIR >> SETCD.BAT CALL 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 bash.
- directorios del sistema de archivos