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.