Comandos Básicos de Consola / Terminal CLI para Windows

Introducción

La interfaz de línea de comandos (CLI) es una herramienta que permite a los usuarios interactuar con el sistema operativo o software mediante la escritura de comandos en una terminal o consola. A diferencia de las interfaces gráficas de usuario (GUI), donde se interactúa con el sistema mediante clics y ventanas, en la CLI se ingresan instrucciones directamente como texto.

Uso de minúsculas en los comandos: Es recomendable escribir siempre los comandos en minúsculas, ya que la mayoría de los sistemas basados en Unix, como Linux y macOS, diferencian entre mayúsculas y minúsculas.

Diferencias en el manejo de nombres de archivos y carpetas:

  • En Windows, los nombres de archivos y carpetas no distinguen entre mayúsculas y minúsculas, por lo que archivo.txt y Archivo.txt se consideran el mismo archivo.
  • En Linux y macOS, los nombres de archivos y carpetas sí distinguen entre mayúsculas y minúsculas, lo que significa que archivo.txt y Archivo.txt son archivos diferentes.

Uso del slash (/) para referirse a directorios:

  • En sistemas Unix (Linux y macOS), es recomendable agregar una barra inclinada (/) al final de un nombre de directorio para evitar confusiones.
  • Ejemplo: proyectos/ indica que "proyectos" es un directorio y no un archivo.

también se debe tener en cuenta que para referirse a un directorio se debe usar el slash (/) al final de su nombre, p.ej proyectos/.

Ventajas del Uso de la CLI

  • Mayor rapidez y eficiencia en la ejecución de tareas repetitivas.
  • Automatización de procesos mediante scripts.
  • Acceso avanzado a configuraciones del sistema que no siempre están disponibles en la interfaz gráfica.
  • Menor consumo de recursos, ya que no depende de elementos visuales.

pwd (Print Working Directory)

El comando pwd en sistemas operativos tipo Unix, como Linux y macOS, se utiliza para mostrar la ruta absoluta del directorio en el que se encuentra el usuario en la terminal.

Uso de pwd

Simplemente se debe escribir el comando en la terminal:

                    
                      pwd
                    
                  

Ejemplo de Salida

Si el usuario está en la carpeta /home/usuario/proyectos, al ejecutar pwd, la terminal mostrará:

                      
                        /home/usuario/proyectos
                      
                    

Casos de Uso de pwd

  • Ver la ubicación actual en el sistema de archivos.
  • Evitar confusión al navegar entre directorios.
  • Uso en scripts para obtener la ubicación actual y trabajar con rutas absolutas.

Opciones útiles de pwd

  • pwd -L: Muestra el directorio actual con enlaces simbólicos (por defecto).
  • pwd -P: Muestra la ruta real sin enlaces simbólicos.

ls (LiSt)

El comando ls se utiliza en sistemas Unix/Linux y macOS para listar el contenido de un directorio en la terminal. Es una de las herramientas más básicas y esenciales en la interfaz de línea de comandos (CLI).

Formato ls

                  
                    ls [opciones] [ruta_de_directorio] [nombre_de_los_archivos]
                  
                

Usos ls

  • ls, muestra el listado de archivos en el directorio de trabajo actual.
  • ls c:\usuario\proyecto, muestra el listado del directorio proyecto.
  • ls .., muestra el contenido del directorio padre, es decir el nivel superior.
  • ls -d */, lista sólo directorios o carpetas.
  • ls *, presenta todos los archivos incluyendo los que están dentro de los subdirectorios.
  • ls -R, revela todos los archivos incluyendo los que hay en todas las subcarpetas hasta el último.
  • ls -s, exhibe los archivos junto a su tamaño.
  • ls -l, presenta los archivos en formato largo o más detallado.
  • ls -a, desplega todos los archivos y carpetas incluyendo los ocultos.
  • ls -t, muestra los archivos y carpetas ordenados por de su fecha de modificación en orden descendente (de mayor a menor).
  • ls -tr, muestra los archivos y carpetas ordenados por de su fecha de modificación en orden ascendente (de menor a mayor).
  • ls > output.txt, el listado obtenido con el comando ls se guarda en el archivo output.txt.
  • ls --help, muestra la ayuda del comando ls.

