Comment naviguer entre les répertoires du terminal?


26

Je suis nouveau sur Linux et Ubuntu et j'ai essayé de passer aux dossiers / répertoires avec quelques difficultés.

Quelqu'un pourrait-il expliquer pourquoi les commandes suivantes n'ont pas réussi à passer au dossier / répertoire cible souhaité?

sharon@sharon:~$ cd Home 
bash: cd: Home: No such file or directory 
sharon@sharon:~$ cd /Home 
bash: cd: /Home: No such file or directory 
sharon@sharon:~$ cd Documents 
sharon@sharon:~/Documents$ cd Downloads 
bash: cd: Downloads: No such file or directory 
sharon@sharon:~/Documents$ cd /Downloads 
bash: cd: /Downloads: No such file or directory 
sharon@sharon:~/Documents$

Réponses:


38

Le système de fichiers est GNU / Linux est comme un arbre, sauf que la racine est en haut. :-) Vous avez donc une structure comme:

/
  bin/
  home/
    sharon/
      Documents/
      Downloads/
      fileA.txt
      fileB.jpg
  usr/
  var/

Si vous souhaitez vous déplacer dans l'arborescence, une option consiste à utiliser des chemins relatifs. Si vous y êtes /home/sharon, la saisie cd Downloadsfonctionnera, car Downloads est un enfant immédiat de votre répertoire actuel. Si vous êtes dans le sous-dossier Documentset que vous souhaitez modifier le répertoire ( cd) en Downloads, vous devez monter ( ..) puis sur Downloads. Ainsi, la bonne commande serait cd ../Downloads.

Vous pouvez également entrer un chemin absolu. Le Downloadsdossier est donc un sous-dossier sharondont un sous-dossier homeest… (vous avez l'idée :-)) Vous pouvez donc également entrer cd /home/sharon/Downloadsoù que vous soyez dans le système de fichiers.

  • ~fait toujours référence au répertoire personnel de l'utilisateur actuel ( /home/sharondans votre cas). Si vous entrez, cd ~/Downloadsvous atterrirez dans votre Downloadsdossier.

  • .fait référence au répertoire courant, cd ./Downloadsest donc à peu près équivalent à cd Downloads.

  • .. signifie "répertoire parent".

  • / au début du chemin du fichier fait référence au répertoire racine.

La prochaine bonne chose est l'expansion des onglets. Si vous entrez cd ~/DowTab(le dernier appuie sur la touche Tabulation), le bash le développe automatiquement cd ~/Downloads.

Comme les autres l'ont dit, GNU / Linux est sensible à la casse. Cela fait donc une différence si vous entrez Home, hOmeou home. En outre, j'espère que vous voyez maintenant qu'il y a une différence entre /homeet home. Le premier est adressé en absolu tandis que le dernier est relatif à votre répertoire actuel.


1
@ qbi: Wow, tu es génial. J'adore votre explication détaillée sur la façon de naviguer entre les dossiers / répertoires. Êtes-vous enseignant ou professeur dans un établissement d'enseignement? La plupart des informaticiens connaissent beaucoup de choses informatiques, mais décomposer les concepts en morceaux gérables et "digestes" afin que les débutants puissent comprendre n'est qu'à la portée d'une poignée de gars talentueux comme vous.
n00b

2
@ n00b Si vous avez trouvé cette réponse utile, vous pouvez "l'accepter" en cliquant sur le V à sa gauche.
Revetahw dit Réintégrer Monica le

8
sharon@sharon:~$ cd Home 
bash: cd: Home: No such file or directory 

La petite cédille ~ indique que vous êtes déjà dans votre répertoire / home / sharon. Lorsque vous demandez 'cd Home', le terminal recherche / home / sharon / Home. Il n'y en a pas.

sharon@sharon:~$ cd /Home 
bash: cd: /Home: No such file or directory 

Maintenant, vous demandez, étant donné la barre oblique principale, d'aller dans un répertoire au-dessus de l'emplacement actuel; c'est / home / Home. Il n'y en a pas.

sharon@sharon:~$ cd Documents 
sharon@sharon:~/Documents$

Succès!

sharon@sharon:~/Documents$ cd /Downloads 
bash: cd: /Downloads: No such file or directory 

Je ne sais pas trop où c'est exactement. Si vous souhaitez passer de / home / sharon / Documents à / home / sharon / Downloads, veuillez essayer:

cd ~/Downloads

Si vous voulez aller directement dans votre répertoire personnel, c'est-à-dire / home / sharon, faites simplement:

cd

Vous pouvez également revenir en arrière avec

cd ..

Et vous pouvez imprimer le répertoire dans lequel vous travaillez (imprimer le répertoire de travail)

pwd

@ chili555: Merci beaucoup d'avoir aidé des débutants comme moi. Joyeux Noël à vous et à vos proches.
n00b

2
La barre oblique principale indique un chemin par rapport à la racine, pas un au-dessus du répertoire actuel. Ce serait../
psusi

3

La commande vous explique pourquoi: Il n'y a pas un tel répertoire.

Les noms de fichiers sont sensibles à la casse, c'est donc / home, pas / Home. Sans barre oblique, il est supposé être relatif au répertoire courant, et le répertoire Téléchargements n'est pas dans ~ / Documents, ni dans /, mais dans votre répertoire personnel, vers lequel ~est un raccourci, donc c'est ~ / Documents.


@ psusi: Merci aussi à vous. Joyeux Noël à vous et à vos proches.
n00b

@ psusi: Que signifie la barre oblique principale?
n00b

@ psusi: Que signifie ./ <nomfichier>?
n00b

@noob, /signifie démarrer à partir du répertoire racine et .signifie le répertoire actuel.
psusi

0

Je dois répondre à cela, car je ne peux pas commenter les réponses -.-

Que signifie la barre oblique principale? - n00b

cela signifie que le thin dont vous parlez est un répertoire et non un fichier. Les fichiers ne doivent pas avoir de fin de fichier comme dans Windows, donc ce ~/thisIsAFileserait un fichier dans votre répertoire personnel mais ce ~/thisIsAFile/serait un répertoire / un dossier.

Que signifie? - n00b

Cela signifie que le fichier auquel vous souhaitez accéder se trouve dans votre répertoire actuel.

Autres conseils utiles:

Vous pouvez retourner un dossier avec

cd ..

Et vous pouvez obtenir le chemin avec lequel vous vous trouvez (imprimer le répertoire de travail)

pwd

@ a2r: Merci pour la clarification. Je ne savais pas que les fichiers n'avaient pas d'extensions de fichiers comme dans Microsoft Windows. Les programmes ont-ils aussi des extensions de fichiers dans Ubuntu?
n00b

Généralement non, le système ne se soucie pas de la fin d'un fichier, s'il est marqué comme exécutable (google about chmod), vous pouvez l'exécuter en tant que programme. Il y a aussi une variable globale (google à ce sujet) appelée $ PATH, il y a une vue des répertoires enregistrés (vous pouvez voir laquelle il y en a echo $PATH). Et lorsque vous essayez d'exécuter un programme comme vous tapez geditdans le terminal. Votre système regarde jeter les dossiers dans $ PATH et recherche gedit.
a2r

1
Ce serait une barre oblique de fin, pas une barre oblique principale. Vous devez également avoir un espace avant le ...
psusi

@ psusi: Désolé. Je suis un peu confus ici. Qu'est-ce qu'une barre oblique finale? barre oblique principale? Des exemples s'il vous plait? Merci d'avance.
n00b
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.