如何在终端中使用 cd 进入不同硬盘上的目录?

如何在终端中使用 cd 进入不同硬盘上的目录?

我的 SSD 上安装了 Ubuntu 16.04,还有一个 HDD,里面存放着我所有的 C++ 文件和程序。Ubuntu 识别出我有 HDD。当我在终端中并想要访问 HDD 上的 C++ 文件时,如何获取目录?我尝试使用cd驱动器的名称,但没有成功。

我希望每次启动终端时都能自动进入 HDD 而不是桌面。

答案1

lsblk以及mount展示st 全部编辑(bl奥卡西) 设备及其挂载点,即设备内容的访问点。C坚持这一点d目录,在终端中执行:

cd /path/to/dir

要为每个新的终端会话设置默认目录,只需将此行添加到.bashrc主目录中的文件中。以下命令会自动执行此操作,您只需在后面输入正确的路径即可cd

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

答案2

我将使用我的系统中的示例。您的系统将具有不同的驱动器名称,因此请进行相应调整

首先,检查驱动器是否已安装并找到其位置:

$ 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 

另一个驱动器上的文件系统sdb1尚未挂载,因此我将使用该udisksctl实用程序挂载它

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

现在我可以cd像这样到达挂载点:

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

注意\路径中的字符,需要转义空格。您可以自己输入,也可以TAB在输入名称的前几个字符后按。

为了确保文件系统在启动时挂载,/etc/fstab如果尚未存在,您可以在 中添加一行。您可以为驱动器创建一个挂载点,并为其指定任何名称:

mkdir /media/$USER/mydrive

具体是什么样子取决于文件系统类型。按 UUID 挂载磁盘比按标签挂载磁盘更可靠(在我看来),因此要使用一个命令获取 UUID 和文件系统类型,请使用

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

在这种情况下,文件系统类型是 ext4,所以我要做的是

sudo cp /etc/fstab /etc/fstab.bak
sudoedit /etc/fstab

检查分区中是否已经有一行- 同一分区的重复行将导致错误。如果没有,那么我会在末尾添加一行,包括 UUID(使用您从 获得的 UUID blkid,而不是下面的示例!)、挂载点和文件系统类型,如下所示:

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

如果分区是 NTFS 分区,则该行将是

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

如果您需要撤消所做的任何更改,请恢复您的备份:

sudo mv /etc/fstab.bak /etc/fstab

有关更多信息/etc/fstab,请参阅Ubuntu 帮助页面

要设置终端会话的默认目录,请参阅打开终端会话时设置默认路径

注意:一般来说,使用etckeeper比在/etc

答案3

打开 Nautilus,它是 Ubuntu 中的默认文件浏览器。选择目标目录。然后右键单击它并从上下文菜单中选择“在终端中打开”。

在此处输入图片描述

在打开的终端中输入pwd。此命令将打印当前位置的完整路径(环境变量的当前值$PWD)。您可以在cd下次命令中使用此路径,也可以将此cd命令附加到末尾~/.bashrc以将此路径设置为“默认终端目录”。您可以使用以下命令执行此操作:

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

在哪里:

  • echo将把引号括起来的字符串打印到标准输出。该选项-e将启用反斜杠转义的解释,因此\n将被解释为换行符。

  • '$(pwd)'将命令的输出扩展pwd为字符串,并用单引号括起来。

    我们可以使用 来代替这个表达式'$PWD',它(在这种情况下)将产生相同的结果。

  • 管道|将把标准输出重定向到命令的标准输入tee

  • teewith选项将把字符串附加到位于==目录中-a的文件底部(并且还会将字符串打印到标准输出)。.bashrc$HOME~/

相关内容