如何从Linux终端安装和卸载存储设备

如何从Linux终端安装和卸载存储设备 2

可以使用终端安装,卸载和重新安装Linux和类似Unix的操作系统(如macOS)中的文件系统。这是一个功能强大且功能多样的工具 – 这是您需要知道的一切。

Linux文件系统

Linux,macOS和其他类Unix操作系统中的文件系统不像Windows那样对存储设备使用单独的卷标识符。 Windows为每个卷分配一个驱动器号,例如C:或D:,每个卷的文件系统是位于该驱动器号下面的目录树。

在Linux中,文件系统是一体化目录树。安装的存储设备将其文件系统移植到该树上,使其看起来是一个内聚文件系统的组成部分。新安装的文件系统可以通过它所安装的目录访问。该目录称为该文件系统的挂载点。

许多文件系统在引导时或在运行时作为连接到计算机的存储卷在运行时自动安装。谨慎的系统管理员可以关闭运行时自动安装功能,以便他们可以控制与系统的连接。

这意味着在运行时连接的存储设备可能无法自动安装,需要手动安装。手动挂载文件系统可以让您决定该文件系统,例如挂载点的位置以及文件系统是只读还是读写。

无论是出于必要还是通过选择, 安装卸除再登 命令使您能够控制Linux系统的这一重要方面。

使用mount来询问您的文件系统

Mount有很多选项,但要列出计算机上所有已安装的文件系统,根本不需要任何选项。只需输入 安装 并按Enter键:

在终端窗口中安装命令

安装 将列出终端窗口中的所有连接文件系统。

在终端窗口中从mount输出

通过该数据转储来查找您要查找的内容可能很困难。

您可以通过询问来优化输出 安装 仅列出您感兴趣的文件系统。该 -t (类型)选项告诉 安装 要报告的文件系统类型。

mount -t tmpfs
mount -t ext4

在终端窗口中使用-t选项进行安装

举个例子,我们问过 安装 仅列出 TMPFS 文件系统。我们得到了更易于管理的输出。

一个 TMPFS 文件系统看起来好像是一个常规的,挂载的文件系统,但它实际上存储在易失性存储器中 – tmp代表临时 – 而不是持久存储设备。

你会想要替换 TMPFS 您感兴趣的文件类型的参数。

我们还发布了一个列表命令 EXT4 文件系统。在这台测试计算机上,有一个 EXT4 文件系统,它在设备上 SDA– 安装的第一个存储设备,通常是主硬盘驱动器 – 并安装在上面 /,这是文件系统树的根。

其他指标意味着:

  • rw:文件系统是可读写的。

  • relatime:内核使用优化方案来记录文件访问和修改元数据。

  • errors = remount -o:如果检测到足够严重的错误,文件系统将以只读模式重新安装以允许诊断。

有关: 你应该使用哪个Linux文件系统?

使用df询问您的文件系统

DF 命令还可用于显示安装的文件系统及其安装点的位置。

DF 没有参数使用会给你带来相同的信息过载问题 安装。例如,在Ubuntu Linux中,有一个 的squashfs 为使用该服务器安装的每个应用程序创建的伪文件系统 命令。谁想看到所有这些?

强迫 DF 忽略它们 – 或任何其他文件系统类型 – 使用 -X (排除)选项:

df -x squashfs

df命令在终端窗口中使用-x exclude选项

您可以轻松查看文件系统的名称,容量,已用空间和可用空间以及挂载点。

有关: 如何从Linux终端查看可用磁盘空间和磁盘使用情况

在fstab中重新安装所有文件系统

在引导时挂载的所有文件系统都在名为的文件中包含条目 fstab文件,这是位于其中的文件系统表 /等等

您可以使用 安装 强制“刷新”并重新安装中列出的所有文件系统 fstab文件。在正常操作条件下,这不是必需的。如果您遇到多个文件系统的问题,它真的会自成一体。

你需要使用 须藤,因此系统会提示您输入密码。

sudo mount -a

在终端窗口中安装-a命令

不可否认,在正确运行的计算机上,它有点令人沮丧。

但是,在具有文件系统问题的计算机上,重新安装可能会清除问题。如果没有发生这种情况,那么至少您将在屏幕和系统日志中获得诊断消息,以指导您找出问题的原因。

有关: 什么是Linux fstab文件,它是如何工作的?

安装ISO映像

可以轻松安装ISO映像,以便可以作为文件系统的一部分访问其内容。

这适用于任何ISO映像。在这个例子中,我们碰巧使用的是Tiny Core Linux ISO,因为它很方便,下载速度快。 (一个带有GUI的小型Linux发行版,18 MB!你可能有比这更大的.mp3文件。)

在与ISO映像相同的目录中,发出此命令。替换要挂载的ISO文件的名称。

