Linux Professional Institute Learning Logo.
Pasar al contenido principal
  • Inicio
    • Todos los recursos
    • LPI Learning Materials
    • Conviértete en colaborador
    • Publishing Partners
    • Conviértase en un Publishing Partner
    • Acerca de nosotros
    • FAQ
    • Colaboradores
    • Contáctenos
  • LPI.org
2.3 Lección 1
Tema 1: La Comunidad Linux y una carrera en el mundo del código abierto
1.1 Los sistemas operativos populares y la evolución de Linux
  • 1.1 Lección 1
1.2 Principales aplicaciones de código abierto
  • 1.2 Lección 1
1.3 Software de Código Abierto y las licencias
  • 1.3 Lección 1
1.4 Destrezas TIC y el trabajo con Linux
  • 1.4 Lección 1
Tema 2: Encontrando el camino en un sistema Linux
2.1 Aspectos básicos de la línea de comandos
  • 2.1 Lección 1
  • 2.1 Lección 2
2.2 Uso de la línea de comandos para obtener ayuda
  • 2.2 Lección 1
2.3 Uso de directorios y listado de archivos
  • 2.3 Lección 1
  • 2.3 Lección 2
2.4 Crear, mover y borrar archivos
  • 2.4 Lección 1
Tema 3: El poder de la línea de comandos
3.1 Archivar ficheros desde la línea de comandos
  • 3.1 Lección 1
3.2 Buscar y extraer datos de los ficheros
  • 3.2 Lección 1
  • 3.2 Lección 2
3.3 Crear un script a partir de una serie de comandos
  • 3.3 Lección 1
  • 3.3 Lección 2
Tema 4: El sistema operativo Linux
4.1 La elección del sistema operativo
  • 4.1 Lección 1
4.2 Conocer el hardware del ordenador
  • 4.2 Lección 1
4.3 Donde los datos se almacenan
  • 4.3 Lección 1
  • 4.3 Lección 2
4.4 Tu ordenador en la red
  • 4.4 Lección 1
Tema 5: Seguridad y sistema de permisos de archivos
5.1 Seguridad básica e identificación de tipos de usuarios
  • 5.1 Lección 1
5.2 Creating Users and Groups
  • 5.2 Lección 1
5.3 Gestión de los permisos y la propiedad de los archivos
  • 5.3 Lección 1
5.4 Directorios y archivos especiales
  • 5.4 Lección 1
  1. Tema 2: Encontrando el camino en un sistema Linux
  2. 2.3 Uso de directorios y listado de archivos
  3. 2.3 Lección 1

2.3 Lección 1

Introducción

Certificación:

Linux Essentials

Versión:

1.6

Tema:

2 Encontrando tu camino en el sistema Linux

Objectivo:

2.3 Usando directorios y listando archivos

Lección:

1 de 2

Archivos y Directorios

El sistema de archivos Linux es similar a otros sistemas de archivos de otros sistemas operativos, ya que contiene ficheros y directorios. Los ficheros almacenan datos como texto (legible por el ser humano), programas ejecutables o datos binarios que son interpretados por el computador. Mientras que los directorios se utilizan para crear una organización dentro del sistema de archivos. Los directorios pueden contener archivos y otros directorios.

$ tree

Documents
├── Mission-Statement.txt
└── Reports
    └── report2018.txt

1 directory, 2 files

En este ejemplo, Documents es un directorio que contiene un archivo (Mission-Statement.txt) y un subdirectorio (Reports) El directorio Reports a su vez contiene un archivo llamado report2018.txt. El directorio Documents se dice que es el padre del directorio Reports.

Tip

Si el comando tree no está disponible en su sistema, instálelo usando el gestor de paquetes de su distribución Linux. Consulte la lección sobre gestión de paquetes para aprender a como realizarlo.

Nombres de archivos y directorios

Los nombres de archivos y directorios en Linux pueden contener letras minúsculas y mayúsculas, números, espacios y caracteres especiales; sin embargo, dado que muchos caracteres especiales tienen un significado diferente en el intérprete de comandos de Linux, es una buena práctica no utilizar espacios o caracteres especiales cuando se nombran archivos o directorios. Un ejemplo de esto son los espacios, ya que necesitan que el carácter escape (escape character) \ sea introducido correctamente:

$ cd Mission\ Statements

