idk*_*tin 5 filesystem command-line
我在我的 SSD 上安装了 Ubuntu 16.04,我有一个 HDD,我在那里保存了我所有的 C++ 文件和程序。Ubuntu 识别出我有硬盘。当我在终端中并想访问硬盘上的 c++ 文件时,如何获取目录?我尝试使用cd驱动器的名称,但没有用。
我想让它每次启动我的终端时我都会自动进入 HDD 而不是桌面。
des*_*ert 11
lsblk以及mount示出了升我小号吨所有的支架ED(BL OC ķ)设备及其挂载点,即,接入点向所述设备的内容。到Ç焊割本d irectory,在一个端子DO:
cd /path/to/dir
Run Code Online (Sandbox Code Playgroud)
要为每个新的终端会话设置一个默认目录,只需将此行添加到.bashrc您的主目录中的文件中。以下命令会自动执行此操作,您只需要在 之后输入正确的路径cd:
echo 'cd /path/to/dir' >> ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
我将使用我系统中的一个示例。您的系统将有不同的驱动器名称,因此请相应调整
首先,检查驱动器是否已安装并找到其位置:
$ 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
Run Code Online (Sandbox Code Playgroud)
另一个驱动器上的文件系统sdb1未挂载,因此我将使用该udisksctl实用程序挂载它
$ udisksctl mount -b /dev/sdb1
Mounted /dev/sdb1 at /media/zanna/WORK STUFF
Run Code Online (Sandbox Code Playgroud)
现在我可以cd像这样到挂载点:
zanna@xubi:~$ cd /media/zanna/WORK\ STUFF/
zanna@xubi:/media/zanna/WORK STUFF$
Run Code Online (Sandbox Code Playgroud)
注意\路径中的字符,需要转义空格。您可以自己TAB输入,也可以在输入名称的前几个字符后按。
为了确保文件系统在启动时被挂载,你可以为它添加一行到你的/etc/fstab,如果还没有的话。您可以使用您喜欢的任何名称为驱动器创建一个挂载点:
mkdir /media/$USER/mydrive
Run Code Online (Sandbox Code Playgroud)
这应该是什么样子取决于文件系统类型。通过 UUID 比通过标签挂载磁盘更健壮(恕我直言),因此要使用一个命令获取 UUID 和文件系统类型,请使用
$ sudo blkid
[...]
/dev/sdb1: UUID="2d8afeac-c623-4be7-b261-44920e6b8e71" TYPE="ext4" [...]
Run Code Online (Sandbox Code Playgroud)
这种情况下的文件系统类型是 ext4,所以我要做的是
sudo cp /etc/fstab /etc/fstab.bak
sudoedit /etc/fstab
Run Code Online (Sandbox Code Playgroud)
并检查该分区是否还没有一行- 同一分区的重复行会导致错误。如果没有,那么我会在末尾添加一行,包括 UUID(使用您从中获得的blkid,而不是下面的示例!)、挂载点和文件系统类型,如下所示:
UUID=2d8afeac-c623-4be7-b261-44920e6b8e71 /media/zanna/mydrive ext4 defaults 0 0
Run Code Online (Sandbox Code Playgroud)
如果分区是 NTFS 分区,则该行将是
UUID=2d8afeac-c623-4be7-b261-44920e6b8e71 /media/zanna/mydrive ntfs-3g auto,user,rw 0 0
Run Code Online (Sandbox Code Playgroud)
如果您需要恢复所做的任何更改,请恢复您的备份:
sudo mv /etc/fstab.bak /etc/fstab
Run Code Online (Sandbox Code Playgroud)
有关更多信息/etc/fstab,请参阅Ubuntu 帮助页面。
要为终端会话设置默认目录,请参阅在打开终端会话时设置默认路径。
注意:一般来说,使用etckeeper比制作易受攻击的临时备份更可取/etc
打开 Nautilus,它是 Ubuntu 中的默认文件浏览器。选择目标目录。然后用鼠标右键单击它并从上下文菜单中选择“在终端中打开”。
进入开放式终端类型pwd。此命令将打印当前位置的完整路径(环境变量的当前值$PWD)。cd下次您可以将此路径与命令一起使用,也可以将此cd命令附加到末尾~/.bashrc以将此路径设置为“默认终端目录”。您可以通过以下命令执行此操作:
echo -e "\ncd '$(pwd)'" | tee -a ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
在哪里:
echo将用引号括起来的字符串打印到标准输出。该选项-e将启用反斜杠转义的解释,因此\n将被解释为新行。
'$(pwd)'将pwd命令的输出扩展为字符串,用单引号括起来。
我们可以使用 代替这个表达式'$PWD',它(在这种情况下)将产生相同的结果。
管道|将标准输出重定向到命令的标准输入tee。
teewith-a选项会将字符串附加到文件的底部.bashrc,位于$HOME==~/目录中(并且还会将字符串打印到标准输出)。