Ejemplos de uso ls

  • Listar archivos con detalles completos:

                            
                              ls -l
                            
                          

    Salida esperada:

                            
                              -rw-r--r--  1 usuario  grupo   2048 Feb 15 10:30 archivo.txt
                              drwxr-xr-x  2 usuario  grupo   4096 Feb 14 08:12 documentos/
                            
                          
  • Listar todos los archivos, incluyendo los ocultos:
  •                       
                            ls -a
                          
                        

    Salida esperada:

                          
                            .  ..  .oculto  archivo.txt  documentos/
                          
                        
  • Listar archivos ordenados por tamaño:
  •                       
                            ls -lS
                          
                        

    Esto ordena los archivos de mayor a menor tamaño.

  • Listar archivos en subdirectorios de manera recursiva:
                            
                              ls -R
                            
                          

    Esto muestra todos los archivos dentro de los subdirectorios.

El comando ls es fundamental para la navegación y gestión de archivos en la terminal, y su uso combinado con opciones avanzadas permite optimizar el flujo de trabajo en sistemas Unix/Linux y macOS.

cd (Change Directory)

El comando cd se utiliza en sistemas Unix/Linux y macOS para cambiar de directorio dentro de la terminal. Es una de las herramientas fundamentales para la navegación en la interfaz de línea de comandos (CLI).

Formato cd

                  
                    cd [opciones] [ruta_de_directorio] 
                  
                

Ejemplos de uso cd

  • Ir a un directorio específico: Esto cambia al directorio llamado "documentos", siempre que se encuentre dentro del directorio actual.
                            
                              cd documentos/
                            
                          
  • Regresar al directorio anterior: El doble punto .. indica el directorio padre. Con este comando, se sube un nivel en la jerarquía de directorios.
                            
                              cd ..
                            
                          
  • Regresar al directorio raíz (/): Esto lleva al usuario al directorio raíz del sistema.
                            
                              cd /
                            
                          
  • Ir al directorio personal del usuario (home): El símbolo ~ representa el home del usuario, generalmente /home/nombre_usuario/ en Linux, /Users/nombre_usuario/ en macOS o C:\Users\Nombre-de-usuario en Windows.
                            
                              cd ~
                            
                          
  • Regresar al directorio anterior (no confundir con el directorio padre): Este comando cambia al directorio en el que el usuario estaba antes de ejecutar el último cd.
                            
                              cd -
                            
                          
  • Acceder a un directorio mediante una ruta absoluta: En este caso, se accede al directorio "proyectos" usando su ruta completa.
                            
                              cd /home/usuario/proyectos/
                            
                          
  • Acceder a un directorio mediante una ruta relativa: Si el usuario está en /home/usuario/, este comando lo llevará a /home/usuario/proyectos/.
                            
                              cd proyectos/
                            
                          
  • Muestra la ayuda de este comando:
                            
                              cd --help 
                            
                          

mkdir (Make Directory)

El comando mkdir se utiliza en sistemas Unix/Linux y macOS para crear directorios (carpetas) desde la terminal. Es una herramienta fundamental en la administración de archivos y directorios en la interfaz de línea de comandos (CLI).

Formato mkdir

La sintaxis general del comando mkdir es:

                  
                    mkdir [nombre_de_directorio]
                  
                

Esto crea un nuevo directorio en la ubicación actual.

Ejemplos de Uso mkdir

  • Crear un solo directorio: Este comando crea un directorio llamado "proyectos" en el directorio actual.
                            
                              mkdir proyectos
                            
                          
  • Crear varios directorios a la vez: Esto creará tres directorios llamados "carpeta1", "carpeta2" y "carpeta3" en la ubicación actual.
                            
                              mkdir carpeta1 carpeta2 carpeta3
                            
                          
  • Crear un directorio en una ubicación específica: Este comando creará el directorio "nuevo_proyecto" dentro de "/home/usuario/documentos/".
                            
                              mkdir /home/usuario/documentos/nuevo_proyecto
                            
                          
  • Crear un directorio con una subcarpeta (opción -p): La opción -p (parents) permite crear directorios anidados sin necesidad de hacerlo uno por uno. En este caso, si "proyectos" y "clienteX" no existen, mkdir los creará automáticamente junto con "documentos".
                            
                              mkdir -p proyectos/clienteX/documentos
                            
                          
  • Verificar que el directorio se creó: Después de ejecutar mkdir, se puede usar ls para comprobar que el directorio ha sido creado:
                            
                              ls -l
                            
                          

Opciones Útiles de mkdir

  • mkdir -p: Crea directorios anidados sin errores si ya existen.
  • mkdir -v: Muestra un mensaje con cada directorio creado.
  • mkdir -m MODE: Establece permisos específicos al crear el directorio.
  • mkdir -m 755 carpeta_segura: Esto crea un directorio con permisos 755 (propietario con permisos de lectura, escritura y ejecución; otros solo lectura y ejecución).

touch

