硬链接:ln filename newfilename
硬链接就相当于文件备份,但是此文件与源文件使用通一inode值并不占用任何空间,修改源文件或者链接文件都会同步修改,删除掉源文件则对链接文件不影响,反之也是一样。
软连接 ls -n filename newfilename
软连接就相当于创建一个快捷方式,链接文件会占用一个新的inode值,修改链接等同修改源文件,反之一样,删除源文件链接文件失效,删除链接文件则不影响源文件。
ls -li filename :可查看文件inode值
stat filename(可跟多个文件): 查看block快及inode值休息
磁盘原理及详解
硬盘设备是由大量的扇区组成,每个扇区容量512字节,第一扇区最为重要,保存主引导记录和分区表信息。分别是主引导记录占用446,分区表占用64字节,结束符2字节,其中分区表中每记录一个信息占用16字节,最多只有四个分区,为了解决分区数不够,衍生出扩展分区。扩展分区可以用来创建逻辑分区,逻辑分区最多128个,硬盘的最小存储单位叫做Sector(扇区),每个Sector储存512字节。操作系统在读取硬盘的时候,不会逐个Sector的去读取,这样效率非常低,为了提升读取效率,操作系统会一次性连续读取多个Sector,即一次性读取多个Sector称为一个Block(块)。由多个Sector组成的Block是文件存取的最小单位。Block的大小常见的有1KB、2KB、4KB,Block在Linux中常设置为4KB,即连续八个Sector组成一个Block。
硬盘分区分别分成(superblock)、inode、block
Superblock:文件系统的整体信息,包含inode值和block块的使用的大小、剩余大小,相关的格式及信息。(记录inode和block的对应关系)
Inode:记录文件的属性和信息,同时会把文件的存储的位置生成一个编号(inode值:记录数据的存储位置(block在分区中所在位置))
Block块是存储文件的内容。因为每个 inode 与 block 都有编号,而每个文件都会占用一个 inode ,inode 内则有文件数据放置的 block 号码。如果能够找到文件的 inode,就可以找到该文件所放置数据的block号码,从而读取该文件内容。
磁盘命令详解
fdisk -l :可查看全部磁盘的分区及未分区状况
parted -l :也可以查看全部磁盘信息
lsblk :也可以查看磁盘分区信息
df -h :可查看所有磁盘挂载大小使用情况 -i可查看磁盘inode值
分区工具 fdisk
fdisk 磁盘名称 回车
输入m是分区命令帮助
n创建一个分区 回车
输入p为主分区e为拓展分区 回车
1-4分区表输入后回车
然后在次回车 输入+给的磁盘空间大小后回车
p打印分区磁盘信息
w保存
d加分区表数字删除分区(删除扩展分区即以下的逻辑分区也都删除了)
分区工具 parted (硬盘大于2T使用)
parted 磁盘名称 回车
mklabel 加类型(gpt,msdos)可修改类型
mkpart (primary主分区/logical逻辑分区)分区表(1-4)大小(1000=1G)第二次分区要从起始到结束给出大小(1001 2001)
实列:
mkpart primary 1 1000
mkpart logical 5 1001 2001
p打印分区磁盘信息
rm 瓷盘分区号 删除磁盘
w保存
非交互式分区
parted 磁盘名称 mkpart (primary主分区/logical逻辑分区)分区表(1-4)大小 回车
parted /dev/sdb mkpart primary 1 0 10G
parted 磁盘名称 rm 分区表号 删除分区
parted /dev/sdb rm 1
磁盘分完区后需要格式化才能挂载
mkfs.ext4 磁盘名称
mkfs.ext4 /dev/sdb1
磁盘挂载
mount 磁盘名称 挂载文件目录名称
mount /dev/sdb1 /mnt
取消挂载
umount 挂载文件目录名称
umount /mnt
格式化好挂载后需要添加到/etc/rc,local文件设置开机自启挂载
磁盘挂载实列
swap分区
dd:代表创建一个新的文件
if:指定一个文件来源(/dev/zero是文件来源源)
of:文件存储位置
bs:大小
count:个数
mkswap /root/test :格式化
swapon /root/test:挂载
free -hm查看swap分区数据