cd (comando)

Comandos de computadora en varios sistemas operativos
cd/chdir
Desarrollador(es)Colaboradores de AT&T Bell Laboratories , MetaComCo , Microsoft , IBM , DR , Novell , HP , JP Software y ReactOS
Sistema operativoUnix , tipo Unix , V , DOS , MSX-DOS , FlexOS , OS/2 , TRIPOS , Windows , MPE/iX , Plan 9 , Inferno , ReactOS , KolibriOS , SymbOS
PlataformaMultiplataforma
TipoDominio

El cdcomando, también conocido como chdir( cambiar directorio ), es un comando de línea de comandos que se utiliza para cambiar el directorio de trabajo actual en varios sistemas operativos . Se puede utilizar en scripts de shell y archivos por lotes .

Implementaciones

El comando se ha implementado en sistemas operativos como Unix , DOS , IBM OS/2 , [1] MetaComCo TRIPOS , [2] AmigaOS [3] (donde si se proporciona una ruta simple, se implica cd ), Microsoft Windows , ReactOS , [4] y Linux . En MS-DOS , está disponible en las versiones 2 y posteriores. [5] DR DOS 6.0 también incluye una implementación de los comandos cdy . [6] El comando también está disponible en el emulador de MS-DOS de código abierto DOSBox y en el shell EFI . [7] Se nombra en HP MPE/iX . [8] El comando es análogo al comando Stratus OpenVOS . [9]chdir chdir change_current_dir

cdCon frecuencia se incluye directamente integrado en un intérprete de línea de comandos. Este es el caso de la mayoría de los shells de Unix ( Bourne shell , tcsh , bash , etc.), cmd.exeen Microsoft Windows NT / 2000 + y Windows PowerShell en Windows 7+ y COMMAND.COMen DOS/Microsoft Windows 3.x - 9x / ME .

La llamada del sistema que efectúa el comando en la mayoría de los sistemas operativos es chdirla definida por POSIX .

Los shells de línea de comandos en Windows suelen utilizar la API de Windows para cambiar el directorio de trabajo actual, mientras que en los sistemas Unix cdse llama a la función chdir() POSIX C. Esto significa que cuando se ejecuta el comando, no se crea un nuevo proceso para migrar al otro directorio como es el caso con otros comandos como ls . En cambio, el propio shell ejecuta este comando. Esto se debe a que, cuando se crea un nuevo proceso , el proceso hijo hereda el directorio en el que se creó el proceso padre . Si el cdcomando hereda el directorio del proceso padre, entonces el objetivo del comando cd nunca se logrará.

Windows PowerShell , el shell de línea de comandos orientado a objetos y lenguaje de scripting de Microsoft , ejecuta el cdcomando ( cmdlet ) dentro del proceso del shell. Sin embargo, dado que PowerShell se basa en .NET Framework y tiene una arquitectura diferente a la de los shells anteriores, todos los cmdlets de PowerShell, como ls, rmetc., se ejecutan en el proceso del shell. Por supuesto, esto no es así para los comandos heredados que aún se ejecutan en un proceso independiente.

Uso

Un directorio es una sección lógica de un sistema de archivos que se utiliza para almacenar archivos. Los directorios también pueden contener otros directorios. El cdcomando se puede utilizar para cambiar a un subdirectorio, volver al directorio principal, volver al directorio raíz o ir a cualquier directorio determinado.

Considere la siguiente subsección de un sistema de archivos Unix, que muestra el directorio de inicio de un usuario (representado como ~) con un archivo, text.txt, y tres subdirectorios.

La visión que tiene un usuario del sistema de archivos en sistemas tipo Unix comienza con el directorio de inicio (a menudo abreviado como ~). A partir de ahí, el árbol puede extenderse a más subdirectorios y/o archivos.

Si el directorio de trabajo actual del usuario es el directorio de inicio ( ~), entonces ingresar el comando lsseguido de cd gamespodría producir la siguiente transcripción:

usuario@wikipedia:~$ ls workreports juegos enciclopedia texto.txt usuario@wikipedia:~$ cd  juegos usuario@wikipedia:~/juegos$

El usuario ahora está en el directorio "juegos".

Una sesión similar en DOS (aunque el concepto de "directorio de inicio" puede no aplicarse, dependiendo de la versión específica [ vago ] ) se vería así:

C:\> directorioinformes de trabajo <DIR> miércoles 9 de octubre 9:01juegos <DIR> mar 8 oct 14:32Enciclopedia <DIR> Lun 1 de octubre 10:05texto txt 1903 jue 10 oct 12:43C:\> cd juegosC:\juegos>

DOS mantiene directorios de trabajo separados para cada unidad con letra y también tiene el concepto de una unidad de trabajo actual. El cdcomando se puede utilizar para cambiar el directorio de trabajo de la unidad de trabajo o de otra unidad con letra. Al escribir la letra de la unidad como un comando por sí solo se cambia la unidad de trabajo, por ejemplo C:; alternativamente, cdcon el /dinterruptor se puede utilizar para cambiar la unidad de trabajo y el directorio de trabajo de esa unidad en un solo paso. Las versiones modernas de Windows simulan este comportamiento para compatibilidad con versiones anteriores bajo CMD.EXE . [10]

