# Command Line Windows

## Que es comand line
La Línea de Comandos Es una Interfaz (o CLI, por sus iniciales en inglés) es un método para manipular con instrucciones escritas al programa que subyace debajo. A esta interfaz se le acostumbra llamar Consola de sistema o consola de comandos
El comando "listar archivos", bajo diversos programas:
A continuacion se en listan las diferentes consolas para cada sistema
CMD - Windows
PowerShell - Windows
Shell - UNIX
## Que es un comando
Es una instrucción que el usuario proporciona a un sistema.
## comando pwd
El comando `pwd` de las siglas en inglés _print working directory_, su única función es mostrar el directorio en donde se encuentra actualmente.
```
pwd
```
## comando cd
El comando `cd` (_Change Directory_), sirve para poder navegar entre directorios, necesita como parámetro una ruta, ya sea relativa o absoluta
```
cd ruta/directorio/
```
## comando dir
`dir` es un comando que muestra la lista de archivos que contiene una carpeta.
```
dir
```
**Actividad:** Navega hasta el directorio `Downloads`, dentro de el ejecuta el comando `pwd` para asegurarte de que estas en la carpeta correcta, después despliega la lista de archivos en esa carpeta.
## comando call
`call` es un comando que sirve para crear archivos vacíos.
```
call >> your_file.txt
```
## Comando echo
`echo` te permite crear, fusionar o imprimir archivos en la pantalla de salida.
```
echo archivo.py
```
## Crear una carpeta (directorio)
Con el comando `mkdir` que significa _make directory_, este comando e utilizado para crear un nuevo directorio o carpeta del sistema de archivos. Si existe un directorio con el mismo nombre este no trabaja. Se utiliza en sistemas operativos como UNIX y Microsoft Windows.
```
mkdir dir1
```
**Actividad:** Crea una carpeta con el nombre _personal_, dentro de esa carpeta crea un archivo con el nombre _myData.txt_, posteriormente edita edita el archivo con _vi_ y agrega tus datos personales como Nombre, Apellidos, Fecha de nacimiento y número telefónico. Posteriormente, muestra tus datos (imprime) en la consola.
## Rutas absolutas y relativas
### Ruta absoluta o completa
Una ruta absoluta o completa comienza con la ***/***
```
cd /etc/skel
```
### Ruta relativa
Las rutas relativas indican el camino para encontrar un elemento, pero basándonos en el directorio desde el que se ejecuta la orden, es decir, desde el directorio en donde nos encontramos posicionados. Para saber si son correctas o no tenemos que saber siempre desde dónde se han utilizado
```
cd escritorio/misdocumentos/
```
## Comando xcopy
El comando `xcopy` ("copy") copia ficheros y directorios, para copiar un archivo basta con el siguiente comando
```
xcopy archivo.py ruta/relativa
```
para poder copiar un directorio se necesita el parametro ***-r*** este parametro hace una referencia a un directorio y no a un archivo
```
xcopy /E /I dir1/ dir2/
```
## Comando move
Con el comando `move` se pueden mover archivos a través de rutas relativas o absolutas.
```
move dir1/ /export/home
```
También otro uso que tiene es que se puede cambiar el nombre del archivo, siempre y cuando esten el mismo nivel de archivos.
```
move archivo1.py nuevoNombre.py
```
## Borrar archivos
Siempre que tengamos archivos creados en algun directorio en la mayoria de veces se tendran que borrar dichos archivos, hay muchas formas de hacer eso , una de ellas es borrarlos mediante interfaz grafica, la otra es mediante el uso de un comando.
El comando `DEL` nos ayudará a remover algun archivo dentro del directorio o dentro de la ruta absoluta o relativa
```
DEL /s /q archivo.py
```
Para eliminar una carpeta:
```
DEL /s /q dir1/
```
**Actividad:** Copia el archivo _myData.txt_ a la carpeta _Documents_, una vez que copiaste el archivo, elimina la carpeta _personal_ que se encuentra en _Downloads_.