web-dev-qa-db-fra.com

Comment entrer un répertoire sur un disque dur différent en utilisant cd dans le terminal?

Ubuntu 16.04 est installé sur mon disque SSD et je dispose d’un disque dur dans lequel je conserve tous mes fichiers et programmes C++. Ubuntu reconnaît que j'ai le disque dur. Quand je suis dans le terminal et que je veux accéder à mes fichiers c ++ sur le disque dur, comment puis-je obtenir le répertoire? J'ai essayé d'utiliser cd puis le nom du lecteur, mais cela n'a pas fonctionné.

Je voudrais faire en sorte que chaque fois que je démarre mon terminal, je me trouve automatiquement sur le disque dur plutôt que sur le bureau.

3
idknuttin

lsblk ainsi que mount affichent un l i s t de tous montage ed (bl oc k) les périphériques et leur point de montage, i. e. le point d'accès au contenu de l'appareil. Pour c accrocher à ce d irectory, dans un terminal, faites:

cd /path/to/dir

Pour définir un répertoire par défaut pour chaque nouvelle session de terminal, ajoutez simplement cette ligne au fichier .bashrc de votre répertoire personnel. La commande suivante fait cela automatiquement, il vous suffit de saisir le bon chemin après cd:

echo 'cd /path/to/dir' >> ~/.bashrc
10
dessert

Je vais utiliser un exemple de mon système. Votre système aura des noms de lecteurs différents, veuillez donc ajuster en conséquence

Tout d’abord, vérifiez que le lecteur est monté et recherchez son emplacement:

$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0 465.8G  0 disk 
├─sda1        8:1    0   512M  0 part /boot/efi
├─sda2        8:2    0 461.4G  0 part /
└─sda3        8:3    0   3.9G  0 part [SWAP]
sdb           179:0    0   3.7G  0 disk 
└─sdb1        179:1    0   3.7G  0 part 

Le système de fichiers sur l'autre lecteur, sdb1 n'est pas monté, je vais donc le monter à l'aide de l'utilitaire udisksctl

$ udisksctl mount -b /dev/sdb1
Mounted /dev/sdb1 at /media/zanna/WORK STUFF

Maintenant, je peux cd au point de montage comme ceci:

zanna@xubi:~$ cd /media/zanna/WORK\ STUFF/
zanna@xubi:/media/zanna/WORK STUFF$     

notez le caractère \ dans le chemin, nécessaire pour sortir de l'espace. Vous pouvez taper ceci vous-même ou simplement appuyer sur TAB après avoir tapé les premiers caractères du nom.

Pour vous assurer que le système de fichiers est monté au démarrage, vous pouvez ajouter une ligne à votre /etc/fstab, s'il n'en existe pas déjà un. Vous pouvez créer un point de montage pour le lecteur avec le nom de votre choix:

mkdir /media/$USER/mydrive

Cela dépend exactement du type de système de fichiers. Il est plus robuste (IMHO) de monter des disques par UUID que par étiquette. Par conséquent, pour obtenir le type et le type de système de fichiers avec une seule commande, utilisez

$ Sudo blkid
[...]
/dev/sdb1: UUID="2d8afeac-c623-4be7-b261-44920e6b8e71" TYPE="ext4" [...]

Le type de système de fichiers dans ce cas est ext4, donc ce que je ferais alors est

Sudo cp /etc/fstab /etc/fstab.bak
sudoedit /etc/fstab

et vérifiez qu'il n'y a pas déjà une ligne pour la partition - les lignes en double pour la même partition provoqueront des erreurs. S'il n'y en a pas, j'ajouterais une ligne à la fin incluant l'UUID (utilisez celle que vous avez obtenue de blkid, pas mon exemple ci-dessous!), Le point de montage et le type de système de fichiers comme ceci:

UUID=2d8afeac-c623-4be7-b261-44920e6b8e71 /media/zanna/mydrive ext4 defaults 0 0

Si la partition est une partition NTFS, la ligne sera

UUID=2d8afeac-c623-4be7-b261-44920e6b8e71 /media/zanna/mydrive ntfs-3g auto,user,rw 0 0

Si vous devez annuler les modifications que vous avez apportées, restaurez votre sauvegarde:

Sudo mv /etc/fstab.bak /etc/fstab

Pour plus d'informations sur /etc/fstab, consultez la section page d'aide Ubunt .

Pour définir un répertoire par défaut pour les sessions de terminal, voir Définition du chemin par défaut lors de l'ouverture d'une session de terminal .

NB: En général, utiliser etckeeper est préférable à des sauvegardes vulnérables ad-hoc de données dans /etc

8
Zanna

Ouvrez Nautilus, le navigateur de fichiers par défaut d’Ubuntu. Sélectionnez le répertoire cible. Cliquez ensuite avec le bouton droit de la souris dessus et choisissez "Ouvrir dans le terminal" dans le menu contextuel.

enter image description here

Dans le terminal ouvert, tapez pwdname__. Cette commande affichera le chemin d'accès complet à l'emplacement actuel (la valeur actuelle de la variable d'environnement $PWD ). Vous pouvez utiliser ce chemin avec la commande cdla prochaine fois et vous pouvez également ajouter cette commande cdà la fin de ~/.bashrc pour définir ce chemin comme 'répertoire du terminal par défaut'. Vous pouvez le faire avec la commande:

echo -e "\ncd '$(pwd)'" | tee -a ~/.bashrc

Où:

  • echoimprimera sur la sortie standard la chaîne entourant les guillemets. L'option -e permet d'interpréter les échappements de barre oblique inversée. \n sera donc interprété comme une nouvelle ligne.

  • '$(pwd)' développera la sortie de la commande pwdsous forme de chaîne, entourée de guillemets simples.

    Au lieu de cette expression, nous pouvons utiliser '$PWD', qui (dans ce cas) produira le même résultat.

  • le tube | redirigera stdout vers stdin de la commande teename__.

  • teeavec l'option -a ajoutera la chaîne au bas du fichier .bashrc, situé dans votre répertoire $HOME == ~/ (et imprimera également la chaîne sur la sortie standard).

4
pa4080