Tenga en cuenta que la ejecución cddesde la línea de comandos sin argumentos tiene diferentes efectos en distintos sistemas operativos. Por ejemplo, si cdse ejecuta sin argumentos en DOS, OS/2 o Windows, se muestra el directorio de trabajopwd actual (equivalente a Unix ). Si cdse ejecuta sin argumentos en Unix, el usuario regresa al directorio de inicio.

La ejecución del cdcomando dentro de un script o archivo por lotes también tiene diferentes efectos en diferentes sistemas operativos. En DOS, el directorio actual del llamador puede ser alterado directamente por el uso de este comando por parte del archivo por lotes . En Unix , el directorio actual del llamador no es alterado por la invocación del cdcomando por parte del script. Esto se debe a que en Unix, el script generalmente se ejecuta dentro de un subshell .

Opciones

Unix, similar a Unix

  • cdpor sí solo o cd ~siempre pondrá al usuario en su directorio de inicio.
  • cd .dejará al usuario en el mismo directorio en el que se encuentra actualmente (es decir, el directorio actual no cambiará). Esto puede ser útil si el código interno del shell del usuario no puede lidiar con el directorio en el que se encuentra que se está recreando; la ejecución cd .colocará su shell en el directorio recreado.
  • cd ~usernamecolocará al usuario en el directorio de inicio del nombre de usuario.
  • cd dir(sin un /) colocará al usuario en un subdirectorio; por ejemplo, si está en /usr, al escribir cd binlo colocará en /usr/bin, mientras que cd /binlo colocará en /bin.
  • cd ..moverá al usuario un directorio hacia arriba. Por lo tanto, si está /usr/bin/tmp, cd ..lo mueve a /usr/bin, mientras que cd ../..lo mueve a /usr(es decir, hacia arriba dos niveles). El usuario también puede usar esta indirección para acceder a subdirectorios. Por lo tanto, desde /usr/bin/tmp, puede usar cd ../../localpara ir a/usr/local
  • cd -hará que el usuario vuelva al directorio anterior. Por ejemplo, si está en /usr/bin/tmpy va a /etc, puede escribir cd -para volver a /usr/bin/tmp. El usuario puede usar esto para alternar entre dos directorios sin pushd y popd .

DOS, OS/2, Windows, ReactOS

  • sin atributos imprime la ruta completa del directorio actual.
  • -pImprima la pila de directorios final, al igual que dirs.
  • -nLas entradas se envuelven antes de llegar al borde de la pantalla.
  • -vLas entradas se imprimen una por línea, precedidas por sus posiciones en la pila.
  • cd\(Solo DOS y Windows) vuelve al directorio raíz. En consecuencia, el comando cd\subdirsiempre lleva al usuario al subdirectorio nombrado en el directorio raíz , independientemente de dónde se encuentre cuando se emite el comando.

Intérpretes distintos de un shell de sistemas operativos

En el Protocolo de transferencia de archivos , el comando correspondiente se escribe CWDen el flujo de control, pero está disponible como cden la mayoría de los programas de línea de comandos del clientelcd . Algunos clientes también tienen la opción para cambiar el directorio de trabajo localmente .

Los entornos de computación numérica MATLAB y GNU Octave incluyen una cdfunción con una funcionalidad similar. [11] [12] El comando también se aplica a los intérpretes de línea de comandos de varios otros programas de aplicación.

Véase también

Referencias

  1. ^ "Ayuda de JaTomes: comandos OS/2". www.jatomes.com . Archivado desde el original el 14 de abril de 2019 . Consultado el 11 de agosto de 2019 .
  2. ^ "Introducción a Tripos" (PDF) . Consultado el 1 de mayo de 2020 .
  3. ^ Rügheimer, Hannes; Spanik, Christian (1 de mayo de 1988). Referencia rápida de AmigaDOS. Grand Rapids, Michigan: Abacus. ISBN 9781557550491– vía Internet Archive.
  4. ^ "Reactos/reactos". GitHub . 3 de enero de 2022.
  5. ^ Wolverton, Van (2003). Ejecución de MS-DOS versión 6.22 (edición del 20.º aniversario), sexta edición revisada . Microsoft Press . ISBN 0-7356-1812-7.
  6. ^ "Guía del usuario de DR DOS 6.0: consejos de optimización y configuración" (PDF) . Archivado desde el original (PDF) el 2019-09-30 . Consultado el 2019-08-13 .
  7. ^ "EFI Shells and Scripting" (Conchas y secuencias de comandos EFI). Intel . Consultado el 25 de septiembre de 2013 .
  8. ^ "Manual de referencia de comandos MPE/iX" (PDF) . Archivado desde el original (PDF) el 2018-10-21 . Consultado el 2018-10-21 .
  9. ^ "Manual de referencia de comandos de OpenVOS" (PDF) . stratadoc.stratus.com . Consultado el 12 de septiembre de 2020 .
  10. ^ "11 de octubre de 2010". Lo viejo y lo nuevo .
  11. ^ "Cambiar la carpeta actual – MATLAB cd". www.mathworks.com .
  12. ^ "Referencia de función: cd". octave.sourceforge.io .

Lectura adicional

Obtenido de "https://es.wikipedia.org/w/index.php?title=Cd_(comando)&oldid=1246004895"