sudo mount -t iso9660 -o loop TinyCore-current.iso / mnt

在终端窗口中安装ISO映像

因为我们需要使用 须藤 你需要输入你的密码。

-t (类型)选项告诉 安装 我们正在安装什么类型的文件系统。它是一个ISO文件,所以我们提供 ISO9660 类型说明符。

-o (options)标志用于传递额外的参数 安装。我们的参数是

我们正在使用 强迫 安装 使用循环设备文件连接到我们的ISO映像。循环设备文件允许安装和处理文件(如ISO映像),就像它是存储设备一样。

设备文件是用作接口的特殊文件,因此连接的设备看起来好像是普通的文件系统文件。这是Linux中一切的一部分,是一种文件设计理念。

有许多不同类型的设备文件。当我们注意到唯一的时候,我们看到了一个 EXT4 安装了此测试机器上的文件系统 / 并被称为 SDA

为了更准确,那 EXT4 文件系统是通过连接到文件系统的存储设备 / dev / sda上 设备文件和安装在该存储设备上的文件系统 /

我们当然要提供ISO映像的名称,我们需要让它 安装 知道我们希望安装文件系统的位置。我们选了 到/ mnt

安装了ISO映像。始终以“只读”模式安装ISO映像的提醒将显示在终端窗口中。

探索ISO图像

现在它已经安装,我们可以像文件系统的任何其他部分一样导航ISO映像中的目录。让我们列出ISO映像中的文件。它安装在 到/ mnt 记得。

ls / mnt
ls / mnt / cde /

在终端窗口中列出已安装的ISO映像上的文件

卸载ISO映像

要卸载已安装的文件系统,请使用 卸除 命令。注意,“u”和“m”之间没有“n” – 命令是 卸除 而不是“卸载”。

你必须告诉 卸除 您要卸载的文件系统。通过提供文件系统的挂载点来实现。

sudo umount / mnt

终端窗口中的umount命令

没有消息就是好消息。如果没有什么可报告的,那么一切顺利。

创建挂载点

您可以创建和使用自己的挂载点。我们要创建一个名为 isomnt 并安装我们的ISO映像。安装点只是一个目录。所以我们可以使用 MKDIR 创建我们的新挂载点。

sudo mkdir / media / dave / isomnt

终端窗口中的mkdir

现在我们可以使用与以前相同的命令格式来安装我们的ISO映像。这次我们不会安装它 到/ mnt,我们将安装它 /媒体/戴维/ isomnt /

sudo mount -r -t iso9660 -o loop TinyCore-current.iso / media / dave / isomnt /

在终端窗口中将ISO安装在/ media / dave / isomnt中

我们现在可以从新的挂载点访问已挂载的文件系统。

ls / media / dave / isomnt / cde / optional

ls命令终端窗口中的新安装点

但这些途径变得越来越长。这很快就会变得无聊。让我们为此做些什么。

绑定挂载点

您可以将装入点绑定到另一个目录。然后可以通过原始安装点或绑定到它的目录访问已安装的文件系统。

这是一个有效的例子。我们将在我们的主目录中创建一个名为的目录 。然后我们将绑定ISO映像的挂载点 /媒体/戴维/ isomnt 新的 我们的主目录中的目录。

我们将能够通过原始安装点访问ISO映像 /媒体/戴维/ isomnt 并通过新的 目录。该 -B (bind)选项需要挂载点的名称和要绑定到的目录的名称。

mkdir iso
sudo mount -B / media / dave / isomnt / iso
ls iso
ls / media / dave / isomnt
cd iso
LS
cd cde

在终端窗口中绑定挂载点

使用umount with Binds

将其挂载点绑定到另一个目录的文件系统需要从其挂载点和绑定点卸载。

即使我们从其原始安装点卸载文件系统,您仍然可以从其绑定目录访问文件系统。必须从该目录卸载文件系统。

sudo umount / media / dave / isomnt
ls iso

sudo umount iso
ls iso

在终端窗口中卸载绑定的挂载点

安装软盘

软盘驱动器(其中有一张软盘)是一个存储设备。这意味着将使用sd(用于存储设备)设备文件连接到物理设备。我们必须确定哪个是下一个免费的sd设备文件。我们可以通过管道输出来做到这一点 DF 通过 grep的 并在其中寻找带有“sd”的条目。

df | grep / dev / sd

在终端窗口中通过grep管道df

在此计算机上,有一个正在使用的sd设备文件。这是 / dev / sda上。发布的下一个sd设备文件将是 的/ dev / sdb的。这意味着当我们将软盘驱动器连接到计算机时,Linux将使用 的/ dev / sdb的 连接到软盘驱动器。

