三、文件系统的挂载与文件的归档

3.1、挂载的概念

挂载:  将新的文件系统关联至当前文件系统。
  卸载:  将某文件系统与当前根文件系统的关联关系予以移除。
  挂载点:目录,挂载完成后,要通过挂载点访问对应文件系统上的文件。
    1、此目录没有被其它进程使用;

2、目录得事先存在;

3、目录中的原有的文件将会暂时隐藏。

3.2、开机挂载

在linux系统中,有些文件系统是开机就会自动挂载的。这些文件系统的挂载都定义在/etc/fstab文件下。在此文件中,每一行代表挂载一个文件系统,通常分为6段,其每一段代表的含义为:

要挂载的设备: 可以使用设备文件,卷标,UUID
挂载点:SWAP(交换分区)的挂载点即为SWAP
文件系统类型:
挂载选项:
转储频率:  0:不做备份; 1:每天转储;2:每隔一天转储

文件系统检测次序: 0:不自检; 1:首先自检,一般只有 rootfs 才用 1

如: /dev/sda5 /mnt/test ext3 defaults 0 0

[[email protected] ~]# cat /etc/fstab 
/dev/vda1            /                    ext3       noatime,acl,user_xattr 1 1
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5

3.3、手动挂载命令mount/umount

mount [options] [-t fstype ] [-o options] 设备 挂载点
 [options]: 命令的选项
  [-o options]:挂载时启用分区特性
  不带任何选项:显示当前系统已经挂载的设备及挂载点

命令选项:
  -a: 挂载/etc/fstab 文件中定义的所有文件系统
  -r: 只读挂载 -w: 读写挂载
  -L lable: 以卷标指定, LABLE=“ label”
  -U UUID: 以 UUID 指定挂载设备, UUID=“ UUID”
  -t FSTYPE: 指定正在挂载设备上的文件系统的类型;
  -n: 默认情况下, mount 命令每挂载一个设备, 都会把挂载的设备信息保存至
/etc/mtab 文件;使用—n 选项意味着挂载设备时,不把信息写入此文件;
分区特性选项 -o:

async: 异步 I/O

sync: 同步 I/O

ro: 挂载为只读

rw: 读写挂载

remount: 重新挂载当前文件系统

noatime/atime: 建议 noatime

auto/noauto: 是否能够被 mount -a 选项自动挂载;
  diratime/nodiratime: 是否更新目录的访问时间戳;
  exec/noexec: 是否允许执行其中的二进制程序;
  _netdev: 挂载网络文件系统
  acl: 启用 facl

[[email protected] ~]# mount                    #查看当前系统已经挂载的设备及挂载点
/dev/vda1 on / type ext3 (rw,noatime,acl,user_xattr)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

umount:卸载某文件系统,挂载的设备应当没有进程使用。


umount 设备        #直接卸载文件系统

umount 挂载点      #从挂载点中卸载文件系统

[[email protected] ~]# mount /dev/vdb1 /tmpfs/
[[email protected] ~]# mount
/dev/vda1 on / type ext3 (rw,noatime,acl,user_xattr)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/vdb1 on /tmpfs type ext3 (rw)
[[email protected] ~]# umount /dev/vdb1      #直接使用设备方式卸载
[[email protected] ~]# mount /dev/vdb1 /tmpfs/
[[email protected] ~]# umount /tmpfs/        #使用挂载点方式卸载

查看内核追踪到的已挂载的所有设备: cat /proc/mounts

[[email protected] ~]# cat /proc/mounts 
rootfs / rootfs rw 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
devtmpfs /dev devtmpfs rw,relatime,size=498084k,nr_inodes=124521,mode=755 0 0
devpts /dev/pts devpts rw,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /dev/shm tmpfs rw,relatime 0 0
/dev/vda1 / ext3 rw,noatime,errors=continue,user_xattr,acl,barrier=1,data=ordered 0 0
/proc/bus/usb /proc/bus/usb usbfs rw,relatime 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0

3.4、查看挂载信息命令 fuser/df/du
fuser -v MOUNT_POINT  查看正在访问指定文件系统的进程

[[email protected] ~]# fuser -v /tmpfs/
[[email protected] ~]# fuser -v /
                     用户     进程号 权限   命令
/:                   root          1 .rc.. init
                     root          2 .rc.. kthreadd
                     root          3 .rc.. migration/0
                     root          4 .rc.. ksoftirqd/0
                     root          5 .rc.. stopper/0
                     root          6 .rc.. watchdog/0
                     root          7 .rc.. events/0
                     root          8 .rc.. events/0
                     root          9 .rc.. events_long/0
                     root         10 .rc.. events_power_ef
                     root         11 .rc.. cgroup
                     root         12 .rc.. khelper