El comando touch en sistemas Unix/Linux y macOS se utiliza principalmente para crear archivos vacíos o actualizar la fecha y hora de modificación de un archivo sin modificar su contenido. Es una herramienta útil en la administración de archivos dentro de la interfaz de línea de comandos (CLI).

Formato touch

                  
                    touch [nombre_del_archivo]
                  
                

Si el archivo no existe, el comando lo crea vacío. Si el archivo ya existe, simplemente actualiza su fecha de modificación sin cambiar su contenido.

Ejemplos de uso touch

  • Crear un archivo vacío: Este comando creará un archivo llamado "documento.txt" en el directorio act
                            
                              touch documento.txt
                            
                          
  • Crear varios archivos a la vez: Esto creará los archivos "archivo1.txt", "archivo2.txt" y "archivo3.txt" en el directorio actual.
                            
                              touch archivo1.txt archivo2.txt archivo3.txt
                            
                          
  • Actualizar la fecha y hora de un archivo existente: Si "informe.txt" ya existe, su fecha de modificación se actualizará a la fecha y hora actual sin modificar su contenido.
                            
                              touch informe.txt
                            
                          
  • Cambiar la fecha de modificación a una fecha específica: Esto cambia la fecha de modificación de "archivo.txt" a 28 de febrero de 2024 a las 15:30.
                            
                              touch -t 202402281530 archivo.txt
                            
                          
  • Evitar la creación del archivo si no existe (solo actualizar la fecha): Si el archivo no existe, no se creará. Si existe, se actualizará su fecha de modificación.
                            
                              touch -c archivo.txt
                            
                          

Opciones Útiles de touch

  • touch -c: No crea el archivo si no existe, solo actualiza la fecha de modificación si ya existe.
  • touch -m: Solo modifica la fecha de modificación del archivo, sin cambiar la de acceso.
  • touch -a: Solo cambia la fecha de acceso sin modificar la de modificación.
  • touch -t [[CC]YY]MMDDhhmm[.ss]: Especifica una fecha y hora personalizada.
  • touch -t 202402281530 archivo.txt : Esto cambia la fecha de modificación de "archivo.txt" a 28 de febrero de 2024 a las 15:30.
  • touch -d "2023-12-01 10:00:00" reporte.txt : Esto cambia la fecha de "reporte.txt" a 1 de diciembre de 2023 a las 10:00 AM.

rm (ReMove)

El comando rm se utiliza para eliminar archivos y directorios. Su uso puede ser peligroso porque los archivos eliminados con rm no se envían a la papelera, sino que se borran de manera permanente.

Formato rm

                  
                    rm [opciones] [ruta_de_directorio]/[nombre_del_archivo]
                  
                

Usos rm

  • rm -f c:\usuarios\respaldo\index.css, se hace la eliminación del archivo index.css sin pedir confirmación alguna.
  • rm -i index.css, pide la confirmación antes de la eliminación del archivo index.css.
  • rm -r c:\usuarios\respaldo\ o -R, se elimina el directorio de respaldo recursivamente, es decir, se elimina el directorio con todo su contenido incluyendo subcarpetas y archivos.
  • rm -d c:\usuarios\respaldo\, borra el directorio respaldo, si y sólo si, está vacío, de lo contrario mostrará un error.
  • rm -v c:\usuarios\respaldo\, Muestra los archivos eliminados.

Ejemplos de Uso rm

  • Eliminar un archivo específico: Borra el archivo archivo.txt en el directorio actual.
                            
                              rm archivo.txt
                            
                          
  • Eliminar varios archivos: Elimina archivo1.txt y archivo2.txt.
                            
                              rm archivo1.txt archivo2.txt
                            
                          
  • Eliminar todos los archivos con cierta extensión: Elimina todos los archivos con extensión .log en el directorio actual.
                            
                              rm *.log
                            
                          
  • Eliminar un directorio y su contenido: Elimina carpeta junto con todos sus archivos y subdirectorios.
                            
                              rm -r carpeta
                            
                          
  • Forzar la eliminación sin confirmación: Elimina carpeta de forma recursiva y sin pedir confirmación. ¡Cuidado con este comando, puede borrar archivos importantes de forma irreversible!.
                            
                              rm -rf carpeta
                            
                          
  • Confirmar antes de eliminar: Pregunta antes de eliminar archivo.txt.
                            
                              rm -i archivo.txt
                            
                          

Consejos de Seguridad rm

  • Antes de usar rm -rf, verificar con ls qué se va a eliminar.
  • Se puede usar trash-cli como alternativa segura para mover archivos a la papelera en lugar de eliminarlos permanentemente.

cp (CoPy)

