Je voudrais comprendre ce que signifie vraiment le nom de chemin complet. J'ai un fichier dans mon répertoire personnel appelé my_script. J'ai supposé que le chemin d'accès complet est ./my_script, ce qui signifie qu'il se trouve dans le dossier racine, mais je ne suis pas sûr. Quelqu'un peut-il m'éclairer à ce sujet?
command-line
paths
sosytee
la source
la source
Réponses:
Non, votre hypothèse est fausse. Le chemin d'accès complet pour le
my_script
fichier depuis votre répertoire de base est:/home/your_user_name/my_script
. Lorsque vous tapez./my_script
terminal, vous essayez d'exécuter le script (s'il est exécutable) et il ne sera exécuté que si votre répertoire de travail actuel l'est/home/your_user_name/
. Pour exécuter le script, vous pouvez également utiliser le chemin d'accès complet au fichier qui est, comme je l'ai dit/home/your_user_name/my_script
.On pense qu'un nom de chemin UNIX ressemble et ressemble à une adresse Internet, ce qui entraîne une compatibilité. Le nom de chemin complet du répertoire de travail actuel peut être trouvé dans le terminal à l'aide de la commande suivante:
Pour connaître le chemin complet de votre répertoire personnel, vous pouvez utiliser:
Les trois commandes ci-dessus sont équivalentes.
Pour connaître le nom de chemin complet d'un fichier, vous pouvez utiliser la
readlink
commande. Par exemple, dans votre cas:la source
readlink
révèle le chemin réel des liensLe nom de chemin complet signifie vraiment le chemin d'accès complet à ce fichier ou dossier à partir du répertoire du système de fichiers
/
.Par exemple, le chemin d'accès complet à votre script est:
Ou, le chemin d'accès complet à l'
grep
exécutable estEn ce qui concerne le
./my_script
, le symbole.
représente le répertoire en cours, vous dites donc en réalité "Rechercher dans le répertoire en cours un fichier ou un dossier nommé my_script"la source
Afin de comprendre le chemin complet, vous devez d'abord connaître le point de départ.
Le répertoire racine
/
est le point de départ des systèmes d'exploitation basés sur * nix. Il contient tous les autres répertoires du système et de l'utilisateur.Le répertoire personnel de l'utilisateur
/home/USERNAME/
ou,~/
pour faire court, contient les fichiers et répertoires de l'utilisateur. Par exemple Images, Musique, Documents, etc. Chacun de ces répertoires est référencé comme/home/USERNAME/DIRECTORY
par exemple Documents se trouve à/home/USERNAME/Documents
.Comme pour les répertoires, les fichiers sont référencés de la même manière, par exemple un fichier nommé
my_script
situé dans le répertoire personnel de l'utilisateursosytee
peut être référencé en utilisant le chemin complet/home/sosytee/my_script
ou~/my_script
en abrégé.Les fichiers et les répertoires peuvent être référencés / accessibles en utilisant leurs chemins d'accès complets de partout dans le système. De plus, on peut y accéder en utilisant uniquement son nom s'il se trouve dans le même répertoire. Par exemple, si l'utilisateur se trouve
~/
lors de l'utilisation du terminal, il peut accéder aumy_script
fichier en utilisant simplementmy_script
.De plus, on peut accéder aux répertoires et aux fichiers en utilisant uniquement leur nom, s'ils sont placés dans sa variable PATH. Vous pouvez voir ce qui est stocké dans PATH en utilisant
echo $PATH
.Exemples simples sur la façon d'accéder aux fichiers à l'aide de la ligne de commande:
/home/USERNAME/
et souhaite utiliser lacat
commande sur un fichier situé sous/home/USERNAME/Documents
foo.txt:cat Documents/foo.txt
L'utilisateur est à l'intérieur
~/Documents
et souhaite exécuter un script nomméfoo.sh
annonce localisée~/Scripts/Foo
:sh ../Scripts/Foo/foo.sh
ou
sh ~/Scripts/Foo/foo.sh
par tous les moyens, ce n'est qu'un résumé.
Plus d'informations
Guide de bash pour les débutants , par Machtelt Garrels
En savoir plus sur PATH ici
À propos de la structure de répertoires Unix
la source
Le nom de chemin complet est le chemin du répertoire racine (c.-à
/
-d.)../my_script
est le nom du chemin relatif, car le chemin est donné relativement au répertoire courant, qui est désigné par.
. Donc, si vous êtes dans votre répertoire personnel, le chemin d'accès complet est s.th. comme/home/sosytee/my_script
. Pour votre répertoire personnel, il y a le "raccourci"~
, ce qui signifie que vous pouvez également écrire~/my_script
. Mais cela résoudra bien sûr un chemin différent pour chaque utilisateur.Pour voir le chemin complet de votre appel d'annuaire actuel
pwd
.la source
Non, ça ne l'est pas. Ce chemin est relatif. Le point au début indique le répertoire courant:
Comme vous pouvez le voir, j'ai changé le répertoire et le
my_script
est introuvable, ce qui signifie que ce./my_script
n'est pas un chemin absolu.De Wikipédia :
Puisque le
./my_script
ne remplit pas la condition que chaque foismy_script
que je suis, je peux trouver le fichier , nous devons en déduire qu'il s'agit d'un chemin relatif.la source
Ici ... je suppose que vous demandez parce que vous avez installé le serveur Ubuntu sur Windows ...
copiez ce code dans votre explorateur de dossiers sous windows
%userprofile%\AppData\Local\Packages
qui vous montrera l'emplacement de votre domicile ... il est caché quelque part sur votre système
Dans ce dossier, double-cliquez sur le dossier de la distribution Linux dont vous souhaitez afficher les fichiers:
Les noms de ces dossiers pourraient légèrement changer à l'avenir. Recherchez simplement un dossier nommé d'après la distribution Linux.
votre maison sera sous
LocalState\rootfs\home
La plupart de ces informations proviennent de Comment accéder à vos fichiers Ubuntu Bash dans Windows (et à votre lecteur système Windows dans Bash)
la source