fuser -km MOUNT_POINT 终止所有在正访问指定的文件系统的进程

[[email protected] tmpfs]# fuser -v /tmpfs/
                     用户     进程号 权限   命令
/tmpfs/:             root       1680 ..c.. bash
[[email protected] tmpfs]# fuser -km /tmpfs/
/tmpfs/:              1680c

df: 文件系统空间占用等信息的查看工具:


-h: 单位,换算以可读方式输出信息

-i:输出inode数而不是block块数量

-P: 以 Posix 兼容的格式输出;

[[email protected] ~]# df 
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/vda1       20641404 4196328  15396560  22% /
[[email protected] ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  4.1G   15G  22% /
[[email protected] ~]# df -hi
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/vda1        1.3M  142K  1.2M   12% /

du [OPTION]... DIR 查看某目录总体空间占用状态:


-s:整个目录的大小

-h:单位换算

[[email protected] ~]# du /etc/     #默认显示目录下每个文件的大小
12      /etc/gnome-vfs-2.0/modules
16      /etc/gnome-vfs-2.0
4       /etc/security/namespace.d
12      /etc/security/limits.d
4       /etc/security/console.perms.d
56      /etc/security/console.apps
136     /etc/security
8       /etc/plymouth
60      /etc/setuptool.d
64      /etc/profile.d
128     /etc/bash_completion.d
[[email protected] ~]# du -s /etc/   #查看整个目录大小
31020   /etc/
[[email protected] ~]# du -sh /etc/  #但会换算显示
31M     /etc/

3.5、本地回环设备与dd 命令
  回环设备 loopback, 使用软件来模拟实现硬件,指拿一个大的镜像文件,如 xxx.iso 或xxx.img 等,在此文件内建立一个文件系统,此文件就像一个新的磁盘或光盘设备一样使用。

mount -o loop DEVICE MOUNT_POINT 挂载本地回环设备

[[email protected] home]#  dd if=/dev/zero of=/tmp/disk-image count=20480 创建10MB的文件
记录了20480+0 的读入
记录了20480+0 的写出
10485760字节(10 MB)已复制,0.053128 秒,197 MB/秒
[[email protected] home]# mke2fs -q /tmp/disk-image              #在文件上创建文件系统
/tmp/disk-image is not a block special device.
无论如何也要继续? (y,n) y
[[email protected] home]# mount -o loop  /tmp/disk-image /tmpfs/ #使用回环设备将文件挂载起来  
[[email protected] home]# ls /tmpfs/
lost+found

dd是Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。命令的简单使用:dd (选项)


bs=<字节数>:将ibs(输入)与obs(输出)设成指定的字节数;

cbs=<字节数>:转换时,每次只转换指定的字节数;

conv=<关键字>:指定文件转换的方式;

count=<区块数>:仅读取指定的区块数;

ibs=<字节数>:每次读取的字节数;

obs=<字节数>:每次输出的字节数;

of=<文件>:输出到文件;

seek=<区块数>:一开始输出时,跳过指定的区块数;

skip=<区块数>:一开始读取时,跳过指定的区块数;

--help:帮助;

--version:显示版本信息。

dd if=/dev/zero of=sun.txt bs=1M count=1
记录了1+0 的读入
记录了1+0 的写出
1048576字节(1.0 MB)已复制,0.00208068 秒,504 MB/秒
[[email protected] ~]# 
[[email protected] ~]# ls
anaconda-ks.cfg     install.log         sun.txt
bolimowski2016.pdf  install.log.syslog

dd 命令可用于备份整个分区或者磁盘

dd if=/dev/sda of=/tmp/myfile bs=512 count=1 备份MBR
dd if=/dev/zero of=/dev/sdb bs=500 count=1 破坏MBR

3.6、链接文件
硬链接: (inode号与原文件相同,不能跨分区)


1、 只能对文件创建,不能应用于目录;

2、 不能跨文件系统;

3、 创建硬链接会增加文件被链接的次数;

符号链接: (inode 号与原文件不相同)


1、 可应用于目录;

2、 可以跨文件系统;

3、 不会增加被链接文件的链接次数;
4、 其大小为指定的路径所包含的字符个数;

命令: ln [-s -v] SRC DEST

-s 创建软连接,默认是是创建硬链接
-v 显示创建过程

3.7、 设备文件
  设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信

b: 按块为单位,随机访问的设备;如:硬盘
c:按字符为单位,线性设备;如:键盘

路径在/dev 目录下:

[[email protected] ~]# cd /dev/
crw-rw-rw- 1 root tty       5,   2 4月  12 14:55 ptmx
drwxr-xr-x 2 root root           0 4月  12 14:08 pts
brw-rw---- 1 root disk      1,   0 4月  12 14:09 ram0
brw-rw---- 1 root disk      1,   1 4月  12 14:09 ram1
brw-rw---- 1 root disk      1,  10 4月  12 14:09 ram10
brw-rw---- 1 root disk      1,  11 4月  12 14:09 ram11
brw-rw---- 1 root disk      1,  12 4月  12 14:09 ram12
brw-rw---- 1 root disk      1,  13 4月  12 14:09 ram13
brw-rw---- 1 root disk      1,  14 4月  12 14:09 ram14
brw-rw---- 1 root disk      1,  15 4月  12 14:09 ram15
brw-rw---- 1 root disk      1,   2 4月  12 14:09 ram2
brw-rw---- 1 root disk      1,   3 4月  12 14:09 ram3
brw-rw---- 1 root disk      1,   4 4月  12 14:09 ram4
brw-rw---- 1 root disk      1,   5 4月  12 14:09 ram5
brw-rw---- 1 root disk      1,   6 4月  12 14:09 ram6
brw-rw---- 1 root disk      1,   7 4月  12 14:09 ram7
brw-rw---- 1 root disk      1,   8 4月  12 14:09 ram8
brw-rw---- 1 root disk      1,   9 4月  12 14:09 ram9

在每行的第五列字段标出了设备号分为主设备号与次设备号。

主设备号( major number):用来标识与设备文件相连的驱动程序

次设备号( minor number):次设备号被驱动程序用来辨别操作的是哪个设备

创建命令设备的:mknod [OPTION]... NAME TYPE [MAJOR MINOR]

-m MODE(指定权限)
-b :设备名称成为外部存储设备文件
-c :设备名称成为外部输入设备文件

3.8、压缩命令 zip/gzip/bzip/xz

zip: 既归档又压缩的工具,可以压缩目录压缩后不删除原文件;压缩时需要指定压缩后的文件名。
  zip FILENAME.zip FILE1 FILE2 ...:
  unzip FILENAME.zip


gzip FILE:

-d(解压缩)

-#:1-9,指定压缩比是6

-c: 将压缩结果送往标准输出, 可使用重定向将其保存为压缩文件,从而保留原文件

gunzip FILE.gz: 解压完成后会删除原文件
zcat FILE.gz:不解压的情况,查看文本文件的内容


bzip2 FILE:

-d(解压缩)

-#: 1-9,默认是6

-k: 压缩时保留原文件

bunzip2 FILE.bz2 解压完成后会删除原文件
bzcat FILE.bz2 不解压的情况,查看文本文件的内容


xz FILE:

-d(解压缩)

-#: 1-9, 默认是6

-k: 压缩时保留原文件

unxz FILE.xz 解压完成后会删除原文件
xzcat FILE.xz 不解压的情况, 查看文本文件的内容
注:gzip,bzip2,xz 都不能压缩目录,且压缩与解压后都会删除原文件。

3.9、归档工具 tar
tar、cpio: 归档工具
tar [OPTION...] [FILE]...


-c: 创建归档文件

-f FILE.tar: 操作的归档文件

-x: 展开归档 --xattrs: 归档时,保留文件的扩展属性信息

-t: 不展开归档,直接查看归档了哪些文件

-C:指定展开的路径

-zcf: 归档并调用gzip 压缩       -zxf: 调用 gzip 解压缩并展开归档,-z 选项可省略
-jcf: 归档并调用bzip2 压缩      -jxf: 调用 bzip2 解压缩并展开归档,-j 选项可省略
-Jcf: 归档并调用xz 压缩         -Jxf: 调用 xz 解压缩并展开归档, -J 选项可省略

时间: 2024-10-16 03:13:18

三、文件系统的挂载与文件的归档的相关文章

文件系统管理 之 Linux 创建文件系统及挂载文件系统流程详解

阅读此文,必须具备知识点:<Linux 查看磁盘分区.文件系统.使用情况的命令和相关工具介绍><实例解说 fdisk 使用方法><合理规划您的硬盘分区><Fedora / Redhat 软件包管理指南> 如果您想加载一个分区(文件系统),首先您得确认文件系统的类型,然后才能挂载使用,比如通过mount 加载,或者通过修改 /etc/fstab来开机自动加载:如果您想添加一个新的分区,或者增加一个新的硬盘,您要通过分区工具来添加分区,然后要创建分区的文件系统,

Linux学习命令汇总六——磁盘分区,磁盘挂载,文件系统管理,压缩及归档命令

本章Blog相关Linux知识点 Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 系统中的文件.目录.软连接及文件保护信息等都存储在其中.按照名称进行存取. 磁盘:磁道,扇区 ,柱面 ,固定角速度 ,平均寻道时间 MBR :master boot recoard 主引导记录 (512字节),存放bootloader (引导加载器 446字节)+ 磁盘分区 (64字节) 一块磁盘最多分为4个主分区 ,或者3主分区1扩展分区  ,磁盘在C

[9-1]磁盘分区、创建文件系统、挂载以及链接文件

本文旨在复习磁盘分区.创建文件系统.挂载以及链接文件的基本概念 知识储备 硬盘出厂其实不能写入数据的,是"盲盘",需要处理后使用,格式化分为2种 低格:将空白磁盘划分出柱面.磁道及若干个扇区,每个扇区又划分出标识部分ID.间隔区GAP和数据区DATA等.现在大多出厂已经完成低格,只需要用户磁盘分区即可. 高格:真正意义上的创建文件系统,明确存储设备或分区上的文件方法和数据结构,即在存储设备上组织文件的方法. 文件系统是用户存取磁盘文件操作的"代理人" 不同类型的操作

谢烟客---------Linux之文件系统自动挂载和ext文件系统结构、硬/软链接

/etc/fstab文件的格式 GDT,超级块,Indode,校验码 inode表,inode组成,地址指针结构 创建文件:位图索引 查找文件:目录 硬链接,软链接 删除文件,复制文件,移动文件 开机后,首先挂载的是根,然后手动通过根中的mount命令,关联其他分区至根 自动挂载的实现 1)定义在/etc/fstab文件中 2)挂载的文件系统支持auto选项     /etc/fstab文件为何开机能自动挂载 系统初始化脚本会起用mount命令扫描/etc/fstab文件中的每一行 /etc/f

