Navegación básica en directorios de Linux

Introducción

En este artículo, aprenderemos los conceptos básicos para desplazarnos por el sistema. Muchas tareas dependen de poder llegar o hacer referencia a la ubicación correcta en el sistema. Como tal, estas cosas realmente forman la base de poder trabajar efectivamente en Linux. Asegúrate de entenderlo bien.

Entonces, ¿dónde estamos?

El primer comando que vamos a aprender es pwd, que significa Print Working Directory (Imprimir directorio de trabajo). (Verás que muchos comandos en Linux se nombran como la abreviatura de una palabra o palabras que los describen. Esto hace que sea más fácil recordarlos). El comando hace exactamente eso. te dice cuál es tu directorio de trabajo actual o presente. Pruébalo ahora mismo.

Muchos comandos en la terminal dependerán de que estés en la ubicación correcta. Mientras te mueves, puede ser fácil perder la noción de dónde estás. Utiliza este comando con frecuencia para recordar dónde te encuentras actualmente.

¿Qué hay en nuestra ubicación actual?

Una cosa es saber dónde estamos. A continuación, queremos saber qué hay allí. El comando para esta tarea es ls. Es la abreviatura de la list (listar). Vamos a usarlo.

Mientras que pwd solo se ejecuta sin argumentos, ls es un poco más poderoso. Lo hemos ejecutado aquí sin argumentos, en cuyo caso solo hará una lista simple de nuestra ubicación actual. Sin embargo, podemos hacer más con ls. A continuación, se muestra un resumen de su uso:

ls [opciones] [ubicacion]

En el ejemplo anterior, los corchetes ([]) significan que esos elementos son opcionales, podemos ejecutar el comando con o sin ellos. En la terminal a continuación, ejecuta ls de diferentes maneras para demostrar el funcionamiento.

Vamos a desglosarlo:

  • Línea 1 – Ejecutamos ls en su forma más básica. Enumeró el contenido de nuestro directorio actual.
  • Línea 4: ejecutamos ls con una sola opción de línea de comando (-l) que indica que haremos una lista larga. Una lista larga tiene lo siguiente:
    • El primer carácter indica si es un archivo normal (-) o un directorio (d)
    • Los siguientes 9 caracteres son permisos para el archivo o directorio (aprenderemos más sobre ellos mas adelante).
    • El siguiente campo es el número de bloques (no te preocupes demasiado por esto).
    • La siguiente linea es el propietario del archivo o directorio (Cesar en este caso).
    • El siguiente campo es el grupo al que pertenece el archivo o directorio (usuarios en este caso).
    • A continuación, se muestra el tamaño del archivo.
    • El siguiente es el tiempo de modificación del archivo.
    • Finalmente tenemos el nombre real del archivo o directorio.
  • Línea 10: ejecutamos ls con un argumento de línea de comandos (/etc). Cuando hacemos esto, le dices a ls que no enumere nuestro directorio actual, sino que enumere el contenido de ese directorio.
  • Línea 13: ejecutamos ls con una opción de línea de comandos y un argumento. Como tal, hizo una larga lista del directorio /etc.
  • Las líneas 12 y 18 solo indican que he cortado algunos de los comandos de salida normal por razones de brevedad. Cuando ejecutes los comandos, verás una lista más larga de archivos y directorios.

Rutas

En los comandos anteriores comenzamos a tocar algo llamado ruta. Me gustaría entrar en más detalles sobre ellos ahora, ya que son importantes para dominar Linux. Siempre que nos referimos a un archivo o directorio en la línea de comandos, de hecho, nos estamos refiriendo a una ruta. es decir. Una ruta es un medio para llegar a un archivo o directorio particular en el sistema.

Rutas absolutas y relativas

Hay 2 tipos de rutas que podemos usar, absoluta y relativa. Cada vez que nos referimos a un archivo o directorio estamos usando una de estas rutas. Siempre que nos referimos a un archivo o directorio, podemos, de hecho, usar cualquier tipo de ruta (de cualquier manera, el sistema seguirá siendo dirigido a la misma ubicación).

Para empezar, tenemos que entender que el sistema de archivos en Linux es una estructura jerárquica. En la parte superior de la estructura está lo que se llama el directorio root. Se denota con una barra inclinada (/). Tiene subdirectorios, y estos subdirectorios contienen subdirectorios, etc. Los archivos pueden residir en cualquiera de estos directorios.

Las rutas absolutas especifican una ubicación (archivo o directorio) en relación con el directorio root. Puedes identificarlos fácilmente, ya que siempre comienzan con una barra diagonal ( / )

Las rutas relativas especifican una ubicación (archivo o directorio) en relación con el lugar donde estamos actualmente en el sistema. No comenzarán con una barra.

Aquí hay un ejemplo para que lo entiendas:

  • Línea 1: ejecutamos pwd solo para verificar dónde estamos actualmente.
  • Línea 4 – Ejecutamos ls proporcionándole una ruta relativa. Documents es un directorio en nuestra ubicación actual. Este comando podría producir resultados diferentes dependiendo de dónde nos encontremos. Si tuviéramos otro usuario en el sistema, juan, y ejecutáramos el comando cuando estuviéramos en su directorio de inicio, entonces enumeraríamos el contenido de su directorio Documents.
  • Línea 7 – Ejecutamos ls proporcionándole una ruta absoluta. Este comando proporcionará el mismo resultado independientemente de nuestra ubicación actual cuando lo ejecutemos.

