如何在终端中使用cd在其他硬盘上输入目录?

我在我的SSD上安装了Ubuntu 16.04,我有一个硬盘,我保存了所有的C ++文件和程序。 Ubuntu认识到我有硬盘。 当我在终端并想要在hdd上访问我的c ++文件时如何获取目录? 我尝试使用cd然后驱动器的名称,但这不起作用。

我想这样做,每次我启动终端时,我都会自动进入硬盘而不是桌面。

lsblk以及mount显示所有mount ed( bl oc k )设备及其挂载点,即设备内容的访问点。 为了改变这个故障,在一个终端做:

 cd /path/to/dir 

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

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

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

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

 $ 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到mountpoint:

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

注意路径中的\字符,需要逃避空间。 您可以自己键入,也可以在键入名称的前几个字符后按TAB键。

要确保文件系统在引导时挂载,您可以为/etc/fstab添加一行,如果还没有。 您可以使用您喜欢的任何名称为驱动器创建装入点:

 mkdir /media/$USER/mydrive 

这应该是什么样的取决于文件系统类型。 通过UUID安装磁盘比使用标签更安全(IMHO),因此要使用一个命令获取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(使用你从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进行易受攻击的ad-hoc备份更可取

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

在此处输入图像描述

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

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

哪里:

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

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

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

  • 管道| 将stdout重定向到命令tee stdin。

  • 带有-a选项的tee会将字符串附加到文件.bashrc的底部,该文件位于$HOME == ~/目录中(并且还会将字符串打印到stdout)。