Linux 文件系统挂载
文件系统挂载简介
磁盘分区和格式化完成后,磁盘分区要想能够使用,就需要挂载,在挂载某个分区前需要先建立一个挂载点
挂载:将新的文件系统关联至当前根文件系统
卸载:将某文件系统与当前根文件系统的关联关系移除;卸载时设备没有进程在使用
挂载点:作为要挂载文件系统的访问入口;挂载点事先必须存在;不会被进程使用到的目录;挂载点下原有文件将会被临时隐藏
文件系统挂载管理工具
mount 不跟任何参数显示当前系统已经挂载的设备及挂载点
cat /proc/mounts 显示内核中挂载的设备,mount命令就是去读取该文件显示出来
cat /etc/mtab mount命令去挂载和卸载的操作信息会记录到该文件,也可以显示系统挂载的设备
mount [options] -t FSTYPE -o [option] 设备名称 挂载点
[options] 命令选项
-n 挂载后不更新操作记录到/etc/mtab文件
--bind dir1 dir2 将dir1挂载到dir2上,使得dir2也能访问dir1的文件(绑定某个目录到另外一个目录)
-t FSTYPE 指定挂载的文件系统类型
-r 只读挂载
-w 读写挂载
-L LABLE 指定卷标名,用卷标名字挂载;也可以使用LABLE="lable"
-U UUID 使用UUID挂载,也可以使用 UUID="uuid"
-a 自动挂载所有/etc/fstab配置文件中定义的挂载
-o [options] 挂载时启动分区特性(多选项用逗号隔开)
async 异步I/O数据的写入先缓存在内存中,再写入硬盘;数据写入硬盘会有延迟,突然断电数据会丢失
sync 同步I/O数据同步写入硬盘,频繁操作IO,影响性能
auto/noauto 是否能够被mount -a自动挂载
dev/nodev 是否能创建设备文件
diratime/nodirtime 是否更新目录的访问时间戳
exec/noexec 是否允许执行二进制程序
suid/nosuid 是否能设置文件的SUID,SGID权限位
user/nouser 是否允许普通用户挂载此设备(默认管理员才能挂载)
ro 只读挂载
rw 读写挂载
remount 重新挂载
acl 启用文件此文件系统上的acl功能
_netdev 挂载NFS网络文件系统时候,如果网络功能还没起来,可能导致挂载进程一直卡住,此选项可以停止挂载此网络设备
atime/noatime 是否更新文件的访问时间戳,不是特别重要的文件,建议noatime
relatime/norelatime 是否实时更新atime
strictatime/nostrictatiom 是否实时更新atime(这三个参数不同的内核版本或文件系统类型可能生效的参数不一样)
如果默认挂载没指定选项默认选项是:rw,suid,dev,exec,auto,nouser,async
dd命令
cp命令复制文件是以文件为单位复制的,是先将文件信息读取到内存中,在将内存中的信息存储到硬盘的目标位置(需要经过虚拟文件系统VFS)
dd命令复制底层的数据流(硬盘底层的0和1代码,不经过VFS)
dd if=input_file of=output_file
dd if=input_file of=output_file bs=#[b|k|m|g] count=#
bs 一次读多大数据量
count 读取次数
if 输入文件
of 输出文件
制作光盘文件:
dd if=/dev/cdrom of=/tmp/linux.iso
cat /dev/cdrom > /tmp/linux.iso
备份启动盘的MBR信息:
dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1
还原MBR信息:
dd if=/mnt/usb/mbr.backup of=/dev/sda bs=512 count=1
拷贝内存资料到硬盘
dd if=/dev/mem of=/root/mem.bin bs=1024
将内存里的数据拷贝到root目录下的mem.bin文件
从光盘拷贝iso镜像
dd if=/dev/cdrom of=/root/cd.iso
拷贝光盘数据到root文件夹下,并保存为cd.iso文件
销毁磁盘数据
dd if=/dev/urandom of=/dev/sda1
利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。执行此操作以后,/dev/sda1将无法挂载,创建和拷贝操作无法执行。
测试硬盘读写速度
dd if=/root/1Gb.file bs=64k | dd of=/dev/null
dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000
通过上两个命令输出的执行时间,可以计算出测试硬盘的读/写速度
修复硬盘
dd if=/dev/sda of=/dev/sda
当硬盘较长时间(比如1,2年)放置不使用后,磁盘上会产生消磁点。当磁头读到这些区域时会遇到困难,并可能导致I/O错误。当这种情况影响到硬盘的第一个扇区时,可能导致硬盘报废。上边的命令有可能使这些数据起死回生。且这个过程是安全,高效的。
挂载光盘设备:
光盘设备文件:
IDE口光驱设备: /dev/hdc
SATA口光驱设备: /dev/sr0
符号链接文件(链接到上面的设备文件):/dev/cdrom、/dev/cdrw、/dev/dvd、/dev/dvdrw
mount -t iso9660 -r /dev/cdrom /media/cdrom
umount /dev/cdrom
开机自动挂载
/etc/rc.d/rc.sysinit系统初始化脚本其中一个功能是挂载/etc/fstab文件中定义的文件系统挂载表(每条记录6个字段)
# /etc/fstab
# Created by anaconda on Sat Jul 16 14:42:59 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=a9e077c4-fa4c-4189-a593-6f33ff40a4f1 / ext4 defaults 1 1
UUID=92c80024-7269-4b0a-8d58-781dbc0114a2 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0

