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?
command-line
paths
sosytee
fuente
fuente
Respuestas:
No, tu suposición es incorrecta. El nombre de ruta completo para el
my_script
archivo desde el directorio principal es:/home/your_user_name/my_script
. Cuando escribe./my_script
en 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:
Para conocer la ruta completa de su directorio de inicio de usuario, puede usar:
Los tres comandos anteriores son equivalentes.
Para averiguar el nombre completo de la ruta de un archivo, puede usar el
readlink
comando. Por ejemplo, en tu caso:fuente
readlink
revela la ruta real de los enlaces blandosEl 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:
O bien, el nombre completo de la ruta al
grep
ejecutable esEn 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"fuente
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/DIRECTORY
por 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_script
ubicado en el directorio de inicio del usuariososytee
puede ser referenciado usando la ruta completa/home/sosytee/my_script
o~/my_script
para 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 almy_script
archivo usando solomy_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:
/home/USERNAME/
y quiere usar elcat
comando en un archivo ubicado en/home/USERNAME/Documents
foo.txt llamado:cat Documents/foo.txt
El usuario está dentro
~/Documents
y quiere ejecutar un script llamadofoo.sh
anuncio 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
Guía Bash para principiantes , por Machtelt Garrels
Más acerca de RUTA aquí
Acerca de la estructura de directorios de Unix
fuente
El nombre completo de la ruta es la ruta del directorio raíz (es decir,
/
)../my_script
es 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
.fuente
No, no es. Ese camino es relativo. El punto al principio indica el directorio actual:
Como puede ver, cambié el directorio y
my_script
no se encuentra, lo que significa que./my_script
no es una ruta absoluta.De la Wikipedia :
Como
./my_script
no lleno la condición de que siempre que pueda encontrar elmy_script
archivo , debemos inferir que es una ruta relativa.fuente
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:
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)
fuente