Comment changer de répertoire dans le terminal et savoir dans quel répertoire je suis?

Je suis les instructions @ Aide de la communauté Ubuntu ; Cependant, je suis encore confus à propos de certaines choses. J’ai recherché et trouvé ce post: utiliser le terminal pour changer de répertoire , mais il est au-dessus de moi et je ne sais toujours pas comment s’y prendre. Je suis nouveau et j’ai besoin d’un peu plus de direction alors restz avec moi! 😉 Voici le script de mon terminal:

christy@ubuntu:~$ ls Desktop examples.desktop install-tl-unx.tar.gz Pictures Templates Documents install-pkgs.log libnautilus-gksu.so Projects Videos Documents install-pkgs.log libnautilus-gksu.so Projects Videos christy@ubuntu:~$ cd/ bash: cd/: No such file or directory 

Comment savoir dans quel répertoire se trouve et comment naviguer dans le répertoire. Je sais que je dois laisser de côté quelque chose de simple.

Dans votre session, ls affiche le contenu du répertoire actuel (mais pas les fichiers cachés commençant par un point dans le nom du fichier). Vous naviguez dans un autre répertoire en tapant cd dirname . Ici vous devez substituer “dirname” par le nom du répertoire dans lequel vous voulez changer. Normalement, vous commencez avec votre répertoire personnel en tant que répertoire de travail actuel. Dans votre cas, c’est probablement /home/christy . Si ls vous montre un répertoire appelé “Template”, vous pouvez passer à “Template” (= en faire votre répertoire de travail actuel) en tapant (en tenant compte de l’espace) la commande:

 cd Templates 

vous modifierez votre répertoire de travail actuel en “Modèles” ou vous afficherez “Aucun fichier ou répertoire de ce type” si un répertoire de ce nom n’existe pas dans votre répertoire actuel. Taper pwd vous donnera toujours le correctif complet de votre répertoire de travail actuel, y compris les parents.

Vous pouvez fournir des arguments facultatifs à chaque commande. Pour cd la chaîne “Modèles” était un tel argument optionnel. Si vous tapez ls -a par exemple, la commande ls imprimera également les fichiers cachés. Ou avec ls Templates il imprimera le contenu du répertoire Tempaltes à la place du contenu de votre répertoire de travail actuel. Les arguments doivent être séparés d’au moins un espace du nom de la commande. Le manque d’espace entre les deux était la raison pour laquelle votre commande ne fonctionnait pas.

Étant donné que le caractère d’espace a une signification particulière, vous devrez le citer ou l’échapper s’il fait partie d’un argument. Ainsi, si vous souhaitez par exemple modifier votre répertoire de travail actuel en “Fichiers sources”, vous devez saisir l’une de ces commandes:

 cd Source\ Files cd "Source Files" 

La ligne supérieure est “échappée” tandis que la ligne inférieure est “entre guillemets”.

Si vous voulez en savoir plus, le meilleur guide pour vous pourrait être: Introduction à Linux ( pdf ) ( html )


Modifier :

Ok maintenant, désolé je n’ai pas vu votre lien là-bas. Votre message était un peu trompeur, maintenant je pense vous avoir:

Vous souhaitez donc installer tex-live à partir de l’ archive source liée dans le guide “Mise en route” que vous avez publié. Pour ce faire, vous devez d’abord supprimer toute installation préexistante de tex-live. Vous faites cela en ouvrant un terminal en faisant ceci:

 christy@ubuntu:~$ pwd /home/christy # <---- This is the directory you are working in christy@ubuntu:~$ sudo apt-get remove texlive-* [sudo] password for christy: 

À ce stade, vous devez entrer votre mot de passe et vous recevrez quelques messages ennuyeux, que je vais omettre ici. Ensuite, vous devrez télécharger l’archive nommée install-tl-unx.tar.gz (vous l’avez déjà fait et vous n’avez pas besoin de le télécharger à nouveau, mais je vous montre comment le faire tout de même au cas où):

 christy@ubuntu:~$ wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz --2012-07-09 15:08:23-- http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz Resolving mirror.ctan.org... 80.237.159.15 Connecting to mirror.ctan.org|80.237.159.15|:80... connected. HTTP request sent, awaiting response... 302 Found # ... some more stuff like this ... Saving to: `install-tl-unx.tar.gz' 100%[=====================================>] 2,530,831 --.-K/s in 0.1s 2012-07-09 15:08:23 (17.3 MB/s) - `install-tl-unx.tar.gz' saved [2530831/2530831] 

