¿Qué es un nombre de ruta completo?

21

Me gustaría entender qué significa realmente el nombre completo de la ruta. Tengo un archivo en mi directorio de inicio llamado my_script. Supuse que el nombre completo de la ruta es ./my_script, lo que significa que está en la carpeta raíz, pero no estoy seguro. ¿Puede alguien por favor iluminarme en eso?

sosytee
fuente
¿Puede preguntar "es posible escribir un comando que muestre la lista de archivos con sus nombres?" en otra nueva pregunta ?
Braiam

Respuestas:

30

No, tu suposición es incorrecta. El nombre de ruta completo para el my_scriptarchivo desde el directorio principal es: /home/your_user_name/my_script. Cuando escribe ./my_scripten el terminal, realmente intenta ejecutar el script (si es ejecutable) y se ejecutará solo si su directorio de trabajo actual lo es /home/your_user_name/. Para ejecutar el script, puede usar también la ruta completa del archivo que es, como dije /home/your_user_name/my_script.

Se cree que un nombre de ruta UNIX se ve y se siente como direcciones de Internet, por lo que resulta en compatibilidad. El nombre completo de la ruta del directorio de trabajo actual se puede encontrar en la terminal mediante el siguiente comando:

pwd

Para conocer la ruta completa de su directorio de inicio de usuario, puede usar:

echo ~
echo $HOME
echo /home/$USER

Los tres comandos anteriores son equivalentes.

Para averiguar el nombre completo de la ruta de un archivo, puede usar el readlinkcomando. Por ejemplo, en tu caso:

cd ~
readlink -f my_script
Radu Rădeanu
fuente
+1 readlinkrevela la ruta real de los enlaces blandos
lamino
7

El nombre completo de la ruta realmente significa la ruta completa a ese archivo o carpeta desde el /directorio del sistema de archivos .

Por ejemplo, la ruta completa a su script es:

/home/your_username/my_script

O bien, el nombre completo de la ruta al grepejecutable es

/bin/grep

En cuanto a ./my_script, el símbolo .representa el directorio actual, por lo que actualmente dice "Buscar en el directorio actual un archivo o carpeta llamado my_script"

hytromo
fuente
3

Para comprender la ruta completa, primero debe conocer el punto de partida.

El directorio raíz /es el punto de partida de los sistemas operativos basados ​​en * nix. Contiene todos los otros directorios tanto del sistema como del usuario.

El directorio de inicio del usuario /home/USERNAME/o, ~/para abreviar, contiene los archivos y directorios del usuario. Por ejemplo, Imágenes, Música, Documentos, etc. Se hace referencia a cada uno de estos directorios como, /home/USERNAME/DIRECTORYpor ejemplo, Documentos se encuentra en /home/USERNAME/Documents.

Al igual que con los directorios, los archivos se referencian de la misma manera, por ejemplo, un archivo llamado my_scriptubicado en el directorio de inicio del usuario sosyteepuede ser referenciado usando la ruta completa /home/sosytee/my_scripto ~/my_scriptpara abreviar.

Se puede hacer referencia a ambos archivos y directorios usando sus rutas completas desde cualquier parte del sistema. Además, se puede acceder a ellos usando solo su nombre si está en el mismo directorio. Por ejemplo, si el usuario está en ~/cuando usa el terminal, puede acceder al my_scriptarchivo usando solo my_script.

Además, se puede acceder a directorios y archivos utilizando solo su nombre, si se colocan en su variable PATH. Puede ver lo que está almacenado en PATH usando echo $PATH.

Ejemplos simples sobre cómo acceder a los archivos usando la línea de comando:

  • El usuario está actualmente en /home/USERNAME/y quiere usar el catcomando en un archivo ubicado en /home/USERNAME/Documentsfoo.txt llamado:

cat Documents/foo.txt

  • El usuario está dentro ~/Documentsy quiere ejecutar un script llamado foo.shanuncio localizado ~/Scripts/Foo:

    sh ../Scripts/Foo/foo.sh

    o

    sh ~/Scripts/Foo/foo.sh

Por supuesto, esto es solo un resumen.

Más información

Stef K
fuente
2

El nombre completo de la ruta es la ruta del directorio raíz (es decir, /). ./my_scriptes el nombre de la ruta relativa, porque la ruta se da relativamente al directorio actual, que se denota por .. Entonces, si está en su directorio de inicio, la ruta completa es s.th. como /home/sosytee/my_script. Para su directorio de inicio existe el "atajo" ~, lo que significa que también puede escribir ~/my_script. Pero eso, por supuesto, se resolverá en una ruta diferente para cada usuario.

Para ver la ruta completa de su llamada de directorio actual pwd.

Nodebody
fuente
2

Supuse que el nombre completo de la ruta es ./my_script

No, no es. Ese camino es relativo. El punto al principio indica el directorio actual:

$ ls ./my_script
my_script
$ cd ..
$ ls ./my_script
ls: cannot access ./my_script: No such file or directory

Como puede ver, cambié el directorio y my_scriptno se encuentra, lo que significa que ./my_scriptno es una ruta absoluta.

Supuse que el nombre completo de la ruta es ./my_script, lo que significa que está en la carpeta raíz, pero no estoy seguro.

De la Wikipedia :

[...] Una ruta completa o absoluta es una ruta que apunta a la misma ubicación en un sistema de archivos, independientemente del directorio de trabajo o las rutas combinadas.

Como ./my_scriptno lleno la condición de que siempre que pueda encontrar el my_scriptarchivo , debemos inferir que es una ruta relativa.

Una ruta relativa es una ruta relativa al directorio de trabajo del usuario o la aplicación, por lo que no será necesario proporcionar la ruta absoluta completa.

Braiam
fuente
0

Aquí ... supongo que está preguntando porque instaló el servidor Ubuntu en Windows ...

copia este código en tu explorador de carpetas en Windows %userprofile%\AppData\Local\Packages

eso le mostrará la ubicación de la casa ... está oculto en algún lugar de su sistema

En esta carpeta, haga doble clic en la carpeta de la distribución de Linux cuyos archivos desea ver:

  1. Ubuntu: CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
  2. openSUSE Leap 42: 46932SUSE.openSUSELeap42.2_022rs5jcyhyac
  3. SUSE Linux Enterprise Server 1246932SUSE.SUSELinuxEnterpriseServer12SP2_022rs5jcyhyac

Los nombres de estas carpetas pueden cambiar ligeramente en el futuro. Simplemente busque una carpeta con el nombre de la distribución de Linux.

tu casa estará debajo LocalState\rootfs\home

La mayor parte de esta información se obtuvo de Cómo acceder a sus archivos Ubuntu Bash en Windows (y su unidad de sistema de Windows en Bash)

Hammao
fuente