跳到内容

Linux 基础/存档、深入挂载

来自维基教科书,开放世界中的开放书籍
  • 存档,使用 tar 程序压缩

列表

tar -tvf file.tar: 显示 file.tar 的内容

tar -tvfz file.tar.gz: 显示 mentes.tar.gz 的内容

tar -tvfj file.tar.bz2: 显示 mentes.tar.bz2 的内容

tar -tvvf file.tar: 详细列表,权限,所有者等

压缩

tar -cvf file.tar /to/path: 将数据压缩到 tar 中的给定路径。

tar -cvfz file.tar.gz /to/path: 将数据压缩到 gzip 中的给定路径。

tar -cvfj file.tar.bz2 /to/path: 将数据压缩到 bz2 中的给定路径。

解压缩: tar -xvf file.tar: 解压缩 file.tar 并将其放入 /file 文件夹

tar -xvfz file.tar.gz: 解压缩 gz 然后解压缩 tar 并将其放入 /file 文件夹

tar -xvfj file.bz2: 解压缩 file.bz2 并将其放入 /file 文件夹

挂载 - 或将设备连接到计算机。 那么,如果它不能自动工作会怎样,例如我们在安装时没有挂载硬盘驱动器?

这是 mount 命令的基本语法

mount -t type device mount_folder - if we want to mount manually
mount -ta device mount_folder - if we want to detect the file system automatically
  • 我们通过检测来挂载

类型可以是

ext,ext2,ext3,ext4, fat, ISO9660, msdos, ntfs, udf, xfs 等

如果我想挂载 CD,那么挂载会像这样(一步一步来)

mount -t ISO9660 /dev/sr0 /media/cd

以前文件被挂载到 /mnt,但现代系统将它们放入 /media 文件夹。

在 DVD 的情况下,它将是 udf。 你可能会问,但 DVD 也在 ISO 中,是的,只是在 ISO 中存在文件大小限制,即 2/4 GB,因此在 DVD 的情况下,即使单层单面 DVD 的容量为 4.7 GB,也不可能写入大于限制的文件。

我们可以使用 -o 开关在挂载时给出特定参数,用逗号分隔它们(并非所有参数)(并非所有参数)

async – 异步 I/O 操作 -> sync: 同步 I/O 操作

atime – 它在每次访问时更新文件系统中 inode 的访问时间,这是内核默认值。

noatime – 它不会更新文件系统中 inode 的访问时间

auto – 在启动时自动挂载分区(在非根驱动器的情况下,我们必须执行此操作),mount -a 也执行相同的操作

noauto – 它不会自动挂载,因此我们必须手动挂载它

defaults: rw, suid, dev, exec, auto, nouser, async, and relatime

remount – 尝试重新挂载已挂载的文件系统。

ro – 只读

rw – 读写

dev – 解释文件系统上的字符或块特殊设备。

nouser – 禁止普通用户(即非 root 用户)挂载文件系统。

relatime – 相对于修改或更改时间更新 inode 访问时间。

suid – 允许 set-user-identifier 或 set-group-identifier 位生效。

其他参数: man mount 命令 / https://linux.die.net/man/8/mount

那么它是如何工作的呢?

[编辑 | 编辑源代码]

例如,我们想挂载一个设备,该设备是可写的,只能由 root 挂载,并且我们不想在启动时自动挂载它,它具有 ext4 文件系统,我们想使用 setuid、setgid 位,它位于第一个硬盘的第一个分区,然后我必须键入以下内容

mount -t ext4 -o rw,noauto,nouser,suid /dev/sda1 /mnt/data

但首先,我们需要为要挂载的分区创建一个文件夹,否则命令会提醒没有这样的目录。

sudo mkdir /mnt/data

然后我们使用例如 nano 编辑 /etc/fstab 文件,并将第二行的内容添加到文件中

# <file system>    <dir>    <type>   <options>            <dump> <pass>
/dev/sda1        /mnt/data  ext4    rw,noauto,nouser,suid  0     1

解释

文件系统 = 这意味着我们要挂载的分区

dir = 这意味着我们要挂载它的路径

type = 文件系统类型

options = 选项,如上所述

dump = dump 是否应该创建文件系统的副本,0 表示不,1 表示是

pass = fsck 根据此决定它要以何种顺序检查文件系统,1 是根的,2 是其他文件系统的,如果为 0,则不会检查特定文件系统

卸载比挂载更容易,因为我们只需给出要删除的内容

umount /dev/sda1 - we remove the first HDD/SSD's first partition.
华夏公益教科书