Maintenant que vous avez téléchargé l'archive, vous pouvez la décompresser

 christy@ubuntu:~$ tar xvf install-tl-unx.tar.gz install-tl-20120701/ install-tl-20120701/readme-txt.dir/ install-tl-20120701/readme-txt.dir/README.RU-cp1251 # ... bla bla skipping over some more messages like this ... install-tl-20120701/readme-html.dir/readme.sr.html install-tl-20120701/readme-html.dir/readme.ru.html install-tl-20120701/readme-html.dir/readme.de.html 

Maintenant que vous avez décompressé l'archive, vous pouvez passer dans le répertoire qui a été décompressé.

 christy@ubunut:~$ ls | grep install-tl- # <---- with this line you find out the number install-tl-20120701 # <---- in this case "20120701" install-tl-unx.tar.gz # <---- if just this is present with no number you did something wrong christy@ubuntu:~$ cd install-tl-20120701 # <---- enter this number here christy@ubuntu:~$ pwd /home/christy/install-tl-20120701/ # <--- this is your new working directory 

Le nombre "20120701" est un horodatage indiquant quelle version de tex-live vous avez. Ce nombre peut être différent pour vous mais la commande ls | grep install-t1- ls | grep install-t1- vous dira quoi utiliser à la place. Si tout cela a fonctionné, vous pouvez exécuter le script d'installation à partir d'ici:

 christy@ubuntu:~$ sudo ./install-tl [sudo] password for jan: Loading http://ftp.univie.ac.at/packages/tex/systems/texlive/tlnet/tlpkg/texlive.tlpdb Installing TeX Live 2012 from: http://ftp.univie.ac.at/packages/tex/systems/texlive/tlnet Platform: x86_64-linux => 'x86_64 with GNU/Linux' # ... bla bla and so on bla ... Actions:  start installation to hard disk  help  quit Enter command: I # ... and so on ... 

À partir de là, répondez simplement aux questions posées par le script d'installation et tout devrait bien se passer.

Résumé (TL; DR)

  • Utilisez pwd pour savoir où vous êtes (ou cherchez entre le : et le $ dans votre invite).
  • Utilisez cd pour changer de répertoire ailleurs. Contrairement à Windows, cd doit toujours être suivi d’un espace; des commandes telles que cd/ et cd.. ne fonctionneront pas, mais cd / et cd .. seront.

Savoir où tu es

Voie 1: Exécutez pwd .

Le répertoire dans lequel vous vous trouvez est spécifique à l’environnement (et plus généralement, à l’application). Vous pourriez exécuter un shell dans un répertoire et un autre dans un autre répertoire.

Pour savoir dans quel répertoire vous vous trouvez, lancez:

 pwd 

Par exemple (à partir d’un shell que j’ai ouvert maintenant, sur ma machine):

 ek@Kip:~$ pwd /home/ek 

Cela me dit que je suis dans le répertoire /home/ek . /home est (quelque peu déroutant) le répertoire qui contient les répertoires personnels des utilisateurs (ce n’est pas lui-même le répertoire personnel de tout utilisateur). Le username utilisateur de l’utilisateur humain a le répertoire de base /home/ username .

L’utilisateur root n’a pas de répertoire personnel dans /home . Au lieu de cela, le répertoire personnel de /root est /root . Cela ne doit pas être confondu avec le répertoire racine , qui est / .

Voie 2: Examinez votre invite.

La configuration par défaut de votre invite est la suivante: elle vous indique le répertoire dans lequel vous vous trouvez. Votre invite est le texte qui apparaît pour vous informer que le shell est prêt à accepter une commande.

Dans l’exemple que vous nous avez montré dans votre question, votre invite est la suivante:

 christy@ubuntu:~$ 

christy est votre nom d’utilisateur. Le caractère @ sépare d’ ubuntu , le nom d’hôte de votre ordinateur. (Si vous utilisez un CD live, son nom d’hôte sera ubuntu , et certaines personnes le choisiront également comme nom de leur ordinateur lors de l’installation.)

