如何在终端中使用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)。