En la programación de computadoras, el desarrollo web y la administración de sistemas Linux, las rutas de directorios o archivos son una forma importante de identificar la ubicación de los datos en un sistema.
Los programadores a menudo usan una ruta para apuntar a una biblioteca de codificación importante, mientras que los desarrolladores web a veces apuntan a gráficos o videos en el servidor que aloja el sitio que están creando, y los administradores del sistema Linux pueden apuntar a un archivo de configuración importante.
Las rutas son como un mapa del tesoro que describe el diseño de un sistema para que un usuario o una computadora puedan volver sobre los pasos para recuperar datos importantes.
[ Keep your most commonly used commands handy with the Linux commands cheat sheet. ]
Tabla de Contenidos
Cómo leer el camino
Una ruta describe una ubicación. P.ej, /home/tux/example.txt
decirte desde /home
directorio en su disco duro y haga clic en entrar tux
directorio donde encontrará un archivo llamado example.txt
.
Si te ayuda, puedes decir «contiene» entre cada elemento de la ruta mientras lees, porque cada elemento de la ruta es algo «dentro» de otra cosa.En este ejemplo, la declaración «empezar en casa, que contiene tux, que contiene ejemplo.txt» es una descripción precisa de dónde example.txt
quedarse en cama.
camino absoluto
Una ruta absoluta no supone que su ubicación actual sea relativa a la ubicación del archivo o directorio que describe.camino absoluto siempre Comienza en el punto de inicio absoluto del disco duro y describe cada paso que debe realizar a través del sistema de archivos para llegar al destino.
Por ejemplo, supongamos que escribe una nota a un colega que dice «presione un botón cada 108 minutos». Estas instrucciones son inútiles sin decirles a sus colegas dónde están los botones. Entonces cambia la instrucción a: «Pulse /usr/share/widgets/button cada 108 minutos».
Ahora sus colegas conocen la ubicación exacta del botón, y la ruta del botón es la misma ya sea que usted o sus colegas sigan esa ruta o no.En su directorio de inicio, el botón se encuentra en /usr/share/widgets/button
y desde el directorio de inicio de su colega, el botón también se encuentra en /usr/share/widgets/button
.
La razón es que la ruta es la misma ya sea que la directiva que proporcione comience o no desde el área más alejada del sistema de archivos.No puedes volver más atrás /
así que una vez que estés allí, puedes encontrar usr
que contiene share
que contiene widgets
que contiene el botón.
[ Want to test your sysadmin skills? Take a skills assessment today. ]
siempre puedes usar realpath
Ordenar:
$ cd /usr/share/aclocal
$ realpath pkg.m4
/usr/share/aclocal/pkg.m4`
$ cd ~
$ realpath example.txt
/home/tux/example.txt
camino relativo
Las rutas absolutas son útiles, pero no siempre funcionan.si sabes donde widgets
directorio, que contiene button
, quedarse en cama.entonces no tienes que ir todo el camino de regreso /
después usr
después share
y muchos más. Piénselo de esta manera: cuando se detiene en un restaurante de camino al trabajo, no tiene que ir todo el camino a casa para continuar su viaje a la oficina.Simplemente sales del restaurante y sigues porque sabes dónde está la oficina. relativamente a su ubicación actual.
Las rutas relativas utilizan el mismo principio.Supongamos que eres /var/log/foo
quieres ver un archivo /var/log/bar
No hay razón para «viajar» todo el camino de regreso /var
En su lugar, utilice rutas relativas para ver foo
y entrar bar
.
$ sudo cat ../bar/file.txt
dos puntos (..
) significa moverse al directorio principal, por lo que ../bar/file.txt
Indica para subir un directorio (ingresar /var/log
) y luego hacia abajo /var/log/bar
que contiene file.txt
.
Puede notar el uso ..
No muy descriptivo. Estas son las ventajas y desventajas de las rutas relativas. Esta es una ventaja porque permite escribir más rápido y es flexible.la declaración ../bar/file.txt
no importa lo que pasó antes bar
solo sabe bar
El directorio contiene un archivo llamado file.txt
Esto hace que si el usuario retiene foo
y bar
directorio en /var/log
o en /opt
o en /home/tux/.var/log
o cualquier otro lugar.
Las rutas relativas permiten que las aplicaciones y los scripts sean en gran medida autónomos. Siempre que el entorno inmediato sea predecible, siempre puede hacer referencia a archivos de ubicaciones conocidas.yo uso mucho este truco repositorio GitSé que no importa dónde esté la carpeta, el directorio de nivel superior siempre es conocido o detectable.usa un comando como git rev-parse --show-toplevel
Me permite usar enlaces simbólicos y scripts que comienzan desde mi repositorio en lugar de todo mi disco duro.
[ Get the guide to installing applications on Linux. ]
Punto único
Puede parecer extraño al principio, pero las rutas relativas también permiten sin movimiento en un camino Es posible que haya visto instrucciones que le indican que ejecute un script como este:
$ sh ./example.sh
Un solo punto significa su posición actual.
En realidad, hay una buena razón para ello. Ya sea que lo sepa o no, su computadora tiene varias rutas predeterminadas a las que asume que se referirá cada vez que ejecute un comando. Esta ubicación predeterminada, a menudo llamada «tu ruta» o «tu $PATH», es donde tu computadora busca comandos para ejecutar.
Su computadora en sí misma no sabe ls
o git
es un comando de palabra clave especial.ejecuta estas aplicaciones porque cuando busca /usr/bin
encontrará el archivo llamado ls
y git
Ahí.Imagina lo que sucede si nombro un archivo ls
Luego configure mi computadora para ejecutar el primer archivo que encuentre con ese nombre.Cada vez que estoy en un directorio con archivos arbitrarios ls
, mi computadora intentará ejecutarlo.en lugar de obtener una lista de todos mis archivos, obtendré cualquier cosa ls
Dile a la computadora que lo haga.
Esto es peligroso, por lo que, por defecto, Linux no busca comandos en ninguna parte. En su lugar, debe especificar la ubicación del archivo que desea ejecutar como una aplicación, incluso si el archivo está realmente a su lado.
otros símbolos de ruta
Estoy usando barras (/
) porque Linux, Internet y muchos otros usan barras como separadores de ruta. Si bien la barra inclinada es probablemente el delimitador más común, no es el único. Históricamente, los sistemas Windows han usado barras invertidas (\
) como separador de rutas, aunque los sistemas modernos de Windows entienden ambos.
Muchos lenguajes de programación usan expresiones de ruta para describir la herencia de las bases de código.Por ejemplo, es posible que vea una referencia de secuencia de comandos de Python time.sleep()
o QtWidgets.QVBoxLayout()
En estos casos, el punto delimitador representa un tipo de camino.Este time
el módulo contiene sleep
función, y QtWidgets
el módulo contiene QVBoxLayout
Función. Puede que no interactúes con estos caminos de la misma manera, pero transmiten el mismo concepto. Están mapeando la ubicación de un recurso y asegurándose de que un programador o programa pueda ubicar ese recurso de manera confiable.
De hecho, cuando una aplicación no se ejecuta en una computadora, generalmente se debe a que falta una biblioteca. Esto significa que la computadora sigue el camino y encuentra que no hay biblioteca en el lugar descrito. La solución suele ser instalar las dependencias que faltan, que colocan las bibliotecas requeridas en las rutas esperadas.
ruta de uso
Las rutas son mapas y, al igual que los mapas del tesoro, las rutas de los archivos pueden ser para usted (la persona que enterró el tesoro en primer lugar) o para otra persona (la persona con la que desea compartir el tesoro). A diferencia de los mapas del tesoro, que apuntan a un solo tesoro enterrado, las rutas de los archivos pueden apuntar a datos que existen en las computadoras de muchas personas.Preste atención a cómo describe la ubicación de los recursos importantes y use instaladores cuando sea posible, como Autoherramientas o hacer para asegurarse de que sus scripts y aplicaciones puedan adaptarse a diferentes preferencias de instalación.
Si todavía estás tratando de dominar el camino, recuerda que la práctica hace al maestro. Cuanto más use la terminal para navegar por su sistema, más naturales serán las rutas del sistema de archivos.
[ If you’re new to Linux, read the guide to the Linux terminal for beginners. ]