Más sobre rutas

Encontrarás que se pueden lograr muchas cosas en Linux de varias maneras diferentes. Las rutas no son diferentes. Aquí hay algunos argumentos más que puedes usar para ayudar a construir tus rutas.

  • ~ (tilde): este es un acceso directo para tu directorio de inicio. por ejemplo, si tu directorio de inicio es /home/cesar, entonces puedes consultar los documentos del directorio con la ruta /home/cesar/Documents o ~/ Documents
  • (punto): esta es una referencia a tu directorio actual. Por ejemplo, en el ejemplo anterior nos referimos a Documents en la línea 4 con una ruta relativa. También podría escribirse como ./Documents (Normalmente, este punto adicional no es necesario, pero en las secciones posteriores veremos dónde resulta útil).
  • .. (dotdot): esta es una referencia al directorio principal. Puedes usar esto varias veces en una ruta para seguir ascendiendo en la jerarquía. por ejemplo, si estuviera en la ruta /home/cesar, podría ejecutar el comando ls ../../ y esto haría una lista del directorio root.

Entonces, probablemente estés comenzando a ver que podemos referirnos a una ubicación de diferentes maneras. Algunos pueden estar haciendo la pregunta, ¿cuál debo usar?

La respuesta es que puedes usar cualquier método que desees para referirse a una ubicación. Cada vez que te refieres a un archivo o directorio en la línea de comandos, en realidad te refieres a una ruta y tu ruta puede construirse utilizando cualquiera de estos elementos. El mejor enfoque es el que sea más conveniente para ti. Aquí hay unos ejemplos:

Después de jugar con estos en la línea de comandos, comenzarán a tener un poco más de sentido. Asegúrate de comprender cómo funcionan todos estos elementos para construir una ruta, ya que los usarás en secciones futuras.

Vamos a movernos un poco

Para movernos en el sistema, usamos un comando llamado cd que significa change directory (cambiar directorio). Funciona de la siguiente manera:

cd [ubicación]

Atajo. Si ejecutas el comando cd sin ningún argumento, siempre te llevará de regreso a tu directorio de inicio.

El comando cd puede ejecutarse sin una ubicación como vimos en el acceso directo anterior, pero generalmente se ejecutará con un solo argumento de línea de comandos, que es la ubicación en la que nos gustaría cambiar.

La ubicación se especifica como una ruta y, como tal, se puede especificar como una ruta absoluta o relativa y utilizando cualquiera de los componentes básicos de la ruta mencionados anteriormente. Aquí hay unos ejemplos.

Truco

Escribir estas rutas puede volverse tedioso. Si eres como yo, también eres propenso a hacer errores tipográficos. La línea de comando tiene un pequeño mecanismo para ayudarnos con esta situación. Se llama Tab Completion.

Cuando comiences a escribir una ruta (en cualquier lugar de la línea de comandos, no solo se limita a ciertos comandos), puedes presionar la tecla Tab en tu teclado en cualquier momento, lo que invocará una acción de autocompletar.

Si no sucede nada, eso significa que hay varias posibilidades. Si vuelves a presionar Tab, te mostrará esas posibilidades. Luego puedes continuar escribiendo y presionar Tab nuevamente y nuevamente intentará completarse automáticamente.

Es un poco difícil de demostrar aquí, así que probablemente sea mejor si lo intentas tú mismo. Si comienza a escribir cd /hTab/ <principio de tu nombre de usuario> Tab obtendrás una idea de cómo funciona.

Resumen

Lo que aprendimos

pwd

Imprimir directorio de trabajo, es decir. Dónde estamos actualmente

ls

Listar el contenido de un directorio.

cd

Cambiar directorios – es decir, moverse a otro directorio.

Conceptos importantes

Ruta relativa

Una ubicación de archivo o directorio relativa a donde estamos actualmente en el sistema de archivos.

Ruta absoluta

Una ubicación de archivo o directorio en relación con el root del sistema de archivos.

Practicando lo aprendido

Bien, ahora pongamos esto en práctica lo aprendido. Prueba lo siguiente:

  • Comencemos familiarizándonos con el movimiento. Usa los comandos cd y ls para explorar qué directorios hay en tu sistema y qué hay en ellos. Asegúrate de utilizar una variedad de rutas relativas y absolutas. Algunos lugares interesantes para ver son:
    • /etc: almacena archivos de configuración para el sistema.
    • /var/log: almacena archivos de registro para varios programas del sistema. (Es posible que no tengas permiso para ver todo en este directorio. Sin embargo, no dejes que eso le impida explorar. Algunos mensajes de error nunca perjudican a nadie).
    • /bin: la ubicación de varios programas de uso común (algunos de los cuales aprenderemos más adelante).
    • /usr/bin: otra ubicación para los programas en el sistema.
  • Ahora ve a tu directorio de inicio usando 4 métodos diferentes.
  • Asegúrate de estar usando Tab Completion cuando escriba tus rutas también. ¿Por qué hacer algo que puedes hacer que la computadora haga por ti?