Bash
Tutorial Bash: Comandos de navegación pwd, cd y ls
Bash y Shell: Aprende a usar los comandos pwd, cd y ls para navegar y gestionar archivos y directorios. Incluye rutas absolutas y relativas, y opciones avanzadas.
Aprende Bash y certifícateComando pwd y las rutas absolutas y relativas
El comando pwd
(print working directory) se utiliza en Bash y Shell para mostrar la ruta completa del directorio de trabajo actual. Este comando es fundamental dentro de los comandos Linux para la navegación de directorios en Bash script. Al ejecutar pwd
, se obtiene una ruta absoluta, que es la ruta completa desde la raíz del sistema de archivos hasta el directorio actual.
Ejemplo de uso del comando pwd
:
$ pwd
/home/usuario/proyectos
En este caso, la salida /home/usuario/proyectos
es una ruta absoluta que indica la ubicación exacta del directorio de trabajo actual en el sistema de archivos.
Rutas absolutas
Una ruta absoluta especifica la ubicación completa de un archivo o directorio desde la raíz del sistema de archivos. Comienza siempre con una barra inclinada (/
). Por ejemplo:
/home/usuario/proyectos
/etc/nginx/nginx.conf
/var/log/syslog
Las rutas absolutas son útiles porque son independientes del directorio de trabajo actual. Puedes usar una ruta absoluta en cualquier contexto y siempre apuntará al mismo lugar en el sistema de archivos.
Rutas relativas
Una ruta relativa, en cambio, especifica una ubicación en relación con el directorio de trabajo actual. No comienza con una barra inclinada, y puede incluir directorios como .
(el directorio actual) y ..
(el directorio padre). Por ejemplo, si el directorio de trabajo actual es /home/usuario/proyectos
:
# Acceder a un archivo en el directorio actual
$ cat archivo.txt
# Acceder a un subdirectorio del directorio actual
$ cd subdirectorio
# Acceder a un archivo en el directorio padre
$ cat ../otro_archivo.txt
# Volver al directorio padre
$ cd ..
Las rutas relativas son útiles para scripts y comandos que dependen de la estructura de directorios actual, permitiendo una navegación más flexible sin necesidad de conocer la ruta absoluta completa.
Ejemplos combinados
Para ilustrar la diferencia entre rutas absolutas y relativas, consideremos el siguiente escenario. Supongamos que estamos en el directorio /home/usuario/proyectos
y queremos cambiar al directorio /var/log
. Podemos hacerlo utilizando tanto una ruta absoluta como una relativa:
# Usando una ruta absoluta
$ cd /var/log
# Usando una ruta relativa (si estamos en /home/usuario/proyectos)
$ cd ../../var/log
Ambos comandos lograrán el mismo resultado, pero el segundo depende del contexto actual del directorio de trabajo.
Entender la diferencia entre rutas absolutas y relativas es crucial para navegar eficientemente el sistema de archivos utilizando comandos Linux en Bash y Shell, y para escribir scripts de Bash script robustos y flexibles.
Comando cd y sus atajos
El comando cd
(change directory) se utiliza en Bash y Shell para cambiar el directorio de trabajo actual. Este comando es esencial dentro de los comandos Linux para la navegación y gestión de archivos y directorios en Bash script. A continuación, se detallan su uso y varios atajos que pueden optimizar la navegación en la línea de comandos.
El uso básico de cd
es seguido por la ruta del directorio al que se desea cambiar:
$ cd /ruta/del/directorio
Si se utiliza sin argumentos, cd
cambia al directorio home del usuario actual:
$ cd
Para cambiar al directorio padre del actual, se puede utilizar ..
:
$ cd ..
El uso de .
mantiene el directorio actual sin cambios:
$ cd .
Atajos útiles del comando cd
- Directorio home (
~
): El símbolo~
representa el directorio home del usuario. Por lo tanto,cd ~
es equivalente acd
:
$ cd ~
- Directorio anterior (
-
): El guion (-
) cambia al directorio anterior en el que se encontraba el usuario:
$ cd -
- Ruta relativa: Se pueden utilizar rutas relativas para navegar de manera más eficiente dentro de la estructura de directorios actual:
$ cd subdirectorio
$ cd ../otro_directorio
- Combinación de rutas: Es posible combinar rutas relativas y absolutas. Por ejemplo, si el directorio de trabajo es
/home/usuario/proyectos
y se desea cambiar a/home/usuario/documentos
, se puede hacer de la siguiente manera:
$ cd ../documentos
- Utilización de variables de entorno: Bash permite el uso de variables de entorno para simplificar la navegación. Por ejemplo,
CDPATH
puede ser configurado para incluir directorios frecuentemente utilizados, permitiendo cambiar a esos directorios sin necesidad de especificar la ruta completa:
$ export CDPATH=.:/home/usuario/proyectos:/home/usuario/documentos
$ cd proyectos
- Combinación con otros comandos:
cd
puede ser usado en combinación con otros comandos y scripts para realizar tareas más complejas. Por ejemplo, se puede cambiar de directorio y listar el contenido en una sola línea:
$ cd /var/log && ls
Ejemplos prácticos
Para ilustrar el uso del comando cd
y sus atajos, consideremos los siguientes ejemplos prácticos:
- Cambiar al directorio
/etc
y luego volver al directorio anterior:
$ cd /etc
$ cd -
- Navegar desde
/home/usuario/proyectos
a/home/usuario/proyectos/subproyecto
y luego volver al directorio padre:
$ cd subproyecto
$ cd ..
- Cambiar al directorio home y luego a un subdirectorio llamado
scripts
dentro del home del usuario:
$ cd
$ cd scripts
Estos ejemplos muestran cómo el comando cd
y sus atajos pueden ser utilizados para navegar eficazmente en el sistema de archivos en Bash y Shell, facilitando la gestión de archivos y directorios en los Bash scripts.
Comando ls y sus opciones comunes
El comando ls
en Bash y Shell es fundamental para listar el contenido de directorios. Este comando es esencial dentro de los comandos Linux para la navegación y gestión de archivos y directorios en Bash script. A continuación, se describen algunas de las opciones más comunes del comando ls
y su uso.
El uso básico de ls
sin argumentos lista los archivos y directorios en el directorio actual:
$ ls
archivo1.txt archivo2.txt directorio1 directorio2
Para listar los archivos en un directorio específico, se puede proporcionar la ruta del directorio como argumento:
$ ls /ruta/del/directorio
Opciones comunes del comando ls
-l
(lista larga): Muestra los detalles completos de los archivos y directorios en formato de lista larga, incluyendo permisos, número de enlaces, propietario, grupo, tamaño y fecha de modificación.
$ ls -l
total 8
-rw-r--r-- 1 usuario grupo 0 ene 1 00:00 archivo1.txt
-rw-r--r-- 1 usuario grupo 0 ene 1 00:00 archivo2.txt
drwxr-xr-x 2 usuario grupo 4096 ene 1 00:00 directorio1
drwxr-xr-x 2 usuario grupo 4096 ene 1 00:00 directorio2
-a
(todos los archivos): Lista todos los archivos, incluyendo los archivos ocultos que comienzan con un punto (.
).
$ ls -a
. .. .archivo_oculto archivo1.txt archivo2.txt directorio1 directorio2
-h
(tamaños legibles por humanos): Muestra los tamaños de los archivos en un formato legible por humanos (KB, MB, GB) cuando se usa con-l
.
$ ls -lh
total 8.0K
-rw-r--r-- 1 usuario grupo 0B ene 1 00:00 archivo1.txt
-rw-r--r-- 1 usuario grupo 0B ene 1 00:00 archivo2.txt
drwxr-xr-x 2 usuario grupo 4.0K ene 1 00:00 directorio1
drwxr-xr-x 2 usuario grupo 4.0K ene 1 00:00 directorio2
-R
(recursivo): Lista todos los archivos y directorios de manera recursiva, mostrando también el contenido de los subdirectorios.
$ ls -R
.:
archivo1.txt archivo2.txt directorio1 directorio2
./directorio1:
archivo3.txt
./directorio2:
archivo4.txt
-t
(ordenar por tiempo): Ordena los archivos por la fecha y hora de modificación, mostrando primero los más recientes.
$ ls -lt
total 8
-rw-r--r-- 1 usuario grupo 0 ene 2 00:00 archivo2.txt
-rw-r--r-- 1 usuario grupo 0 ene 1 00:00 archivo1.txt
drwxr-xr-x 2 usuario grupo 4096 ene 1 00:00 directorio1
drwxr-xr-x 2 usuario grupo 4096 ene 1 00:00 directorio2
-r
(invertir el orden): Invierte el orden de la lista. Puede combinarse con otras opciones como-t
para mostrar los archivos más antiguos primero.
$ ls -ltr
total 8
drwxr-xr-x 2 usuario grupo 4096 ene 1 00:00 directorio1
drwxr-xr-x 2 usuario grupo 4096 ene 1 00:00 directorio2
-rw-r--r-- 1 usuario grupo 0 ene 1 00:00 archivo1.txt
-rw-r--r-- 1 usuario grupo 0 ene 2 00:00 archivo2.txt
-S
(ordenar por tamaño): Ordena los archivos por tamaño, mostrando primero los más grandes.
$ ls -lS
total 8
drwxr-xr-x 2 usuario grupo 4096 ene 1 00:00 directorio1
drwxr-xr-x 2 usuario grupo 4096 ene 1 00:00 directorio2
-rw-r--r-- 1 usuario grupo 0 ene 1 00:00 archivo1.txt
-rw-r--r-- 1 usuario grupo 0 ene 1 00:00 archivo2.txt
Combinación de opciones
Las opciones del comando ls
pueden combinarse para obtener listados más detallados y útiles. Por ejemplo, para listar todos los archivos (incluyendo los ocultos) en formato de lista larga y con tamaños legibles por humanos, se puede usar:
$ ls -alh
total 16K
drwxr-xr-x 3 usuario grupo 4.0K ene 1 00:00 .
drwxr-xr-x 4 usuario grupo 4.0K ene 1 00:00 ..
-rw-r--r-- 1 usuario grupo 0 ene 1 00:00 .archivo_oculto
-rw-r--r-- 1 usuario grupo 0 ene 1 00:00 archivo1.txt
-rw-r--r-- 1 usuario grupo 0 ene 1 00:00 archivo2.txt
drwxr-xr-x 2 usuario grupo 4.0K ene 1 00:00 directorio1
drwxr-xr-x 2 usuario grupo 4.0K ene 1 00:00 directorio2
La comprensión y el uso eficiente del comando ls
y sus opciones comunes son cruciales para la navegación y gestión de archivos y directorios en Bash y Shell, facilitando la administración de sistemas y la creación de scripts en Bash script.
Comando --help para ver opciones de los comandos
Muchos comandos en Bash y Shell aceptan la opción --help
para obtener información detallada sobre sus opciones y uso. Esta práctica es común en comandos de GNU y otros programas, y es muy útil en la creación y depuración de Bash scripts. La estructura general para utilizar --help
es la siguiente:
$ <comando> --help
Cuando se ejecuta esta instrucción, se despliega una lista de todas las opciones disponibles para el comando especificado, junto con una breve descripción de cada una. Esto es particularmente útil para entender rápidamente cómo funciona un comando y cuáles son sus parámetros más relevantes.
Ejemplos prácticos
- Visualizar la ayuda del comando
ls
:
$ ls --help
El resultado de este comando muestra una lista completa de las opciones que ls
puede aceptar, como -l
para la lista larga, -a
para mostrar archivos ocultos, entre otros.
- Ayuda para el comando
pwd
:
$ pwd --help
Este comando muestra las opciones disponibles para pwd
, como -L
para seguir enlaces simbólicos y -P
para utilizar la ruta física.
- Ayuda para el comando
cd
:
Para los comandos internos del Shell (built-ins), como cd
, echo
, exit
, entre otros, se utiliza el comando interno help
para obtener información sobre su uso:
$ help cd
Este comando muestra información detallada sobre cómo utilizar cd
, incluyendo sus opciones y sintaxis.
- Ayuda para otros comandos internos:
$ help alias
$ help exit
$ help read
Detalles adicionales
El uso de --help
es particularmente valioso para comandos más complejos o menos conocidos. Por ejemplo, si se desea utilizar grep
con varias opciones avanzadas, el comando grep --help
proporciona una guía completa sobre cómo combinar diferentes opciones para realizar búsquedas más precisas.
Integración en scripts de Bash
En los Bash scripts, el uso de --help
puede ser útil durante la fase de desarrollo y depuración para verificar rápidamente las opciones de los comandos que se están utilizando. Por ejemplo, un script que procesa archivos de texto puede incluir una línea comentada con grep --help
para recordar todas las opciones disponibles:
#!/bin/bash
# Script de ejemplo para buscar patrones en archivos de texto
# grep --help # Línea comentada para referencia rápida
# Buscar el patrón "error" en todos los archivos .log
grep "error" *.log
Consideraciones de uso
Es importante tener en cuenta que no todos los comandos y utilidades en Bash y Shell proporcionan información mediante --help
. En algunos casos, se puede utilizar el comando man
(manual) para obtener documentación más detallada:
$ man <comando>
Por ejemplo:
$ man ls
Este comando abre la página del manual para ls
, proporcionando una descripción exhaustiva de sus opciones y funcionamiento.
El comando --help
es una herramienta fundamental para cualquier ingeniero de software que trabaje con Bash y Shell, facilitando la comprensión y el uso eficiente de los comandos Linux en la creación y mantenimiento de Bash scripts.
Ejercicios de esta lección Comandos de navegación pwd, cd y ls
Evalúa tus conocimientos de esta lección Comandos de navegación pwd, cd y ls con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.
Transferencia de archivos y comunicación remota con SSH
Tareas de automatización de PostgreSQL
Redes y comunicación con ifconfig, ip y netstat
Redirección y tuberías
Expresiones regulares y manipulación de texto
Principales distribuciones de Linux
Evaluación Conocimiento general de Bash
Gestión de servicios con systemd
Gestión de paquetes y actualización del sistema
Comprimir y descomprimir archivos
Manipulación de permisos de archivos y directorios
Introducción a Shell y Bash
Enlaces simbólicos y duros
Configuración de Bash
Gestión de procesos con ps, htop y pgrep
Comandos de navegación
Definición y uso de funciones
Instalar Ubuntu en Windows con WSL
Sintaxis de control de flujo
Variables y tipos de datos
Operadores
Manipulación de archivos y directorios
Todas las lecciones de Bash
Accede a todas las lecciones de Bash y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.
Principales Distribuciones De Linux
Introducción Y Entorno
Instalar Ubuntu En Windows Con Wsl
Introducción Y Entorno
Introducción A Shell Y Bash
Introducción Y Entorno
Comandos De Navegación Pwd, Cd Y Ls
Navegación Y Gestión De Archivos Y Directorios
Manipulación De Archivos Y Directorios
Navegación Y Gestión De Archivos Y Directorios
Comprimir Y Descomprimir Archivos En Bash
Navegación Y Gestión De Archivos Y Directorios
Manipulación De Permisos De Archivos Y Directorios
Navegación Y Gestión De Archivos Y Directorios
Enlaces Simbólicos Y Duros
Navegación Y Gestión De Archivos Y Directorios
Redirección Y Tuberías
Navegación Y Gestión De Archivos Y Directorios
Gestión De Procesos Con Ps, Htop Y Pgrep
Gestión De Procesos Y Servicios
Gestión De Servicios Con Systemd
Gestión De Procesos Y Servicios
Configuración De Bash
Interacción Con El Sistema
Redes Y Comunicación
Interacción Con El Sistema
Transferencia De Archivos Y Comunicación Remota Con Ssh
Interacción Con El Sistema
Gestión De Paquetes Y Actualización Del Sistema
Interacción Con El Sistema
Variables Y Tipos De Datos
Sintaxis Y Creación De Scripts En Bash
Operadores
Sintaxis Y Creación De Scripts En Bash
Sintaxis De Control De Flujo
Sintaxis Y Creación De Scripts En Bash
Expresiones Regulares Y Manipulación De Texto
Sintaxis Y Creación De Scripts En Bash
Definición Y Uso De Funciones
Sintaxis Y Creación De Scripts En Bash
Evaluación Bash
Evaluación
Certificados de superación de Bash
Supera todos los ejercicios de programación del curso de Bash y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.
En esta lección
Objetivos de aprendizaje de esta lección
- Comprender el uso del comando
pwd
para mostrar la ruta del directorio actual. - Diferenciar entre rutas absolutas y relativas en Bash.
- Utilizar el comando
cd
para cambiar de directorio y aplicar sus atajos. - Realizar listados detallados usando diferentes opciones del comando
ls
. - Utilizar el comando
--help
para obtener información sobre otros comandos.