También observemos el nombre del archivo report2018.txt. Los nombres de archivos pueden contener un sufijo que se encuentra después del punto (.). A diferencia de Windows, este sufijo no tiene un significado especial en Linux; solo está ahí para la comprensión humana. En nuestro ejemplo, el .txt nos indica que se trata de un archivo de texto plano, aunque técnicamente podría contener cualquier tipo de dato.

Navegando en el Sistema de Archivos

Obteniendo la ubicación actual

Dado que los shells de Linux como Bash están basados en texto, es importante recordar la ubicación actual cuando se navega por el sistema de archivos, el command prompt puede proporcionar esta información:

user@hostname ~/Documents/Reports $

Tenga en cuenta que información como usuario y nombre de host se cubrirá en futuras secciones. Desde el prompt, ahora sabemos que nuestra ubicación actual se encuentra en el directorio Reports. De forma similar, el comando pwd imprimirá el directorio de trabajo (working directory):

user@hostname ~/Documents/Reports $ pwd
/home/user/Documents/Reports

La relación de directorios se representa con una barra oblicua (/). Sabemos que Reports es un subdirectorio de Documents y este es un subdirectorio de user, que se encuentra en un directorio llamado home. El directorio home no parece tener un directorio padre, pero esto no es cierto en lo absoluto; el padre de home se llama root, y está representado por la primera barra oblicua (/) que discutiremos en una sección posterior.

Note que la salida del comando pwd difiere ligeramente de la ruta dada por el command prompt. En lugar de /home/user contiene una tilde (~). La tilde es un carácter especial que representa el directorio home del usuario. Esto será cubierto con más detalle en la siguiente lección.

Listando el contenido de los directorios

El contenido del directorio actual se lista con el comando ls:

user@hostname ~/Documents/Reports $ ls
report2018.txt

Tenga en cuenta que ls no proporciona información sobre el directorio padre. Por defecto ls no muestra ninguna información sobre el contenido de los subdirectorios. El comando ls sólo puede “ver” lo que hay en el directorio actual.

Cambiando al directorio actual

La navegación en Linux se hace principalmente con el comando cd. Esto cambia el directorio. Usando el comando pwd de antes, sabemos que nuestro directorio actual es /home/user/Documents/Reports. Podemos cambiar nuestro directorio actual introduciendo una nueva ruta:

user@hostname ~ $ cd /home/user/Documents
user@hostname ~/Documents $ pwd
/home/user/Documents
user@hostname ~/Documents $ ls
Mission-Statement.txt Reports

Desde nuestra nueva ubicación, podemos “ver” Mission-Statement.txt y nuestro subdirectorio Reports, pero no el contenido de nuestro subdirectorio:

user@hostname ~/Documents $ cd Reports
user@hostname ~/Documents/Reports $ pwd
/home/user/Documents/Reports
user@hostname ~/Documents/Reports $ ls
report2018.txt

Ahora estamos de vuelta donde empezamos.

Rutas Absolutas y Relativas

El comando pwd siempre imprime una ruta absoluta. Esto significa que la ruta contiene cada paso de la ruta, desde la parte superior del sistema de ficheros (/) hasta la parte inferior (Reports). Las rutas absolutas siempre comienzan con un /.

/
└── home
    └── user
        └── Documents
            └── Reports

La ruta absoluta contiene toda la información necesaria para llegar a Reports desde cualquier parte del sistema de ficheros, el inconveniente es que es tedioso de escribir.

El segundo ejemplo (cd Reports) era mucho más fácil de escribir, este es un ejemplo de una ruta relativa. Las rutas relativas son más cortas, pero sólo tienen significado en relación a tu ubicación actual. Considera esta analogía: te estoy visitando en tu casa y me dices que tu amigo vive en la casa de al lado, entenderé esa ubicación porque es relativa a mi ubicación actual, pero si me dices esto por teléfono, no podré encontrar la casa de tu amigo, necesitarás darme la dirección completa de la calle.

Rutas Relativas Especiales

Para revelar las primeras rutas especiales, entramos en el comando ls con la bandera -a. Esta bandera modifica el comando ls para que se listen todos los archivos y directorios all, incluyendo los archivos y directorios ocultos:

user@hostname ~/Documents/Reports $ ls -a
.
..
report2018.txt
Note

Puedes consultar la página de man para ls entender lo que -a está haciendo aquí.

Este comando ha revelado dos resultados adicionales: Estas son rutas especiales, no representan nuevos archivos o directorios, sino que representan directorios que usted ya conoce:

.

Indica la ubicación actual (en este caso, Reports).

