磁盘有机械硬盘(HDD)和固态硬盘(SSD)之分node
机械硬盘即传统的普通硬盘,主要有:盘片,磁头,盘片转轴以及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。linux
固态硬盘,简称固盘,是用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元组成。centos
当前比较主流的硬盘接口有SATA,SAS,PCIE,FC缓存
fdisk,parted,gdisk,blkid,tune2fsapp
Ext3/4 XFS文件系统解析oop
cp测试
1、分配一个未使用的inode号码,在inode表中添加一个新的项目 2、在目录的表中建立一个dentry,关联文件名和inode号码 3、把数据复制到新文件中
mvui
若是目标和源文件在相同的文件系统: 1、使用新文件名新建dentry 2、删除带有原文件名的dentry 除时间标记之外对inode没有影响,对磁盘上的数据没有影响,不会移动数据,若是目标是不一样的文件系统,mv就是复制和删除
rmcentos7
1、减小连接的数目,从而释放inode号码,这个号码能够被重新利用 2、把数据块放在可用的空间列表中 3、删除dentry 4、数据没有被实际的删除,可是当数据块被另外一个文件使用时,原有的数据就会被覆盖
软链接vs硬连接spa
硬连接 1、两个文件名必须都在一个文件系统上(共享一个inode号码,inode表对于某个文件系统是独特的)。inode号码和inode必须在同一个文件系统 2、没法使用ln命令建立目录的额外硬连接 3、文件的连接数会增长,删除文件连接数会减1,在删除全部名称以前,数据一直存在 ln filename likename
符号连接(软链接) 1、有本身的inode号码:符号连接和源文件不一样的单独文件 2、长列表(ls -l)的第一个字母是l:符号连接是一种特殊类型的文件,他有着本身的文件类型标记 3、符号连接的权限不重要,实际上指的是文件的权限 4、符号连接的内容是它指向文件的路径名 5、若是删除了原文件,则数据丢失(找不到连接地址,更像是一个快捷方式) ln -s /PATH/filename likename 使用readlink b.txt 读取连接中的路径
挂载是咱们访问文件系统的方法,。文件系统中的数据须要挂载才可以访问。
挂载点是一个目录,为咱们提供访问文件系统的接口
使用mount命令咱们能够看到当前的系统都挂在了那些文件系统 [root@localhost ~]# mount sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=917596k,nr_inodes=229399,mode=755) securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000) tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755) tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755) cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agen t=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime) cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory) cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb) cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio, net_cls)cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio) cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu) cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer) cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event) cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids) cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset) cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices) configfs on /sys/kernel/config type configfs (rw,relatime) /dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota) selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime) systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=36,pgrp=1,timeout=0,minproto=5 ,maxproto=5,direct,pipe_ino=13846)mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel) debugfs on /sys/kernel/debug type debugfs (rw,relatime) hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel) nfsd on /proc/fs/nfsd type nfsd (rw,relatime) /dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime) tmpfs on /run/user/42 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=186708k,mode=700,uid=42 ,gid=42)tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=186708k,mode=700,uid= 1000,gid=1000)fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime) gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,gr oup_id=1000)tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=186708k,mode=700) [root@localhost ~]#
咱们可使用mount命令手动挂载文件系统(man mount)
没有空盘暂时不作演示,具体百度
挂载状态下的文件系统若是再也不使用或者须要在已挂载文件系统的挂载点下挂载其它文件系统,须要先卸载正在挂载状态的文件系统(umount)
fuser
-v 那些进程在占用挂载点
-km 结束占用挂载点的进程
挂载光盘 mount -t iso9660 /dev/cdrom /mnt 挂载镜像文件 mount -o loop /tmp/RHEL6.iso /mnt 挂载USB设备 mount -t vfat /dev/sdNX /mnt
有时候咱们但愿某个文件系统可以在开机的时候,自动挂载到某一个挂载点,这个时候咱们可使用/etc/fstab 注意:将新文件系统添加到/etc/fstab时,应该使用blkid肯定其UUID并经过UUID进行挂载,不能按照设备名称挂载 centos7在/etc/fstab中使用UUID,而不是LABEL,以减小命名冲突的可能性
不作测试。。
[root@localhost ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Mon Aug 20 19:02:30 2018 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos-root / xfs defaults 0 0 UUID=1b37695f-7fff-4261-a64e-3ed5a912d97e /boot xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 [root@localhost ~]#
fstab每行有6各部分(设备的UUID,挂载点,文件系统类型,挂载选项,dump,fsck)
编辑fstab时要注意,若是不慎将里面的内容写错,可能致使在启动的时候出现异常,不作测试,遇到问题本身百度(不报错就说明正常)
交换分区是磁盘空间的一个术语,用于扩展系统内存,一般是作额外特殊磁盘分区。正如分区须要格式化文件系统,而后才能用户存储文件和目录同样,交换分区最初也必须进行这样的格式化。
简单介绍。。详情百度
建立swap交换分区(请百度,很简单)
1、将分区变成pv [root@localhost ~]# pvcreate /dev/sda2 2、建立卷组vg001,并将pv假如vg001 [root@localhost ~]# vgcreate vg001 /dev/sda2 3、从vg001组建立逻辑卷lv001,大小80M [root@localhost ~]# lvcreate -L 80M -n lv001 vg001 4、建立文件系统 [root@localhost ~]# mkfs.xfs /dev/vg001/lv001 5、开机挂载 [root@localhost ~]# blkid /dev/vg001/lv001
因为时间关系一部分没测试,抱歉,遇到问题能够留言或者自行百度