文件系统
ln [option] SRC DST
option:
-s 软链接(默认是硬链接),windows的快捷方式就是软链接,只是windows有文件后缀
-v 显示详细信息
linux支持的文件系统类型:
ext2,ext3,ext4
reiserfs
xfs,jfs,(UNIX默认支持的文件系统,linux内核支持)
iso9660(光盘文件系统)
GFS2,OCFS2(集群文件系统)
NFS,CIFS(网络文件系统)
FAT,FAT32(VFAT),NTFS(windows文件系统)
扇区:物理上的最小存储单位,出厂时格式化(低级格式化),512bytes
第一个扇区(MBR):引导扇区(512bytes)
446:boot loader(程序代码)
64:磁盘分区表(每16byte可以标示一个分区,即一块硬盘只可以分64/16=4个分区)
2:分区的结束代码(程序代码)
16byte:
扩展分区:逻辑概念
再次分区 --> 逻辑分区
硬盘接口:
IDE,ATA 并行口 133Mbps USB2.0 480Mbps
SCSI(有自己独立的控制器,需要CPU控制的量很小,相当于IDE接口的1/10)并行口 320Mbps
SATA 串行口 SATA3 6Gbps
SAS 串行SCSI (服务器使用,速度比SATA快)
linux分区:
IDE:/dev/hda(第一口主),/dev/hdb(第一口从),/dev/hdc(第二口主)
SATA:/dev/sda
主分区(扩展分区):1-4
逻辑分区:5+
USB:/dev/sd
SCSI:/dev/sd
SAS:/dev/sd
高级格式化:在分区上创建文件系统(内核)
ext2:不支持日志功能
ext3:支持日志
格式化:
mkfs.ext3 等同于mkfs -t ext3
mke2fs
-j 创建成日志文件系统
-L 指定卷标
-b 指定磁盘块大小
-m 指定为管理员预留块的百分比(默认5%)
-i 指定inode的创建比例(不能小于磁盘块大小)
tune2fs
-l 显示超级块的信息 例如:tune2fs -l /dev/sda5
-L
-j
-m #
-c
-i #[d|m|w]
-o 设定文件系统默认挂载选项
dumpe2fs /dev/sda5 查看其超级块详细信息
e2label /dev/sda5查看卷标
e2label /dev/sda5 hello 修改卷标
blkid /dev/sda5 查看信息
mount:
格式:mount [option] DEVICE MOUNT_POINT
option:
-t 指定文件系统类型
-o 指定设备访问属性(rw,suid,dev,exec,auto,nouser,async这些都是默认属性)
remount重新挂载,例如:mount -o remount,rw /dev/sda5
loop挂载镜像文件
-r 相当于-o ro表示只读
-n 挂载时不往/etc/mtab中写入
-a 将写在/etc/fstab文件中支持自动挂载的文件挂载在挂载点上
umount:
格式:umount DEVICE或者umount MOUNT_POINT
fuser:用于查看正在访问文件的目录
-v
-k 杀死进程
-m 指定文件名(可以和-k一同使用,则-km)
虚拟内存:必须是独立的文件系统
格式:mkswap /dev/sda7 格式化swap分区
swapon -a同时启用标识为swap分区的虚拟内存
swapoff 关闭已启用的swap内存
dd:底层的复制命令
控制符:
if=
of=
bs=
count=
格式:
举例:dd if=/etc/issue of=/tmp/issue
dd if=/dev/sda of=/root/mbr.backup bs=512 count=1
dd if=/dev/zero of=/root/swap.vir bs=1M count=128 把文件模拟成虚拟交换分区
/etc/fstab文件格式:
字段:
1、设备:设备文件,LABEL= ,UUID=
2、挂载点:
3、文件系统类型:
4、挂载选型:多个选项间用逗号分隔
5、完全备份的频率:0全部备份,1每日完全备份,2,每隔一天完全备份
6、文件系统检测的次序(0-5):0表示不检测;1首先检测;2-5以此类推
RAID:(redundant array independent of disks)独立的冗余磁盘阵列
集成主板上的raid卡,称为控制器
独立的raid卡,称为适配器
raid自带的内存称为raid内存
raid卡电池给raid内存提供电源
级别:磁盘的不同组合方式
raid0:条带卷,速度是单块硬盘的N(硬盘数)倍,可靠性极差,临时文件目录可使用
raid1:镜像卷,写入性能未提高,读取性能提高,可靠性提升,一般用于安装操作系统
raid4:至少3块磁盘,校验码磁盘压力过大,因此一般不常用,使用raid5
raid5:至少3块硬盘,校验码在磁盘中轮流存放,不像raid4放一块硬盘
raid6:至少需要4块盘,raid5的升级,可以坏两块盘,但没raid5常用
raid10:至少4块盘,可以同时损坏磁盘数的一半,但不能是raid1的同一组磁盘
raid01:至少4块盘,可以同时损坏磁盘数的一半,但是raid0不能同时坏,没有raid10常用
raid50:raid5+raid1,举例同上
linux中软RAID:
由内核中的md模块实现,在/dev目录中会有/dev/md#设备,软raid可以是任意块设备,即也可以基于分区,RAID等创建
命令mdadm:mdadm [mode] <raiddevice> [options] <component-devices>
mode:
-C 创建RAID
-D 显示RAID的详细状态信息
-S 用于停止RAID设备
-A 用于装配RAID
options:
-l,--level= 指定级别
-n,--raid-devices 指定设备的个数
-c,--chunk= 指定大小,默认64k,必须是磁盘块的2的n次方倍
-a 创建时为--auto,添加时为--add
-r,--remove 移除
-f,--fault 标记为损坏硬盘
-x,指定空闲盘的个数
举例:mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sda{5,6}
mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sda{7,8}
mdadm -D /dev/md1
mdadm /dev/md1 -f /dev/sda8 指定/dev/md1中的/dev/sda8损坏
mdadm /dev/md1 -a /dev/sda9 将/dev/sda9假如/dev/md1中
mdadm -S /dev/md0 停掉/dev/md0
mdadm -A /dev/md0 /dev/sda{5,6}
mdadm -D --scan 扫描设备文件,并读取/etc/mdadm.conf配置文件,可以先mdadm -D --scan >> /etc/mdadm.conf
配置文件:/dev/mdadm.conf,此文件不存在,需要手动去创建
watch -n 1 'cat /proc/mdstat' 每隔一妙动态刷新一次过程
LVM磁盘管理:
卷dm: 设备文件在/dev/mapper/下
meta device:LVM(Logical Volume Manager)
PV:
pvcreate,pvdisplay,pvremove,pvs,pvmove
VG:
vgcreate,vgdisplay,vgs,vgreduce,vgextend,vgremove
LV:
lvcreate,lvdisplay,lvs,lvsreduce,lvextend,lvresize,lvremove
pE:
LE:
fsck,e2fsck:检测文件系统
文件系统的ACL:
lsattr:
chattr:
getfacl FILE查看文件的权限
setfacl 设定文件的ACL
格式:setfacl [options] id:MODE FILE_NAME
option:
-m 添加权限
-x:删除权限
setfacl -m u:USERNAME:MODE FILE
setfacl -x u:USERNAME FILE 删除权限
setfacl -m d:u:USERNAME:MODE FILE(d,创建默认的权限,一般是针对目录的)
setfacl -m m:MODE FILE
举例:setfacl a.txt查看a.txt的权限
setfacl -m m::r-- a.txt设置a.txt的掩码权限,不论给分配什么权限,都以mask权限为主
新建的分区必须在挂在时指定支持ACL:mount -o acl /dev/sdb1 /data