..

Indica el directorio padre (en este caso, Documents).

Por lo general, no es necesario usar una ruta relativa especial para la ubicación actual. Es más fácil y comprensible escribir report2018.txt que ./report2018.txt, pero el . tiene usos que aprenderá en futuras secciones. Por ahora, nos centraremos en la ruta relativa para el directorio padre:

user@hostname ~/Documents/Reports $ cd ..
user@hostname ~/Documents $ pwd
/home/user/Documents

El ejemplo de cd es mucho más fácil cuando se usa .. en lugar de la ruta absoluta, además, podemos combinar este patrón para navegar por el árbol de archivos muy rápidamente.

user@hostname ~/Documents $ cd ../..
$ pwd
/home

Ejercicios guiados

  1. Para cada una de las siguientes rutas, identifique si es absoluta o relativa:

    /home/user/Downloads

    ../Reports

    /var

    docs

    /

  2. Observe la siguiente estructura de archivos. Nota: Los directorios terminan con una barra inclinada (/) cuando se ejecuta tree con la opción -F. Necesitará privilegios elevados para ejecutarlo en el directorio principal root (/). El siguiente es un resultado de ejemplo y no es indicativo de una estructura de directorio completa. Úselo para responder las siguientes preguntas:

    $ sudo tree -F /
    
    /
    ├── etc/
    │   ├── network/
    │   │   └── interfaces
    │   ├── systemd/
    │   │   ├── resolved.conf
    │   │   ├── system/
    │   │   ├── system.conf
    │   │   ├── user/
    │   │   └── user.conf
    │   └── udev/
    │       ├── rules.d/
    │       └── udev.conf
    └── home/
        ├── lost+found/
        └── user/
            └── Documents/
    
    12 directorios, 5 archivos

    Use esta estructura para responder las siguientes preguntas.

    Un usuario ingresa los siguientes comandos:

    $ cd /etc/udev
    $ ls -a

    ¿Cuál será la salida del comando ls -a?

  3. Ingrese el comando más corto posible para cada una de las siguientes situaciones:

    • Su ubicación actual es root (/). Ingrese el comando para navegar a lost+found dentro del directorio home (ejemplo):

      $ cd home/lost+found
    • Su ubicación actual es root (/). Ingrese el comando para navegar al directorio llamado /etc/network/.

    • Su ubicación actual es /home/user/Documents/. Navegue al directorio llamado /etc/.

    • Su ubicación actual es /etc/systemd/system/. Navegue al directorio llamado /home/user/.

  4. Considere los siguientes comandos:

    $ pwd
    /etc/udev/rules.d
    $ cd ../../systemd/user
    $ cd ..
    $ pwd

    ¿Cuál es el resultado del comando final pwd?

Ejercicios exploratorios

  1. Supongamos que un usuario ha ingresado los siguientes comandos:

    $ mkdir "this is a test"
    $ ls
    this is a test

    ¿Qué comando cd le permitiría ingresar a este directorio?

  2. Intente esto nuevamente, pero después de escribir cd this, presione la tecla TAB. ¿Qué se muestra ahora en la solicitud?

    Este es un ejemplo de _ autocompletado_, la cual es una herramienta invaluable no solo para ahorrar tiempo, sino también para evitar errores ortográficos.

  3. Intente crear un directorio cuyo nombre contenga un carácter \. Visualice el nombre del directorio con ls y elimine el directorio.

Resumen

En esta lección usted aprendió:

  • Los fundamentos del sistema de archivos Linux

  • La diferencia entre directorios padres y subdirectorios

  • La diferencia entre las rutas absolutas y relativas

  • Las rutas relativas especiales . y ..

  • Navegar por el sistema de archivos usando cd

  • Mostrar tu ubicación actual usando pwd

  • Listar todos los archivos y directorios usando ls -a

Los siguientes comandos se discutieron en esta lección:

cd

Cambiar el directorio actual.

pwd

Imprime la ruta actual del directorio de trabajo.

ls

Enumerar el contenido de un directorio y mostrar las propiedades de los archivos.

mkdir

Crear un nuevo directorio.

tree

Muestra la jerárquica de un árbol de directorios.

