在Linux上的终端中切换驱动器等效于什么?


38

在DOS下,我通过键入不同的驱动器之间进行切换c:d:e:等等。但是在Linux中这种方式不起作用。

谁能告诉我如何在不同的驱动器之间切换?


是的..第一次使用linux。可以学到很多东西
saiy2k'2

只是为了澄清一下,这是一个常见的误解,导致理解上的更多麻烦:DOSBox是一个模拟器,cmd.exe是非基于Windows的Windows版本的命令行解释器,而COMMAND.COM是DOS的系统外壳。尽管用户与这些程序的交互以及外观可能相似,但它们并不相同。
LiveWireBT 2014年

Answers:


23

实际上,除了访问分区的系统实用程序外,Linux实际上并没有使用“驱动器”的方法。他们通常需要指定包含分区的驱动器。但是,如果每个驱动器只有一个分区,那实际上就没有关系。

无论如何,要访问驱动器,实际上您实际上需要以某种方式指定分区,通常使用/ dev / sda1(第一个驱动器上的第一个分区)或/ dev / sda2(第一个驱动器上的第二个分区)这样的定义。使用磁盘工具或gparted,您可以图形方式查看所有分区。如果您仅使用终端,我发现命令“ blkid”很容易列出带有UUID的驱动器。我使用以下形式:

sudo blkid -c /dev/null

使用终端,您需要安装一个分区才能实际使用它。这实际上很容易做到。在大多数情况下,您希望使用一个空目录作为“挂载点”。如果目录不为空,则在安装过程中其目录将被屏蔽并且不可用。在某些情况下(例如出于某些其他原因测试或临时更改配置)这可能很有用,因为这将减轻重命名或删除当前内容的需要。

如果您有一个名为/ mnt / drive2的目录(通常使用/ mnt,但是如果需要,它可以位于您的主目录中),并且您的驱动器是/ dev / sdb,并且具有单个分区,那么最简单的命令是:

sudo mount -t type /dev/sdb1 /mnt/drive2

其中,“类型”是blkid命令中显示的类型,例如ntfs,ext4等。

编辑:尝试,不要害怕尝试安装命令。它只是暂时的,直到您重新引导(或使用“ umount”命令卸载)。要使其永久化,您需要输入/etc/fstab。如果您想这样做,可以尝试创建一个条目,然后使用命令“ mount -a”将中的所有内容装入/etc/fstab。如果有错误,它将告诉您,并且您可以纠正并重复直到它起作用为止。


1
第一个驱动器的第一个分区是sda1,没有sda0
enzotib'2

糟糕,对不起,您是对的。我已经习惯了使用UUID,以至于忘记了。而且由于我有很多分区,所以我总是必须查找它们以查看要使用哪个分区,所以我没有考虑它。我将编辑我的答案,但要记下它,以便您的评论不会显得不合适。
马蒂·弗里德

12

硬盘(驱动器,如您所称)包含分区,每个分区包含一个文件系统。

在Linux和Unix中,有一个名为root filesystem 的主文件系统,用表示/。其他文件系统(真实或虚拟)则安装在根文件系统上的挂载点(即,空目录用作特定文件系统的起点)上,从而可以将所有文件作为根目录的后代。

如果键入mount不带选项的命令,则会看到类似以下内容的内容:

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=764668k,nr_inodes=191167,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=153392k,mode=755)
/dev/sda5 on / type ext4 (rw,noatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime,size=306784k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,relatime,size=306784k)
/dev/sda7 on /media/data type ext4 (rw,noatime,user_xattr,acl,barrier=1,data=ordered)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
XXX.XXX.163.168:/media/data/ on /media/data/mnt type nfs4 (rw,nosuid,noexec,relatime,vers=4,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=XXX.XXX.163.76,minorversion=0,local_lock=none,addr=XXX.XXX.163.168)
gvfs-fuse-daemon on /home/enzotib/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

在此您可以看到分区/dev/sda5(硬盘的第5个分区/dev/sda)已安装在上/,因此它是根分区。
此外,您还看到了/dev/sda7挂载在上的另一个分区/文件系统/media/data,因此与Windows术语cd /media/data有效对应d:

如您所见,此输出中还有许多其他已挂载的文件系统,并且都是虚拟文件系统,即,不与磁盘分区相对应的文件系统。您会看到一个安装在NFS上的文件系统,这是一个链接到虚拟文件系统的虚拟文件系统,该文件系统通过网络在另一台计算机上可用(在输出行中,您看到的IP地址部分被我故意遮盖了)。

您可以看到使用单一结构访问所有文件的简单性,在某些情况下还可以访问远程文件。

相关问题:


1
使用lsblk可能更容易阅读,并且只列出块存储设备(没有sysfs,proc,cgroup等)。
LiveWireBT 2014年

cd ~回到home directory
Aakash Shah

1
@AakashShah:cd ~是的短版cd,可做相同的事情。
enzotib

12

Ubuntu会将所有其他磁盘保留在/media目录中,因此请使用

cd /media/$USER/<your-drive-name>

像下面的答案一样,目录是cd /media/$USER/<your drive name>
Bobort

7

这简单

cd /media/$USER/{the name of the drive}

将来,如果您忘记了它,只需与文件管理器一起进入驱动器,选择一个随机文件夹,然后右键单击空白区域->属性,然后查看“位置”


5

您也可以只浏览到所需驱动器上的文件夹,然后单击鼠标右键,在终端中打开。


0

Ubuntu的可以使用,你的主目录(消除<和>和替换“yourusername”与你的实际用户名您登录进入Linux用“驱动器名称”与您的硬盘的名称)。

cd /media/<yourusername>/<drive name>

所有已安装的磁盘都在该/ media / yourusername /目录中。如果您不知道驱动器名称,则始终可以在文件管理器中-或-通过终端(同样从主目录)进行查找

ls /media/<yourname>/

您可以使用所描述的sd#mnt ; 但是,我认为您正在寻找一个简单的答案。


您提供的命令使用绝对路径,不需要从用户的主目录中运行。
2014年

0

实际上,对我来说是这样的:

cd /media/<user>/New\ Volume/

New Volume作为外部驱动器的名称。用户是我的用户名。

由于空间原因,我不知道为什么要使用反斜线?


2
是的,这是因为空间。
muru

1
是的,我会避免在文件夹名称,磁盘名称甚至文件名称中使用空格。只需使用CamelCase。
Bobort
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.