Este comando cp se utiliza para copiar archivos y directorios. Permite duplicar archivos en la misma ubicación o moverlos a otra ubicación, manteniendo el original intacto.

Formato cp

                  
                    cp [opciones] origen destino
                  
                
  • origen: Archivo o directorio que se desea copiar.
  • destino: Ubicación donde se copiará el archivo o directorio.

Usos cp

  • cp -i index.html c:\usuario\proyecto, copia el archivo index.hml en el directorio c:\usuario\proyecto pero si el archivo ya existe se pide la confirmación.
  • cp -r c:\usuario\proyecto c:\usuario\respaldo, se copia recursivamente el contenido de la carpeta proyecto en la respaldo, o sea, incluyendo todas las subcarpetas y los archivos.
  • cp -f origen destino, Se fuerza la copia sobrescribiendo archivos sin pedir confirmación.
  • cp -v origen destino, muestra cada archivo/directorio que se esta copiando.
  • cp c:\usuario\archivo_viejo.txt c:\usuario\archivo_nuevo.txt, renombra el archivo_viejo.txt con archivo_nuevo.txt quedando ambos archivos en el mismo directorio, ambos son iguales, se puede borrar el original, archivo_viejo.txt sin consecuencias.
  • cp -p informe.pdf \home\usuario\respaldo\ , Se copia el archivo informe.pdf a la carpeta \home\usuario\respaldo\, manteniendo sus permisos y fecha de modificación.
  • cp c:\usuario\archivo_viejo.txt c:\usuario\archivo_nuevo.txt, renombra el archivo_viejo.txt con archivo_nuevo.txt quedando ambos archivos en el mismo directorio, ambos son iguales, se puede borrar el original, archivo_viejo.txt sin consecuencias.
  • cp -u datos.csv \home\usuario\respaldo\ : Copia el archivo datos.csv al directorio \home\usuario\respaldo\, pero evitando sobrescribirlo si ya existe una versión más reciente en el destino.
                          
                            cp -u datos.csv \home\usuario\respaldo\
                          
                        

clear

Este comando se usa para limpiar la terminal, eliminando el contenido visible en pantalla y dejando una interfaz limpia.

Formato clear

                  
                    clear
                  
                

Alternativas a clear

  • Limpiar la pantalla sin perder el historial:
                            
                              printf "\033c"
                            
                          
    Esto restablece la terminal a su estado inicial.
  • Limpiar el historial de la sesión actual y la pantalla:
                            
                              history -c && clear
                            
                          
    Este comando borra completamente el historial de comandos y limpia la pantalla.

history

Se utiliza para mostrar el historial de comandos ejecutados en la terminal. Esto permite revisar, reutilizar o administrar comandos previamente utilizados.

Formato history

              
                history [opciones] [n]
              
            
  • Si se usa sin argumentos, muestra todos los comandos almacenados en el historial.
  • n permite limitar la cantidad de comandos mostrados.

Ejemplos de uso history

  • Mostrar todo el historial de comandos: Muestra una lista numerada con todos los comandos ejecutados en la sesión actual.
                              
                                history
                              
                            
  • Mostrar solo los últimos n comandos: Muestra los últimos 10 comandos ejecutados.
                            
                              history 10
                            
                          
  • Buscar un comando en el historial: Muestra todas las líneas del historial que contienen el comando ls.
                            
                              history | grep "ls"
                            
                          
    Otra forma rápida de buscar comandos es presionar Ctrl + R y escribir una parte del comando.
  • Reejecutar un comando del historial: Se puede ejecutar un comando directamente usando su número en la lista.
                            
                              !100
                            
                          
    Ejecuta el comando con el número 100 en el historial.
    Para ejecutar el último comando usado:
                            
                              !!
                            
                          
  • Eliminar un comando específico del historial: Elimina el comando número 50 del historial.
                            
                              history -d 50
                            
                          
  • Limpiar completamente el historial: Borra todos los comandos almacenados en el historial de la sesión actual.
                            
                              history -c
                            
                          
  • Guardar el historial actual en el archivo de historial: Guarda los cambios en el archivo ~/.bash_history, donde se almacena el historial de comandos.
                            
                              history -w
                            
                          

Ubicación del historial

El historial de comandos se guarda en el archivo oculto ~/.bash_history. Se puede ver con:

                    
                      cat ~/.bash_history
                    
                  

El comando history es útil para reutilizar comandos, depurar errores o automatizar tareas mediante scripts.


COMENTARIOS

Si tiene alguna inquietud, duda o ha encontrado algún error, por favor infórmelo a través del formulario disponible para este propósito.

La política de privacidad, y los términos y condiciones están disponibles en el formulario de contacto.