Respuestas a los ejercicios guiados

  1. Para cada una de las siguientes rutas, identifique si es absoluta o relativa:

    /home/user/Downloads

    absoluta

    ../Reports

    relativa

    /var

    absoluta

    docs

    relativa

    /

    absoluta

  2. Observe la siguiente estructura de archivos. Nota: Los directorios terminan con una barra inclinada (/) cuando se ejecuta tree con la opción -F. Necesitará privilegios elevados para ejecutarlo en el directorio principal root (/). El siguiente es un resultado de ejemplo y no es indicativo de una estructura de directorio completa. Úselo para responder las siguientes preguntas:

    $ sudo tree -F /
    
    /
    ├── etc/
    │   ├── network/
    │   │   └── interfaces
    │   ├── systemd/
    │   │   ├── resolved.conf
    │   │   ├── system/
    │   │   ├── system.conf
    │   │   ├── user/
    │   │   └── user.conf
    │   └── udev/
    │       ├── rules.d/
    │       └── udev.conf
    └── home/
        ├── lost+found/
        └── user/
            └── Documents/
    
    12 directorios, 4 archivos

    Un usuario ingresa los siguientes comandos:

    $ cd /etc/udev
    $ ls -a

    ¿Cuál será la salida del comando ls -a?

    . .. rules.d udev.conf
  3. Ingrese el comando más corto posible para cada una de las siguientes situaciones:

    • Su ubicación actual es root (/). Ingrese el comando para navegar a lost+found dentro del directorio home (ejemplo):

      $ cd home/lost+found
    • Su ubicación actual es root (/). Ingrese el comando para navegar al directorio llamado /etc/network/

      $ cd etc/network
    • Su ubicación actual es /home/user/Documents/. Navegue al directorio llamado /etc/.

      $ cd /etc
    • Su ubicación actual es /etc/systemd/system/. Navegue al directorio llamado /home/user/.

      $ cd /home/user
  4. Considere los siguientes comandos:

    $ pwd
    /etc/udev/rules.d
    $ cd ../../systemd/user
    $ cd ..
    $ pwd

    ¿Cuál es el resultado del comando final pwd?

    /etc/systemd

Respuestas a los ejercicios exploratorios

  1. Supongamos que un usuario ha ingresado los siguientes comandos:

    $ mkdir "this is a test"
    $ ls
    this is a test

    ¿Qué comando cd le permitiría ingresar a este directorio?

    $ cd this\ is\ a\ test
  2. Intente esto nuevamente, pero después de escribir cd this, presione la tecla TAB. ¿Qué se muestra ahora en la solicitud?

    $ cd this\ is\ a\ test

    Este es un ejemplo de _ autocompletado_, que es una herramienta invaluable no solo para ahorrar tiempo, sino también para evitar errores ortográficos.

  3. Intente crear un directorio cuyo nombre contenga un carácter \. Visualice el nombre del directorio con ls y elimine el directorio.

    Puedes escapar de la barra invertida usando otra igual (\\) o usar comillas simples o dobles en todo el nombre del directorio:

    $ mkdir my\\dir
    $ ls
    'my\dir'
    $ rmdir 'my\dir'

© 2020 Linux Professional Insitute Inc. Todos los derechos reservados. Visite el sitio web de Learning Materials: https://asir.sudo.es/docnux/learning.lpi.org
Este trabajo está registrado bajo la Licencia Internacional Creative Commons Attribution-NonCommercial-NoDerivatives 4.0

Siguiente lección

2.3 Uso de directorios y listado de archivos (2.3 Lección 2)

Leer la próxima lección

© 2020 Linux Professional Insitute Inc. Todos los derechos reservados. Visite el sitio web de Learning Materials: https://asir.sudo.es/docnux/learning.lpi.org
Este trabajo está registrado bajo la Licencia Internacional Creative Commons Attribution-NonCommercial-NoDerivatives 4.0

LPI es una organización sin fines de lucro.

Linux Professional Institute (LPI) es la organización global de certificación y apoyo académico para profesionales de código abierto. Con más de 200,000 titulares de certificación, es el primer y más grande organismo de certificación no comercial del mundo para Linux y Open Source. LPI cuenta con profesionales certificados en más de 180 países, realiza exámenes en varios idiomas y tiene cientos de socios de capacitación.

Nuestro propósito es hacer que las oportunidades económicas y creativas estén disponibles para todos, haciendo que el conocimiento de código abierto y la certificación sea universalmente accesible.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Contáctenos
  • Política de privacidad y cookies

¿Detecta un error o desea ayudar a mejorar esta página? Por favor háznoslo saber.

© Copyright 1999-2020 The Linux Professional Institute Inc. Todos los derechos reservados.