我们会告诉你 安装 将文件系统挂载到连接到的软盘驱动器中的软盘上 的/ dev / sdb的 到了 到/ mnt 装点。

将软盘插入软盘驱动器,然后将软盘驱动器连接到计算机上的USB端口。发出以下命令:

sudo mount / dev / sdb / mnt

将软盘驱动器安装在终端窗口中

文件系统标签

我们可以使用 -l (标签)选项 安装 找出附加到文件系统的标签(如果有)。标签不过是任意名称。它们没有功能目的。

我们正在使用 -t (类型)要求的选项 安装 报告 VFAT 仅限文件系统。

mount -l -t vfat

在终端窗口中使用-l label选项进行安装

您可以在列表末尾的方括号中找到标签。这个软驱的标签是NORTUN。

我们可以通过它访问软盘驱动器 到/ mnt 装点。

cd / mnt
LS
ls -l AMATCH.C

终端窗口中软盘的内容

软盘包含C语言源代码文件。一个文件的日期戳显示它最后一次修改是在1992年10月。它可能比我们的许多读者年龄更大。 (不用说NORTUN作为标签的含义在时间的迷雾中消失了。)

如果我们重复我们的 DF 通过管道传播 grep的 命令列出sd设备文件,我们会看到现在有两个。

df | grep / dev / sd

使用连接在终端窗口中的软盘驱动器通过grep管道df

我们的软盘驱动器显示为已安装 的/ dev / sdb的 正如我们所料。驱动器中软盘上的文件系统安装在 到/ mnt

卸载我们使用的软盘 卸除 并将设备文件作为参数传递给它。

sudo umount / dev / sdb

在终端窗口中卸载软盘驱动器

卸载懒惰选项

如果您(或其他用户)在尝试卸载文件系统时使用文件系统会发生什么?卸载将失败。

sudo umount / dev / sdb

umount在终端窗口中失败

它失败了,因为用户的当前工作目录位于他尝试卸载的文件系统中。 Linux非常聪明,不会让你看到你所在的分支机构。

要克服这个用途 -l (懒)选项。这导致 卸除 等到文件系统能够安全卸载。

sudo umount -l / dev / sdb
LS
cd~
ls / mnt

终端窗口中的umount -l lazy选项

即便如此 卸除 发出命令后,文件系统仍然挂载,用户可以正常列出文件。

一旦用户将目录更改为其主目录,就会释放软盘文件系统并将其卸载。试图列出文件 到/ mnt 没有结果。

挂载Samba共享

Samba是一组软件服务,允许在Linux和类Unix操作系统以及Windows操作系统之间交换访问网络共享。

设置Samba超出了本文的范围。但是,如果您已授权访问已提供给您的Samba共享,则可以使用此方法将其安装在Linux中。

连接到与测试计算机相同的网络的Raspberry Pi上有一个Samba共享。它是一个名为Backup的目录,它将Samba名称设置为“share”。让我们建立一个SSH连接并查看共享目录的内容。共享目录位于Pi上的USB记忆棒上。

用户名是 PI 并且Raspberry Pi的网络名称是 marineville.local

ssh [email protected]
ls / media / pi / USB64 /备份
出口

ssh到终端窗口中的覆盆子pi

用户发布 SSH 命令并提示输入Raspberry Pi密码。

他们提供密码并经过身份验证。终端窗口提示符更改为 PI @ marineville 因为它连接到Raspberry Pi。

它们列出了共享目录的内容 /媒体/ PI / USB64 /备份 。内容是两个目录,一个名为 戴夫 和一个叫 。所以现在我们知道在挂载Samba共享时会发生什么。

他们打字 出口 断开与Raspberry Pi的连接,并提示返回 戴夫@ howtogeek

要使用Samba,您必须安装 CIFS-utils的 包。

使用 apt-get的 如果您使用的是Ubuntu或其他基于Debian的发行版,请将此软件包安装到您的系统上。在其他Linux发行版上,请使用Linux发行版的包管理工具。

sudo apt-get install cifs-utils

在终端窗口安装CIF

安装完成后,使用如下命令安装共享,更改IP地址,共享名称和安装点(必须已存在)以适合您的具体情况。

sudo mount -t cifs -o credentials = / etc / samba / creds,uid = 1000,gid = 1000 //192.168.4.13/share / media / dave / NAS

在终端窗口中安装samba共享

让我们分解一下该命令的各个部分。

  • -t cifs:文件系统类型是cifs。

  • -o credentials = / etc / samba / creds,uid = 1000,gid = 1000:options参数是调用文件的路径 creds 是安全的,包含Raspberry Pi用户的用户名和密码;用户ID(UID)和组ID(GID),用于设置文件系统根目录的所有者和组。

  • //192.168.4.13/share:设备上具有Samba共享的网络位置,以及共享目录的Samba名称。共享的根目录是一个名为的目录 备用,但其Samba共享名称设置为 分享

  • / media / dave / NAS:挂载点的名称。您必须提前创建挂载点。

