• 分区及文件系统管理


    分区及文件系统管理

    欢迎来到 来到大浪涛天的博客

    1. 分区管理工具:fdisk, parted

    1. 分区
    		fdisk:对于一块硬盘来讲,最多只能管理15分区;
    
    		# fdisk -l [-u] [device...]
    
    		# fdisk device
    			子命令:管理功能
    				p: print, 显示已有分区;
    				n: new, 创建
    				d: delete, 删除
    				w: write, 写入磁盘并退出
    				q: quit, 放弃更新并退出
    				m: 获取帮助
    				l: 列表所分区id
    				t: 调整分区id
    2. 查看内核是否已经识别新的分区:
    			# cat /proc/partations
    3. 通知内核重新读取硬盘分区表:
    			partx -a /dev/DEVICE
    				-n M:N
    
    			kpartx -a /dev/DEVICE
    				-f: force
    
    			CentOS 5: 使用partprobe
    				partprobe [/dev/DEVICE]

    2. Linux文件系统管理:

    1. Linux文件系统: ext2, ext3, ext4, xfs, btrfs, reiserfs, jfs, swap,iso9660
    2. Windows:fat32, ntfs
    3. 网络文件系统:NFS, CIFS
    4. 集群文件系统:GFS2, OCFS2
    5. 分布式文件系统:ceph,moosefs, mogilefs, GlusterFS, Lustre

    2.1 根据其是否支持"journal"功能:

    • 日志型文件系统: ext3, ext4, xfs, ...
    • 非日志型文件系统: ext2, vfat

    2.2 文件系统的组成部分:

    • 内核中的模块:ext4, xfs, vfat
    • 用户空间的管理工具:mkfs.ext4, mkfs.xfs, mkfs.vfat
    • Linux的虚拟文件系统:VFS

    3. 创建文件系统

    3.1 mkfs,mke2fs,mkswap命令:

    			(1) # mkfs.FS_TYPE /dev/DEVICE
    				ext4
    				xfs
    				btrfs
    				vfat
    			(2) # mkfs -t FS_TYPE /dev/DEVICE
    
    			-L 'LABEL': 设定卷标
    
    		mke2fs:ext系列文件系统专用管理工具
    			-t {ext2|ext3|ext4}
    			-b {1024|2048|4096}
    			-L 'LABEL'
    			-j: 相当于 -t ext3
    				mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
    			-i #: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小;
    			-N #:为数据空间创建个多少个inode;
    			-m #: 为管理人员预留的空间占据的百分比;
    			-O FEATURE[,...]:启用指定特性
    				-O ^FEATURE:关闭指定特性
    
    		mkswap:创建交换分区
    			mkswap [options] device
    				-L 'LABEL'
    
    			前提:调整其分区的ID为82;

    3.2 其它常用工具 blkid e2label tune2fs dumpe2fs fsck:

    
    		blkid:块设备属性信息查看
    			blkid [OPTION]... [DEVICE]
    				-U UUID: 根据指定的UUID来查找对应的设备
    				-L LABEL:根据指定的LABEL来查找对应的设备
    
    		e2label:管理ext系列文件系统的LABEL
    			# e2label DEVICE [LABEL]
    			如果不给卷标就是查看,如果给卷标就是设置
    
    		tune2fs:重新设定ext系列文件系统可调整参数的值
    			-l:查看指定文件系统超级块信息;super block
    			-L 'LABEL':修改卷标
    			-m #:修预留给管理员的空间百分比
    			-j: 将ext2升级为ext3
    			-O: 文件系统属性启用或禁用
    			-o: 调整文件系统的默认挂载选项
    			-U UUID: 修改UUID号;
    
    		dumpe2fs:
    			-h:查看超级块信息
      文件系统检测:
    		fsck: File System CheCk
    			fsck.FS_TYPE
    			fsck -t FS_TYPE
    				-a: 自动修复错误
    				-r: 交互式修复错误
    
    				Note: FS_TYPE一定要与分区上已经文件类型相同;
    
    		e2fsck:ext系列文件专用的检测修复工具
    			-y:自动回答为yes; 
    			-f:强制修复;
      

    3.3 文件系统挂载和卸载(mount umount):

    • 文件系统挂载原理:
      将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为称之为挂载;

    • 解除此关联关系的过程称之为卸载;

    • 把设备关联挂载点:Mount Point
      mount

    • 卸载时:可使用设备,也可以使用挂载点
      umount

    注意:挂载点下原有文件在挂载完成后会被临时隐藏;

    挂载方法:mount DEVICE MOUNT_POINT
    		mount:通过查看/etc/mtab文件显示当前系统已挂载的所有设备
    		mount [-fnrsvw] [-t vfstype] [-o options] device dir
    			device:指明要挂载的设备;
    				(1) 设备文件:例如/dev/sda5
    				(2) 卷标:-L 'LABEL', 例如 -L 'MYDATA'
    				(3) UUID, -U 'UUID':例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'
    				(4) 伪文件系统名称:proc, sysfs, devtmpfs, configfs
    			dir:挂载点
    				事先存在;建议使用空目录;
    				进程正在使用中的设备无法被卸载;
    
    			常用命令选项:
    				-t vsftype:指定要挂载的设备上的文件系统类型;
    				-r: readonly,只读挂载;
    				-w: read and write, 读写挂载;
    				-n: 不更新/etc/mtab; 
    				-a:自动挂载所有支持自动挂载的设备;(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载”功能)
    				-L 'LABEL': 以卷标指定挂载设备;
    				-U 'UUID': 以UUID指定要挂载的设备;
    				-B, --bind: 绑定目录到另一个目录上;
    
    			注意:查看内核追踪到的已挂载的所有设备:cat /proc/mounts
    
    			-o options:(挂载文件系统的选项)
    				async:异步模式;
    				sync:同步模式;
    				atime/noatime:包含目录和文件;
    				diratime/nodiratime:目录的访问时间戳
    				auto/noauto:是否支持自动挂载
    				exec/noexec:是否支持将文件系统上应用程序运行为进程
    				dev/nodev:是否支持在此文件系统上使用设备文件;
    				suid/nosuid:
    				remount:重新挂载
    				ro:
    				rw:
    				user/nouser:是否允许普通用户挂载此设备
    				acl:启用此文件系统上的acl功能
    
    				注意:上述选项可多个同时使用,彼此使用逗号分隔;
    					  默认挂载选项:defaults
    					  		rw, suid, dev, exec, auto, nouser, and async
      卸载命令:
    		# umount DEVICE
    		# umount MOUNT_POINT
    
    		查看正在访问指定文件系统的进程:
    			# fuser -v MOUNT_POINT
    
    		终止所有在正访问指定的文件系统的进程:
    			# fuser -km MOUNT_POINT

    3.4 交换分区以及资源查看命令 swapon free df du

    • 挂载交换分区:
    		启用:swapon
    			swapon [OPTION]... [DEVICE]
    				-a:激活所有的交换分区;
    				-p PRIORITY:指定优先级;
    		禁用:swapoff [OPTION]... [DEVICE]
    
    	内存空间使用状态:
    		free [OPTION]
    			-m: 以MB为单位
    			-g: 以GB为单位
    
    	文件系统空间占用等信息的查看工具:
    		df: 
    			-h: human-readable
    			-i:inodes instead of blocks
    			-P: 以Posix兼容的格式输出; 
    
    	查看某目录总体空间占用状态:
    		du:
    			du [OPTION]... DIR
    				-h: human-readable
    				-s: summary

    3.5 文件系统挂载的配置文件/etc/fstab

    
    要挂载的设备或伪文件系统 	挂载点 	文件系统类型  	挂载选项 	转储频率  	自检次序
    
    			要挂载的设备或伪文件系统:
    				设备文件、LABEL(LABEL="")、UUID(UUID="")、伪文件系统名称(proc, sysfs)
    
    			挂载选项:
    				defaults
    
    			转储频率:
    				0:不做备份
    				1:每天转储
    				2:每隔一天转储
    
    			自检次序:
    				0:不自检
    				1:首先自检;一般只有rootfs才用1;

    3.6 文件系统上的其它概念:

    	Inode: Index Node, 索引节点
    		地址指针:
    			直接指针:
    			间接指针:
    			三级指针:
    
    		inode bitmap:对位标识每个inode空闲与否的状态信息;
    
    	链接文件:
    		硬链接:
    			不能够对目录进行;
    			不能跨分区进行;
    			指向同一个inode的多个不同路径;创建文件的硬链接即为为inode创建新的引用路径,因此会增加其引用计数;
    
    		符号链接:
    			可以对目录进行;
    			可以跨分区;
    			指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减少目标文件inode的引用计数;
    
    		ln [-sv] SRC DEST
    			-s:symbolic link
    			-v: verbose
    
    	文件管理操作对文件的影响:
    		文件删除:
    		文件复制:
    		文件移动:
  • 相关阅读:
    Java基本数据类型
    Java入门
    JavaSE概述
    ORACLE中的自治事务
    JDWP Transport dt socket failed to initialize
    jinfo命令 Java Configuration Info
    mysql的bind-address设置为127 0 0 1,通过localhost连接访问不了
    与MQ通讯的完整JAVA程序
    Hadoop入门进阶步步高(三)-配置Hadoop
    GC Root
  • 原文地址:https://www.cnblogs.com/chacha51/p/13764901.html
Copyright © 2020-2023  润新知