要挂载的设备:设备文件名称、也可以指定UUID="uuid"、LABEL="LabName"、伪文件系统名称进行挂载
挂载点:有的文件系统没有挂载点 swap没有挂载点,挂载点为swap
文件系统类型:指定挂载文件系统类型
挂载选项:默认为defaults,使用默认挂载选项;要使用某个选项的时候通过逗号隔开添加
转储频率:(每多少天做一次文件系统完全备份),0表示不做备份,该项现在很少使用
0 从不备份
1 每日备份
2 每隔一天备份
文件系统开机自检测次序:(0表示不检查,只有根可以为1);开机的时候要检查文件系统
1 首先自检,通常只能被根/使用
2-9 表示自检顺序
0 从不自检
umount 卸载设备
umount Device
umount Mount_Point
如果卸载设备出现device is busy报错,则表示该文件系统正在被使用,可以使用以下命令
fuser 找出正在使用某个目录所有进程
fuser -v 挂载点 显示那些进程访问挂载文件
fuser -km 挂载点 强制剔除shell进程
-u 除了进程的PID之外,同时列出该进程的拥有者
-m 列出所有使用某个目录的进程号
-v 可以列出每个文件与进程还有指令的完整相关性
-k 找出使用挂载点中文件或目录的 PID ,以 SIGKILL这个信号杀死该 PID
-i 与-k结合使用,交互式模式,杀死前会询问用户
-signal 例如 -1 -15 ,若不加的话,预设是 SIGKILL (-9)
lsof
lsof 挂载点 可以使用命令lsof查看正在被使用的文件
Linux 文件系统挂载的更多相关文章
- Linux入门基础 #5:Linux文件系统挂载管理
本文出自 http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...
- Linux文件系统挂载管理
http://itercast.com/lecture/19 文件系统创建好之后需要挂载到系统中方可使用,windows.Mac系统会自动挂载文件系统,而Linux下一般需要手工挂载或配置系统进行自动 ...
- 理解Linux文件系统挂载参数noatime nodiratime
很多线上服务器为了提供文件系统IO性能,会在挂载文件系统的时候指定“noatime,nodiratime”参数,意味着当访问一个文件和目录的时候,access time都不会更新.但是如果未指定上面的 ...
- Linux 入门记录:九、Linux 文件系统挂载管理
一.挂载操作 磁盘或分区创建好文件系统后,需要挂载到一个目录才能够使用. Windows 或 Mac 系统会进行自动挂载,一旦创建好文件系统后会自动挂载到系统上,Windows 上称之为 C 盘.D ...
- linux文件系统挂载
接上一篇博客 创建好了文件系统的磁盘仍然是不能用的,必须挂载到某个目录下才能使用 [root@gechong mnt]# ll /dev/sdb* brw-rw----. root disk , 11 ...
- 【Linux】程序内获取文件系统挂载信息
Linux shell可通过查看/etc/mtab或者/proc/mounts文件来获取当前文件系统挂载信息,示例: 程序内读取/etc/mtab或者/proc/mounts,解析字符串较为繁琐,可以 ...
- 第8天【文件系统挂载、ext文件系统及read命令、Linux RAID、lvm应用】
文件系统挂载与管理工具(01)_recv 文件系统管理: 将额外文件系统与根文件系统某现存的目录建立关联关系,进而使得此目录作为其他文件访问入口的行成为挂载: 解除此关联关系的过程 吧设备关联挂载点: ...
- linux文件系统初始化过程(2)---挂载rootfs文件系统
一.目的 本文主要讲述linux3.10文件系统初始化过程的第一阶段:挂载rootfs文件系统. rootfs是基于内存的文件系统,所有操作都在内存中完成:也没有实际的存储设备,所以不需要设备驱动程序 ...
- linux文件系统之loop环设备--新建一个文件系统并挂载
1. /dev目录下有所有已经连接到操作系统上的设备,他们能在/dev里出现就表示他们在硬件层面和系统核心层面被识别了.对于stdin.stdout.zero等设备是可以直接用> <这些 ...
随机推荐
- 构造器参数过多时考虑使用构建器(Builder)
一.静态工厂和构造器的局限性 面对需要大量可选参数才能构建对象时,静态工厂和构造器并不能随着可选参数的增加而合理扩展. 假设创建一个类Person需要使用大量的可选参数,其中两个参数是必填的,剩下的都 ...
- Hive 基本操作
1.创建一个表 (字段表名不加引号‘,分隔符需要加引号) create table t1( id int ,name string ,hobby array<string> ,add ma ...
- D. Destruction of a Tree_dfs序_性质分析_思维题
题意: 给定一棵树,每次可以拆掉一个树上度数为偶数的点,拆掉该点后,与该点所连的所有边都会被删掉.问,是否有一种删点顺序可以删掉所有的点.如果有,则输出任意一组解. 数据范围:线性做法 O(n)O(n ...
- elk集群配置配置文件中节点数配多少
配置elk集群时,遇到,elasticsearch配置文件中的一个配置discovery.zen.minimum_master_nodes: 2.这里是三配的2 看到某一位的解释是这样:为了避免脑裂, ...
- python 用法测试
Python 3.5.6 1.js风格的回调测试 def b(): ') def a(fn): if callable(fn): fn() a(b) class Sample: def q(self) ...
- POJ 3370 Halloween treats( 鸽巢原理简单题 )
链接:传送门 题意:万圣节到了,有 c 个小朋友向 n 个住户要糖果,根据以往的经验,第i个住户会给他们a[ i ]颗糖果,但是为了和谐起见,小朋友们决定要来的糖果要能平分,所以他们只会选择一部分住户 ...
- 读取bin文件,并且按结构体赋值打印
目标:读取一个bin文件,并且将bin文件中的数据,按字节对齐赋值给结构体,并且打印出结构体的内容 目前思路是简单的先将bin文件数据一次性读到一个数组中,再将数组强制转换为结构体 ] FILE *f ...
- idea 编辑器 光标问题!(insert键)
今天写代码不小心按了键盘的insert键,光标莫名闪退了 ,重新打开的时候发现 光标变成了 按了insert 的效果 ,简直无语的要命啊! 这敲代码太恶心了!怒搜资料 结果找到了解决办法! 1.打 ...
- linux中fork()函数详解(搬砖)
一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同, ...
- HDU 4240 Route Redundancy
Route Redundancy Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Origin ...