通过访问我们的挂载点 /媒体/戴维/ NAS 我们正在通过网络访问Raspberry Pi上的共享目录。我们可以看到Raspberry Pi上的两个文件夹 戴夫

cd / media / dave / NAS

访问终端窗口中的samba共享目录

创建和挂载文件系统

你可以使用 DD 命令创建一个图像文件,然后使用 的mkfs 在其中创建一个文件系统。然后可以安装该文件系统。这是练习和实验的好方法 安装

我们用的是 如果 (输入文件)选项告诉 DD 使用来自的零值流 的/ dev /零 作为输入文件。

(输出文件)是一个名为的新文件 geek_fs

我们正在使用 BS (块大小)选项,请求块大小为1 MB。

我们用的是 计数 告诉你的选择 DD 在输出文件中包含20个块。

dd if = / dev / zero of ./geek_fs bs = 1M count = 20

使用dd在终端窗口中的文件中创建文件系统

这为我们创建了我们的图像文件。它只包含零值。

我们可以在里面创建一个工作文件系统 geek_fs 文件使用 的mkfs 命令。该 -t (type)选项允许我们选择文件系统类型。我们正在创造一个 EXT4 系统。

mkfs -t ext4 ./geek_fs

终端窗口中的mkfs命令

这就是拥有一个有效的文件系统所需要的一切。

让我们装上它吧 /媒体/戴维/怪胎 然后使用 CHOWN 设置所有者和组所有权以允许访问它。

sudo mount ./geek_fs / media / dave / geek
sudo chown dave:users / media / dave / geek

在终端窗口中安装和设置对文件系统的访问

它有用吗?让我们换成新的文件系统并复制到一个文件中查看。

cd / media / dave / geek
cp / etc / fstab。

ls -l

在终端窗口中探索文件中的文件系统

我们能够将目录更改为新的文件系统,并且我们成功地制作了该文件的副本 / etc / fstab文件 文件。它的工作原理!

如果我们使用 安装 列出已安装的文件系统,但将其输出限制为 EXT4 文件系统使用 -t (类型)选项,我们会看到现在有两个已安装 EXT4 文件系统。

mount -t ext4

在终端窗口中列出ext4文件系统

重新安装文件系统

重新安装文件系统使用 - 重新安装 选项。通常将文件系统从只读(测试)状态更改为读写(生产)状态。

让我们再次安装我们的软盘驱动器。这次我们将使用 -r (只读)标志。然后我们会管道 安装 通过 grep的 并查看软盘文件系统的详细信息。

sudo mount -r / dev / sdb / mnt
mount | grep / mnt

在终端窗口中重新安装文件系统

如您所见,突出显示 RO 表示文件系统以只读方式挂载。

使用 - 重新安装 选项与 RW (读写)标志我们可以在一个命令中使用新设置卸载和重新安装文件系统。

sudo mount -o remount,rw / mnt

重复管道 安装 通过 grep的 向我们展示了 RO 已被取代 RW (高亮)。文件系统现在处于读写模式。

mount | grep / mnt

(不)移动文件系统

您曾经能够卸载文件系统并使用单个命令在另一个安装点上重新安装它。

-M (移动)选项 安装 专门为了让你这样做而存在。但它已不再适用于已移至的Linux发行版 systemd。这就是大多数大牌明星。

如果我们尝试从中移动文件系统 到/ mnt。/极客,它失败并给出如下所示的错误消息。试图列出文件系统中的文件 。/极客 没有结果。

sudo mount -M / mnt ./geek
ls ./geek

在终端窗口中移动文件系统

解决方法是使用 -B 我们之前用于将原始挂载点绑定到新挂载点的(bind)选项。

sudo mount -B / mnt ./geek
ls ./geek

除了不释放原始安装点之外,这将具有相同的实际结果。

最终观察

使用 --make-私人 选项可以强制移动发生 systemd Linux的版本。这里没有提出这种技术有两个原因。

  1. 它可能具有不可预测的行为。
  2. 它不是持久性的,需要在每次重启时重复。

Devuan Linux使用 的SysV 未初始化 systemd。一台计算机装载了最新版本的Devuan并进行了测试。该 -M (移动)选项在该系统上按预期工作。

除了 systemd 问题与 -M (移动)选项,你应该找到使用 安装卸除 直截了当。当遇到损坏的系统时,这些是很好的命令,你必须手动将文件系统拼接回来。

本文机器自动生成,不保证语句完整通顺和表达准确,亦不对内容真实有效性负责,请读者知悉。