设备文件:
b:块文件,按块为单位,随机访问的设备,如磁盘
c:字符文件,按字符为单位,访问有先后次序的线性设备,如键盘
ls -l查看设备文件,原显示大小的列改显示为
主设备号(major number)
用于标识设备类型
次设备号(minor number)
用于标识同一种类型的不同设备
mknod 创建块或字符设备文件
mknod [OPTION]... NAME TYPE [MAJOR MINOR]
-m MODE 指定权限
例子:mknod -m 640 mydev c 66 0
硬盘设备的设备文件名:
IDE,ATA:hd
SATA:sd
SCSI:sd
USB:sd
a,b,c,...来区别同一种类型下的不同设备
IDE:
第一个IDE口:主、从
/dev/hda, /dev/hdb
第二个IDE口:主、从
/dev/hdc, /dev/hdd
sda, sdb, sdc, ...
hda:
hda1: 第一个主分区
hda2:
hda3:
hda4:
hda5: 第一个扩展分区
查看当前系统识别了几块硬盘:
fdisk -l [/dev/to/some_device_file]
管理磁盘分区
fdisk /dev/sda
p:显示当前硬件的分区,包括没保存的改动
n:创建新分区
e:扩展分区
p:主分区
d:删除一个分区
w:保存退出
q:不保存退出
t:修改分区类型
l:显示所支持的所有类型
重新读取分区表
partprobe
文件系统管理
cat/proc/filenames:用于显示当前内核所支持的文件系统
mkfs:make filesystem 创建文件系统
mkfs [OPTIONS] 设备文件
-t FSTYPE
mkfs -t ext2 = mkfs.ext2
nkfs -t ext3 = mkfs.ext3
专门管理ext系列文件系统
mke2fs
-j:穿件ext3类型的文件系统
-b BLOCK_SIZE:指定块大小,默认是4096
-L LABEL:指定分区卷标,有了卷标以后,可以用卷标来引用分区,例如用卷标来mount
-m #(不用加%):指定预留给超级用户的块数百分比,-m 2表示预留百分之二
-i #:用于指定为多字节的空间创建一个inode,默认为8192,数值应该为块大小的2^n倍
-N #:指定inode的个数
-F:强制创建文件系统;默认文件系统已经挂载了就不可以重新创建
-E:用户指定额外文件系统属性,如stride=#(chunk/BLOCK_SIZE),对RAID0和RAID5有作用, 加快运作
blkid 设备文件:用于查看磁盘设备的相关属性,包括UUID、TYPE和LABEL
e2label:用于查看或定义卷标
e2label 设备文件:查看卷标
e2label 设备文件 卷标名:设定卷标
tune2fs:修改文件系统的相关属性,不用重新格式化,无损修改
tune2fs [OPTION] 设备文件
-j:不损害原有数据,将ext2升级为ext3,但ext3不能降级为ext2
-L LABEL:设定或修改卷标
-m:调整预留百分比,用法和mke2fs一样,但不用重新格式化
-r:直接设定预留块数,不能与-m一起使用
-c #:指定挂载次数达到#次之后进行自检,0或-1代表关闭此功能
-i #:指定没挂载使用多少天之后进行自检,0或-1代表关闭此功能
-l:显示超级快中的信息
dumpe2fs:显示超级块中的信息和每块组的信息
dumpe2fs [OPTION] 设备文件
-h:只显示超级块中的信息
fsck:检查并修复Linux文件系统
-t FSTYPE:指定文件系统类型
-a:不询问自动修复
e2fsck:专用于检查并修复ext类文件系统
-f:强制检查
-p:自动修复,默认选项
挂载/卸载文件系统
挂载:将新的文件系统关联至当前根文件系统
卸载:将某文件系统与当前文件系统的关联关系予以移除
mount:挂载
mount [OPTION] [-o OPTION] 设备 挂载点
设备:
设备文件
卷标:LABEL=""
UUID:UUID=""
挂载点:目录
要求:
1.没有被其他进程使用
2.目录得事先存在
3.目录中原有的文件将会被暂时隐藏,卸载后才可以重新显示出来
:不跟参数,显示当前系统已经改在的设备和挂载点
-a:表示挂载/etc/fstab文件中的所有文件系统
-n:默认情况下,mount命令每挂载一个设备,都会把挂载的设备信息保存至/etc/mtab文件, 使用-n选项则不保存
-t FSTYPE:指定正在挂载设备上的文件系统的类型;不使用此选项时,mount会自动调用blkid 命令获取对应文件系统的类型
-r:只读挂载,挂载光盘时常用此项
-w:读写挂载
-o:指定额外的挂载选项,也即指定文件系统启动的属性
remount:重新挂载,可不用指定挂载点
ro:只读挂载
rw:读写挂载
loop:挂载本地回环设备,即挂载ISO镜像
挂载完成后,要通过挂载点访问对应文件系统上的文件
umount:卸载某文件系统
umount 设备
umount 挂载点
-n:
挂载注意事项:挂载的设备或挂载点没有被进程使用
fuser:验证进程正在使用的文件或套接字文件
-v:查看某文件上正在运行的进程
-km:终止正在访问此目录的所有进程
fuser -km /path/to/directory
创建交换分区
free:显示内存和交换分区的情况,包括total、used、free等
-m:默认单位是KB,选用-m后单位改为MB
步骤:
①fdisk命令中,n创建分区
②fdisk命令中,t调整分区类型为82
③创建交换分区:
1.mkswap 设备文件
-L LABEL
2.swapon 设备文件:启用交换分区
-a:启用所有的定义在/etc/fdtab文件中的交换设备
3.swapoff 设备文件:关闭交换分区
回环设备:
loopback,使用软件来模拟实现硬件
dd:通过指定数据源和数据存储目标来创建特定的文件
if=数据来源
of=数据存储目标
bs=#:块大小,如bs=1M
count=#:块个数
seek=#:创建数据文件时,跳过的空间大小
dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1 备份sda的MBR到u盘
dd if=/mnt/usb/mbr.backup of=/dev/sda bs=512 count=1 还原MBR
dd if/dev/zero of=/var/swapfile bs=1M count=1024 创建一个1G大小的空文件
用mount挂载iso镜像、特定文件等
mount -o loop 文件路径 MOUNT_POINT
mount -o loop /var/swapfile /mnt/loopback1
FS的配置文件/etc/fstab
OS在初始时,会自动挂载此文件中定义的每个文件系统
每一行的格式:
要挂载的设备:/dev/sda5
挂载点:/mnt/test
文件系统类型:ext3
挂载选项:defaults
转存频率(每多少天做一次完全备份):0
文件系统检测次序(只有根可以是1):0
练习:
1、创建一个5G的分区,文件系统为ext3,卷标为MYDATA,块大小为1024,预留管理空间为磁盘分区的3%,要求开机后可以自动挂载至/data目录,并且自动挂载的设备要使用卷标进行引用;
2、创建一个本地回环文件/var/swaptemp/swapfile来用于swap,要求大小为512MB,卷标为SWAP-FILE,且开机自动启用此交换设备;
# mkdir /var/swaptemp
# dd if=/dev/zero of=/var/swaptemp/swapfile bs=1M count=512
# mkswap LABLE=SWAP-FILE /var/swaptemp/swapfile
在/etc/fstab文件中追加
/var/swaptemp/swapfile swap swap defaults 0 0
3、上述第一问,如何让其自动挂载的同时启用ACL功能;
/etc/fstab
LABEL=‘MYDATA‘ /data ext3 defaults,acl 0 0
原文地址:http://chenqiyi.blog.51cto.com/8125763/1679970