Linux--根文件系统的挂载过程分析

前言: 本篇文章以S3C6410公版的Linux BSP和U-Boot来进行分析,文中全部提及的名词和数据都是以该环境为例,全部的代码流程也是以该环境为例来进行分析.哈哈.假设有不对或者不完好的地方,欢迎前来拍砖留言或者发邮件到[email protected]进行讨论,先行谢过. 简单的来说,根文件系统包含虚拟根文件系统和真实根文件系统.在Kernel启动的初始阶段,首先去创建虚拟的根文件系统,接下来再去调用do_mount来载入真正的文件系统,并将根文件系统切换到真正的文件系统,也即真实的文

Linux下的文件压缩归档与系统进程管理

Linux下的文件压缩归档与系统进程管理   一:实验环境 1):在虚拟机下配置好linux系统 2):了解文件压缩归档的含义 二:实验目标 1):理解并会用文件的压缩归档 2):熟练掌握文件压缩归档的命令 3):理解各种压缩形式的使用环境 4):理解个文件的压缩区别 三:实验步骤 一:压缩的常用形式及命令 1):常用形式 grub.tar grub.tar.bz2 grub.tar.gz grub.tar.zip 2):压缩命令分析 [[email protected] test]#tar -

Linux 磁盘、分区、文件系统、挂载

