Directorio de trabajo

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Sistema de archivos informáticos actualmente en uso

En informática, el directorio de trabajo de un proceso es un directorio de un sistema de archivos jerárquico, si lo hay, asociado dinámicamente con cada proceso. A veces se denomina directorio de trabajo actual (CWD), p. la función BSD getcwd, o simplemente directorio actual. Cuando el proceso hace referencia a un archivo utilizando un nombre de archivo simple o una ruta relativa (a diferencia de un archivo designado por una ruta completa desde un directorio raíz), la referencia se interpreta en relación con el directorio de trabajo del proceso. Entonces, por ejemplo, un proceso con el directorio de trabajo /rabbit-shoes que solicita crear el archivo foo.txt terminará creando el archivo /rabbit-shoes/foo.txt.

En sistemas operativos

En la mayoría de los sistemas de archivos de computadora, cada directorio tiene una entrada (generalmente llamada ".") que apunta al directorio mismo.

En la mayoría de los shells de comandos de DOS y UNIX, así como en los intérpretes de línea de comandos de Microsoft Windows cmd.exe y Windows PowerShell, el directorio de trabajo se puede cambiar usando el CD o CHDIR comandos. En los shells de Unix, el comando pwd genera un nombre de ruta completo del directorio de trabajo; el comando equivalente en DOS y Windows es CD o CHDIR sin argumentos (mientras que en Unix, cd utilizado sin argumentos lleva al usuario de vuelta a su / su directorio personal).

La variable de entorno PWD (en shells de Unix/Linux), o las variables de pseudo-entorno CD (en Windows COMMAND.COM y cmd.exe, pero no en OS/2 y DOS), o _CWD, _CWDS, _CWP y _CWPS (bajo 4DOS, 4OS2, 4NT etc.) se puede usar en scripts, por lo que no es necesario iniciar un programa externo. Los accesos directos a archivos de Microsoft Windows tienen la capacidad de almacenar el directorio de trabajo.

COMMAND.COM en DR-DOS 7.02 y superior proporciona ECHOS, una variante del comando ECHO que omite el avance de línea de terminación. Esto se puede usar para crear un trabajo por lotes temporal que almacene el directorio de trabajo en una variable de entorno como CD para su uso posterior, por ejemplo:

ECHOS SET CD= SETCD.BAT
CHDIR, titulado SETCD.BAT
CALL SETCD.BAT
DEL SETCD.BAT

Alternativamente, en DOS multiusuario y DR-DOS 7.02 y superior, varios comandos internos y externos admiten un parámetro /B (para "Batch"). Esto modifica la salida de los comandos para que sea adecuado para la entrada directa de la línea de comandos (cuando se redirige a un archivo por lotes) o el uso como parámetro para otros comandos (usándolo como entrada para otro comando). Donde CHDIR generaría una ruta de directorio como C:DOS, un comando como CHDIR /B generaría CHDIR C:DOS en su lugar, de modo que CHDIR /B > RETDIR.BAT crearía un trabajo por lotes temporal que permitiría volver a este directorio más adelante.

El directorio de trabajo también se muestra mediante el token $P del comando PROMPT..COM admite un token $W para mostrar solo el nivel de subdirectorio más profundo. Entonces, donde un PROMPT $P$G predeterminado daría como resultado p.e. en C:DOS> o C:DOSDRDOS>, un PROMPT $N:$W$G produciría C:DOS> y C:DRDOS>, respectivamente. También se agregó una función similar (usando $W y $w) a 4DOS.

En DOS, las rutas absolutas de los directorios de trabajo de todos los volúmenes lógicos se almacenan internamente en una estructura de datos similar a una matriz llamada Estructura de directorio actual (CDS), que se asigna dinámicamente en el momento del arranque para contener la cantidad necesaria de ranuras para todas las unidades lógicas (o según lo definido por LASTDRIVE). Esta estructura impone un límite de longitud de 66 caracteres en 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. DOS Plus y ediciones anteriores de DR DOS (hasta DR DOS 6.0, con BDOS 6.7 en 1991) no tenían tal limitación debido a su implementación utilizando una emulación de DOS sobre un DOS concurrente (y, por lo tanto, CP/M-86-) kernel derivado, que organizaba internamente los subdirectorios como enlaces relativos a directorios principales en lugar de rutas absolutas. Dado que PalmDOS (con BDOS 7.0) y DR DOS 6.0 (actualización de 1992 con BDOS 7.1) y superior cambiaron para usar un CDS para lograr la máxima compatibilidad con los programas de DOS, se enfrentaron a las mismas limitaciones que presentan otros DOS.

En lenguajes de programación

La mayoría de los lenguajes de programación proporcionan una interfaz para las funciones del sistema de archivos del sistema operativo, incluida la capacidad de establecer (cambiar) el directorio de trabajo del programa.

En el lenguaje C, la función POSIX chdir() efectúa la llamada al sistema que cambia el directorio de trabajo. Su argumento es una cadena de texto con una ruta al nuevo directorio, ya sea absoluto o relativo al anterior. Donde esté disponible, puede ser llamado por un proceso para establecer su directorio de trabajo.

Existe la misma función en otros idiomas. En Visual Basic normalmente se escribe CHDIR().

A diferencia de la API de Windows o la función POSIX C, ni el lenguaje de programación Java ni la máquina virtual Java admiten chdir() directamente; una solicitud de cambio permaneció abierta durante más de una década mientras el equipo responsable de Java consideraba las alternativas, aunque en 2008 la solicitud fue denegada después de que solo se introdujera un soporte limitado (que afectó primero a java.lang.Runtime y luego, java.lang.ProcessBuilder ).

Contenido relacionado

Ping (utilidad de red)

ping es una utilidad de software de administración de redes informáticas que se utiliza para probar la accesibilidad de un host en una red de Protocolo de...

Bastante buena privacidad

Pretty Good Privacy es un programa de cifrado que proporciona privacidad criptográfica y autenticación para la comunicación de datos. PGP se utiliza para...

Comodoro Internacional

Commodore International fue un fabricante estadounidense de computadoras y productos electrónicos para el hogar fundado por Jack Tramiel. Commodore...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save