Le caractère : sépare du nom du répertoire dans lequel vous vous trouvez. Dans ce cas, il est représenté par ~ . ~ est un raccourci pour votre répertoire personnel. Lorsque vous ne vous trouvez pas dans votre répertoire personnel, vous devriez voir un nom de répertoire complet. Par exemple:

 ek@Kip:~$ cd /var/log ek@Kip:/var/log$ 

(Pour terminer ce que chaque partie de l’invite signifie: pour les invites qui suivent cette convention, un caractère $ ou un caractère # apparaît. $ , Comme dans ce cas, signifie qu’il s’agit d’un shell d’utilisateur normal. Un caractère # signifierait qu’il s’agit d’un shell root .)

Changer où vous êtes

Pourquoi votre commande “cd” n’a pas fonctionné.

Pour changer de répertoire, utilisez la commande cd .

Vous avez couru cd/ . Cela ne fonctionne pas car vous n’avez pas réellement exécuté la commande cd . Dans Ubuntu et d’autres systèmes d’exploitation de type Unix (en fait, dans les shells de style Unix tels que bash , le shell que vous utilisez), le nom d’une commande est considéré comme se terminant uniquement par un espace ou par la fin de la ligne.

Donc, contrairement à l’invite de commande de Windows (où cd\ est interprété comme cd \ et cd.. est interprété comme cd .. ), en bash (le shell que vous utilisez dans Ubuntu), cd/ est pas une commande valide. Vous devez utiliser cd / .

cd/ signifie “l’entrée dans le répertoire en cours dont le nom est cd et qui est également un répertoire”. Qu’il existe ou non un tel sous-répertoire, il ne peut pas être exécuté en tant que commande. Par conséquent, vous obtiendrez une erreur ( quelle que soit l’ erreur que vous obtiendrez sera différente):

 ek@Kip:~$ cd/ bash: cd/: No such file or directory ek@Kip:~$ mkdir cd ek@Kip:~$ cd/ bash: cd/: Is a directory 

Déplacement vers votre répertoire personnel

Pour accéder à votre répertoire personnel, exécutez cd par lui-même sans aucun argument:

 cd 

Certaines personnes préfèrent nommer explicitement leur répertoire personnel. Vous pouvez utiliser son nom complet ou

 cd ~ 

Mais cd est suffisant en soi.

Monter d’un répertoire

Pour changer de répertoire dans le répertoire parent du répertoire actuel (c’est-à-dire le répertoire qui le contient), utilisez:

 cd .. 

.. représente le répertoire parent du répertoire en cours. Si vous êtes dans le répertoire racine ( / ), il existe une exception: .. ne représente que / . Donc, lancer cd .. monte d’un répertoire lorsqu’il est exécuté n’importe où mais / ; quand vous courez dans / , vous restz dans / .

Chaque répertoire contient une entrée … Ils contiennent également tous un . entrée qui fait référence au répertoire courant lui-même. Ce n’est pas très courant de lancer un cd . bien que. Vous restz toujours où vous êtes.

Sentiers absolus et relatifs

Si vous cd à quelque chose qui ne commence pas par / , alors il essaiera d’accéder à ce répertoire dans le répertoire actuel .

Par exemple, si vous avez couru

 cd var/log 

Ensuite, il essaierait d’aller dans le sous-répertoire var de votre emplacement actuel et dans le sous-répertoire log de celui-ci. Sauf si les deux existent, et à ces endroits, la commande cd échouera (et vous restrez là où vous étiez à l’origine).

Si vous voulez aller au sous-répertoire log sous-répertoire var répertoire racine , exécutez ceci à la place:

 cd /var/log 

Seulement si vous êtes actuellement dans / est-ce que cd var/log équivalent à cd /var/log .

Un chemin qui commence par / est absolu. La façon dont il est résolu ne dépend pas de votre situation actuelle.

Le chemin ~ est également absolu, car c’est (essentiellement) un raccourci pour $HOME . HOME est une variable d’environnement et l’expression $HOME s’étend au chemin absolu complet du répertoire de base de l’utilisateur actuel.

~ notation ~ peut également être utilisée pour représenter le répertoire de base d’ un autre utilisateur. Si vous écrivez ~ username , cela représente le répertoire de base du username d’ username .

Revenir où vous étiez avant

Le répertoire dans PWD vous vous trouvez est stocké dans la variable d’environnement PWD . Le dernier répertoire dans OLDPWD vous vous trouviez est stocké dans la variable d’environnement OLDPWD . Vous pouvez afficher OLDPWD la même manière que vous visualisez n’importe quelle variable d’environnement:

 echo $OLDPWD 

Parce que ces informations sont stockées, cd est en mesure de disposer d’un moyen spécial, rapide et facile de revenir à l’endroit où vous étiez. Comme le dit pst007x , pour aller au dernier répertoire dans lequel vous étiez, lancez:

 cd - 

S’il n’y a jamais eu de répertoire précédent dans ce shell , la variable d’environnement OLDPWD n’aura pas été définie et le fait d’exécuter cd - entraînera une erreur (et vous restrez où vous êtes):

 ek@Kip:~$ cd - bash: cd: OLDPWD not set 

Changer votre position de patron

pushd et popd : la stack de répertoires

Imaginez une stack de noms de répertoires. Par stack , je veux dire quelque chose qui, lorsque vous ajoutez quelque chose, passe en haut de la liste et que vous ne pouvez supprimer qu’une chose à la fois, et ce que vous supprimez est toujours ce qui est actuellement en haut.

Vous pouvez mettre n’importe quel répertoire dir sur la stack en lançant:

 pushd dir 

Si vous souhaitez placer le répertoire actuel en haut de la stack, vous pouvez utiliser . (qui, comme expliqué ci-dessus, représente toujours le répertoire actuel):

 pushd . 

Ensuite, vous pourrez vous consacrer à votre activité en modifiant les répertoires autant que vous le souhaitez. Lorsque vous voulez revenir au dernier répertoire que vous avez pushd la stack avec pushd , lancez:

 popd 

Cela va dans ce répertoire, et le sort de la stack. Maintenant, la stack est un répertoire plus court. S’il s’agissait du seul répertoire de la stack, celle-ci est maintenant vide.

Vous pouvez avoir une stack de taille supérieure à 1. Autrement dit, vous pouvez utiliser des commandes pushd distinctes pour pushd plusieurs répertoires dans la stack. Chaque commande popd suivante ira vers (et supprimera, c’est-à-dire supprimera de la stack ) le répertoire poussé le plus récent non encore ouvert.

Voici un exemple:

 ek@Kip:~$ cd /etc/apt/sources.list.d ek@Kip:/etc/apt/sources.list.d$ pushd . /etc/apt/sources.list.d /etc/apt/sources.list.d ek@Kip:/etc/apt/sources.list.d$ pushd /home/ek ~ /etc/apt/sources.list.d /etc/apt/sources.list.d ek@Kip:~$ cd /var/log/apt ek@Kip:/var/log/apt$ pushd . /var/log/apt /var/log/apt /etc/apt/sources.list.d /etc/apt/sources.list.d ek@Kip:/var/log/apt$ cd ek@Kip:~$ popd /var/log/apt /etc/apt/sources.list.d /etc/apt/sources.list.d ek@Kip:/var/log/apt$ popd /etc/apt/sources.list.d /etc/apt/sources.list.d ek@Kip:/etc/apt/sources.list.d$ cd / ek@Kip:/$ pushd usr /usr / /etc/apt/sources.list.d ek@Kip:/usr$ cd ek@Kip:~$ popd / /etc/apt/sources.list.d ek@Kip:/$ popd /etc/apt/sources.list.d ek@Kip:/etc/apt/sources.list.d$ popd bash: popd: directory stack empty ek@Kip:/etc/apt/sources.list.d$ 

pushd et popd sont utilisés beaucoup moins souvent que cd . Ils ont également d’autres utilisations encore plus avancées. Exécutez help pushd et help popd pour plus de détails.

En savoir plus et accéder à la documentation

cd et pwd ont également des utilisations plus avancées. Pour en apprendre davantage sur eux, lancez help cd et man pwd .

help est pour les commandes intégrées au shell . man est pour les commandes autonomes – commandes qui s’exécutent en tant que processus séparés et existent en tant qu’exécutables séparés. La commande type révèle si une commande est un shell intégré ou non et, dans le cas contraire, l’emplacement du programme qu’il exécute. Par exemple, vous pouvez exécuter le type help , type type ou type man .

Par exemple:

cd Desktop/ Va au répertoire Desktop si vous êtes dans votre répertoire personnel.

cd - Retourne au répertoire précédent.

cd / Va au répertoire racine.

cd ~/Desktop Vous amène à votre répertoire de bureau, peu importe où vous vous trouvez.