磁盘 Linux所有设备都被抽象成为一个文件,保存在/dev目录下. 设备名称一般为hd[a-z]或sd[a-z].如果电脑中有多硬盘,则设备名依次为sda.adb.sdc...以此类推 IDE设备的名称为hd[a-z].SATA.SCSI.SAS.USB等设备的名称称为sd[a-z]. 分区 在Linux中,使用 备名称+分区号 的方式来表示分区,例如: sda1---第一块硬盘的第一个分区 sda2---第一块硬盘的第二个分区 sdb1---第二块硬盘的第一个分区 ...... 分区是一个软

linux根文件系统的挂载过程详解

一:前言 前段时间在编译kernel的时候发现rootfs挂载不上.相同的root选项设置旧版的image却可以.为了彻底解决这个问题.研究了一下rootfs的挂载过程.特总结如下,希望能给这部份知识点比较迷茫的朋友一点帮助. 二:rootfs的种类 总的来说,rootfs分为两种:虚拟rootfs和真实rootfs.现在kernel的发展趋势是将更多的功能放到用户空间完成.以保持内核的精简.虚拟rootfs也是各linux发行厂商普遍采用的一种方式.可以将一部份的初始化工作放在虚拟的rootf

rhel7文件的归档与压缩

归档的好处 方便使用.查询.阅读 易于管理(批量操作文件) 文件压缩的好处 加快文件传输的速率 节约硬盘的资源 Linux文件中的文件归档与压缩 1.1 tar命令的使用 1.1.1 作用:打包.压缩文件 [[email protected] ~]# tar --help 用法: tar [选项...] [FILE]...  GNU 'tar' 将许多文件一起保存至一个单独的磁带或磁盘归档,并能从归档中单独还原所需文件. 示例   tar -cf archive.tar foo bar  # 从