linux的哲学思想:一切皆文件;
设备类型:
块(block):随机访问,交换数据单位是“块”; 字符(character):线性访问,数据交换单位是“字符”;
设备文件:FHS
/dev 设备文件:关联至设备驱动程序;设备的访问入口; 设备号: major:主设备号,区分设备类型;用于表明设备所需要的驱动程序; minor:次设备号;区分同种类型下的不同设备;是特定设备访问入口;
mknod命令:
用法:mknod [选项]… 名称 类型 [主设备号 次设备号]
-m MODE :创建后的设备文件的访问权限;
磁盘:
IDE:/dev/hd[a-z] SCSI,SATA,USB,SAS:/dev/sd[a-z]
分区: /dev/sda#
/dev/sda1,… 注意:CentOS6,7统统将硬盘设备文件标识为/dev/sd[a-z]
引用设备的方式:
设备文件名 卷标 UUID
磁盘分区:MBR,GPT MBR:0 sector
Master Boot Record 分为三部分 446bytes:bootloader,程序,引导启动操作系统的 程序: 64bytes:分区表,每16bytes表示一个分区,一共只能有4个分区 2bytes:MBR区域的有效性标识;55AA为有效:
主分区和扩展分区的标识1-4
逻辑分区标识5+
fdisk命令;
1.查看磁盘分区情况
fidsk -l 列出所有分区及其详细使用情况
2.管理分区
fdisk device #打开交互式界面
fdisk提供了一个交互是接口来管理分区,他有许多子命令,分别用于不同的管理功能;所有操作均在内存中完成,没有同步到磁盘;直到使用W命令保存至磁盘上
[root@centous1 yum.repos.d]# fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): mCommand action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only)
常用命令;
n;创建分区
d;删除已有分区
t;修改分区类型
l;查看所有已有ID
w;保存并退出
q;不保存并退出
m;查看帮助
p;显示现有分区信息
注意:在已经分区并且已经挂载其中某个分区的磁盘设备上创建的新分区,内核可能在创建完成后无法识别
cat /proc/partitions 这个文件里显示了cpu所识别的所有分区列表
通知内核强制重读磁盘分区表: CentOS 5 :partprobe [device]
CentOS6,7: partx,kpart
partx -a [device]
kpartx -af [device]
注意重读命令有的时候需要执行两次
分区创建工具: parted,sfdisk;
创建文件系统
格式化:低级格式化(分区之前进行的,主要是用来划分磁道),高级格式化(分区之后对分区进行,创建文件系统)
元数据区,数据区 元数据区;inode 文件元数据:大小,权限,属主数组,时间戳、…
符号链接文件:存储数据指针的空间当中储存得事真实文件的访问路径;
设备文件:存储数据指针的空间当中储存的是设备号;
程序员编写程序的时候,需要按照系统上的文件系统来编写,但是系统上的文件系统众多,那样太影响效率,所以这时候有了一个中间件,VFS虚拟文件系统,它可以跟多种文件系统来匹配,而且对外只是一中接口。
linux的文件系统:ext2,ext3,ext4,xfs,relsers,btrfs
光盘:iso9660
网络文件系统:nfs,cifs
集群文件系统:gfs2,ocfs2
内核级分布式文件系统:ceph
windows的文件系统:vfat,ntfs
伪文件系统:proc,sysfs,tmpfs,hugepagefs
Unix的文件系统:UFS,FFS,JFS
交换文件系统:swap
用户空间的分布式文件系统:mogilefs,moosefs,glusterfs
文件系统管理工具:
创建文件系统的工具 mkfs mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.xfs,mkfs.vfat,... 检测及修复文件系统的工具 fsck fsck.ext2,fsck.ext3查看其属性的工具 dumpe2fs,tune2fs 调整文件系统特性: tune2fs
链接文件:访问同一个文件不同路径:
硬链接:指向同一个inode的多个文件路径; 特性: (1)目录不支持硬链接(为了防止循环链接); (2)硬链接不能跨文件系统; (3)创建硬链接会增加inode引用计数 软连接:指向一个文件的另一个文件路径; 特性: (1)符号链接与文件是两个人各自独立的文件,各有自己的inode (2)支持对目录创建符号链接,可以跨文件系统; (3)删除符号链接文件不影响源文件;但是删除源文件,符号指定的路径即不存在,此时会变成无效链接;
注意:软连接文件的大小时期制定的文件路径的大小
创建:
软连接 ln -s src link_file 硬链接 ln src link_file
内核级文件系统的组成部分:
文件系统驱动:有内核提供 文件系统管理工具:由用户空间的应用程序提供
如果想CentOS6支持xfs直接用yum install xfsprogs
ext系列文件系统专用工具:mke2fs
make2fs [option] device -t {ext2|ext3|ext4}:指定文件系统类型 -b{1024|2048|4096}:指明块大小 -L :指明卷标 -j:创建有日志功能的文件系统ext3; -N number :直接指明给此文件系统创建的inode的数量 -O[^]:来开启或者关闭某项功能 -m number :指定给root预留空间的比率
e2label:卷标的查看与设定
查看:e2label device 设定:e2label device LABEl
tune2fs:查看或者修改ext系列文件系统的某些属性(注意块大小创建后不可修改)
tune2fs -l:查看分区信息 tune2fs -j:修改指定文件系统属性ext2-->ext3 -m number :调整root预留空间大小-L:修改卷标-O选项同上-o[^]mount_options:开启或关闭某种默认挂载选项
dumpe2fs命令:显示ext系列文件系统的属性信息 dumpe2fs [-h] device
fsck:用于实现文件系统检测的工具
因进程意外中路或系统崩溃等 原因导致定稿操作非正常终止时,可能会造成文件损坏;此时,应该检测并修复文件系统;建议,离线进行
ext系列文件系统的专用工具:
e2fsck [option] device -f:即使文件系统处于clean,也要强制进行检测;
fsck:check and repair a linux file linux
-t:指定文件系统类型;-r:交互式修复
blkid: blkid device blkid -L LABEl:根据LABEL定位设备 blkid -U UUid:根据UUId定位设备
swap文件系统:Linux上的交换分区必须使用独立的文件系统;且文件件系统的System ID必须为82;
创建swap设备:mkswap
-L:指明卷标-f:强制
windows无法识别linux的文件系统;因此,储蓄设备需要两种系统之间交叉使用时,应该使用windows和linux同事支持的文件系统:fat32(vfat);
mkfs.vfat device
mount命令:
mount [-nrw] [-t vfstype] [-o options] device dir 命令选项: -r:readonly 只读挂载;-w:read and wirte ,读写挂载;-n:默认情况下,设备挂在或卸载的操作会同步更新至/etc/mtab文件中;-n用于禁止此特性;-t:指明要挂在的设备上的文件系统类型;多数情况下可省略,此时mount会通过blkid来判断要挂载的设备文件系统类型;-L (LABEL):挂载时以卷标的方式指明设备;-U UUID :挂载时以UUID的方式指明设备;
-o options:挂载选项
sysnc/async:同步/异步操作; atime/noatime:文件或者目录在被访问时是否更新其访问时间戳; diratime/nodiratime:目录在被访问时是否更新其访问时间戳;
umount卸载命令
umount device |dir
注意:正在被进程访问到的挂载点无法被卸载;
查看被那个或哪些进程所占用:
lsof MOUNT_POINT fuser -v MOUNT_POINT
终止所有正在访问mount挂载点的进程:
fuser -km MOUNT_POINT
交换分区的启用和禁用:
创建交换分区的命令:mkswap 启用:swapon 禁用:swapoff
设定除根文件系统以外的其他文件系统能够开机时自动挂载:/etc/fstab文件
每行定义一个要挂载的文件系统及相关属性:
6个字段:
(1)要股灾的设备: 设备文件; LABEL UUID 伪文件系统:如sysfs,proc,tmpfs等 (2)挂载点 swap类型的设备的挂载点为swap; (3)文件系统类型; (4)挂载选项 defaults:使用默认选项; 如果要同时指明多个挂载选项,彼此间以逗号隔开; defaults,acl,noatime (5)转储频率 0:从不备份; 1:每天备份; 2:每隔一天备份; (6)自检次序 0:不自检 1:首先自检,通常只能是根文件系统可用1 2:次级自检 ...
mount -a : 可自动挂在定义在此文件中的所支持自动挂在的设备;
文件系统:
目录:文件 元数据:inode,inode table 数据:data blocks 下级目录或文件的文件名与其inode对应关系 注意:文件不会储存自己的文件名文件名存在上局目录里边
删除文件:将文件指向的所有data block标记为未使用状态;将文件的inode标记为未使用;
移动和复制:
复制:新建文件; 移动文件:在同一文件系统,仅是其路径;不在同一文件系统:复制数据至目标文件,并删除源文件;
原创文章,作者:forest,如若转载,请注明出处:http://www.178linux.com/41123
评论列表(1条)
对磁盘管理工具用法总结的很完善,建议多操作,熟练运用。