扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1.磁盘与目录的容量
列出文件系统的整体磁盘使用量
(1)df命令
-a:列出所有的文件系统,包括系统特有的/proc等文件系统;
-k:以KBytes的容量显示各文件系统。
-m:以MBytes的容量显示各文件系统。
-h:以较以阅读的GBytes、MBytes、KBytes等格式自行显示,常用。
-H:1M=1000K取代1M=1024k的进位方式。
-T:连同该分区的文件系统名称(如“xfs”)也列出。
-i:不用磁盘容量显出,而以inode的数量来显示
[root@localhost ~]# df -hT #执行该命令
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 39G 4.2G 35G 11% /
devtmpfs devtmpfs 895M 0 895M 0% /dev
tmpfs tmpfs 911M 0 911M 0% /dev/shm
tmpfs tmpfs 911M 11M 901M 2% /run
tmpfs tmpfs 911M 0 911M 0% /sys/fs/cgroup
/dev/mapper/centos-home xfs 19G 33M 19G 1% /home
/dev/sda1 xfs 1014M 170M 845M 17% /boot
tmpfs tmpfs 183M 8.0K 183M 1% /run/user/42
tmpfs tmpfs 183M 0 183M 0% /run/user/0
[root@localhost ~]# df -h /etc #将/etc下可用的磁盘容量以易读的容量格式显示
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 39G 4.2G 35G 11% /
[root@localhost ~]# df -ih /etc #查询这个目录的可用inode数量
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/mapper/centos-root 20M 154K 19M 1% /
(2)du命令
评估文件系统的磁盘使用量(常用在推估目录所占容量)
选项:
-a:列出所有的文件与目录容量,默认仅统计目录下面的文件量而已。
-h:以较易读懂的容量格式(G/M)显示,常用。
-s:列出总量而已,而不列出每个个别的目录占用容量,常用。
-S:不包括子目录下的总计,与-s有点差别,不常用。
-k:以KBytes列出容量显示。
-m:以MBytes列出容量显示
常用参数
[root@localhost ~]# du -sh /etc #统计/etc目录的总用量
37M /etc
2.实体链接与符号链接
一般来说,使用 hard link 设置链接文件时,磁盘的空间与 inode 的数目都不会改变!
hard link 只是在某个目录下的 block 多写入一个关连数据而已,既不会增加 inode 也不会耗用 block 数量
(1)ln命令
作用:
创建链接,可以将之当成windows中的创建快捷方式。
软连接及硬链接的区别:
链接有软连接及硬链接之分,软连接就是Windows中创建了一个快捷方式,而硬链接则相当于直接复制了一份到指定位置。
二者区别:软连接占用空间小,硬链接占用空间大,当源文件不存在时,软连接也就跟着失效了,而硬链接则没事,它相当于一个完全独立的个体
选项:
-s:如果不加任何参数就进行链接,那就是创建的硬链接,而“-s”选项就是创建软连接。
-f:如果目标文件存在时,就主动的将目标文件直接移除后再创建。
示例
#软连接示例:
[root@localhost ~]# ln -s /etc/passwd /tmp/password #创建一个软连接
[root@localhost ~]# ls -ld /etc/passwd /tmp/password #查看源文件及链接文件
-rw-r--r--. 1 root root 2342 7月 14 22:46 /etc/passwd
lrwxrwxrwx 1 root root 11 8月 17 22:54 /tmp/password -> /etc/passwd
#可以看到链接文件的权限很大,但实际的权限以源文件为准
[root@localhost ~]# du -sh /etc/passwd /tmp/password
4.0K /etc/passwd
0 /tmp/password #可以看到软连接的文件大小基本可以忽略不计
#硬链接示例:
[root@localhost ~]# ln /etc/passwd /tmp/password2 #创建一个硬链接
#分别查看源文件和连接文件的大小
[root@localhost ~]# du -sh /etc/passwd
4.0K /etc/passwd
[root@localhost ~]# du -sh /tmp/password2
4.0K /tmp/password2
#可以看出来大小一样
[root@localhost ~]# ls -ld /etc/passwd /tmp/password2 #文件属性也一样
-rw-r--r--. 2 0 root 2277 8月 17 22:58 /etc/passwd
-rw-r--r--. 2 0 root 2277 8月 17 22:58 /tmp/password2
3.观察磁盘分区状态:
lsblk命令
列出系统上所有的磁盘列表
选项:
-d:仅列出磁盘本身,并不会列出该磁盘的分区数据。
-f:同时列出该磁盘内的文件系统。
-i:使用ASCII的线段输出,不使用复杂的编码(某些环境下很有用)。
-m:同时输出该设备在/dev下面的权限数据(rwx的数据)。
-p:列出该磁盘设备的完整文件名,而不是仅列出最后的名字。
-t:列出该磁盘设备的详细数据,包括磁盘阵列机制、预读写的数据量大小等
blkid命令
列出磁盘设备的UUID等参数
[root@localhost ~]# blkid #查询磁盘的UUID及文件系统
/dev/sda1: UUID="cfcc42fb-78c0-4bf6-84ec-bc3f52803d14" TYPE="xfs"
/dev/sda2: UUID="fLk953-Bcni-gHbP-E6Sq-F5o6-55pz-LScGyM" TYPE="LVM2_member"
/dev/mapper/centos-root: UUID="9693181b-8904-4ead-94d8-eb7638055f7a" TYPE="xfs"
/dev/mapper/centos-swap: UUID="c5c51833-e6a5-4223-b848-aa02d2128dfe" TYPE="swap"
/dev/mapper/centos-home: UUID="5a05f8d3-3211-401b-8f22-99ef3681777f" TYPE="xfs"
parted命令
列出磁盘的分区表类型与分区信息
[root@localhost ~]# parted /dev/sda print #列出/dev/sda磁盘的相关数据,需要加“print”参数
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 64.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
#下面是分区数据
Number Start End Size Type File system 标志
1 1049kB 1075MB 1074MB primary xfs 启动
2 1075MB 64.4GB 63.3GB primary lvm
gdisk命令
对磁盘进行分区等一系列改动操作,使用GPT模式进行分区,另一种模式是MBR分区格式,使用fdisk命令,两者分区时的操作大同小异
可以通过 fdisk -l 来列出当前系统中所有硬盘设备及其分区的信息
ID号对应的文件系统:
83:XFS
82:swap
86:NTFS
8e:LVM卷
Gdisk /dev/sda进入以后开始创建分区
* p 查看分区表
* n 创建分区 (p 是主分区 。e 是逻辑分区)
* m 可以查看各种指令得帮助信息
mkfs命令
对磁盘分区后,需要使用此命令进行格式化。
XFS 文件系统 mkfs.xfs
EXT4文件系统 mkfs.ext4
选项如下:
[root@localhost ~]# mkfs.xfs /dev/sdb1 #格式化此磁盘,将会输出磁盘的详细信息
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1310655 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5242619, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# grep 'processor' /proc/cpuinfo #查询CPU个数
processor : 0
#结果是只有一个CPU,可以设置相关参数,来优化文件系统的读写性能。
xfs_repair命令
对文件系统进行检验。
选项:
-f:后面跟的设备其实是个文件而不是实体设备。
-n:单纯检查并不修改文件系统的任何数据(检查而已)。
-d:通常用在单人维护模式下面,针对根目录(/)进行检查与修复的动作,很危险,不要随便使用。
fsck命令
常用于检查ext4文件系统并尝试修复出现的错误,通常只有身为 root 用户且文件系统出现问题时才会使用,否则,在正常状况下使用 fsck 命令,很可能损坏系统。另外,如果你怀疑已经格式化成功的硬盘有问题,也可以使用此命令来进行检查
使用 fsck 检查并修复文件系统是存在风险的,特别是当硬盘错误非常严重的时候,因此,当一个受损文件系统中包含了非常有价值的数据时,务必首先进行备份!
选项:
-a:自动修复文件系统,没有任何提示信息。
-r:采取互动的修复模式,在修改文件前会进行询问,让用户得以确认并决定处理方式。
-A:按照 /etc/fstab 配置文件的内容,检查文件内罗列的全部文件系统。
-t :文件系统类型 指定要检查的文件系统类型。
-C:显示检查分区的进度条。
-f:强制检测,一般 fsck 命令如果没有发现分区有问题,则是不会检测的。如果强制检测,那么不管是否发现问题,都会检测。
-y:自动修复,和 -a 作用一致,不过有些文件系统只支持 -y。
-D:针对文件系统下的目录进行最优化配置。
-b:后面接superblock的位置,一般用不到这个选项,但是如果你的uperblock因故障损毁时,通过这个参数即可利用文件系统内备份的superblock来尝试救援。一般来说,superblock备份在:1K block放在8193,2K block放在16384,4K block放在32768。
mount命令
挂载文件系统
挂载之前如下:(建议)
* 单一文件系统不应该被重复挂载在不同的挂载点(目录)中
* 单一目录不应该重复挂载多个文件系统
* 要作为挂载点得目录,理论上应该都是空目录
选项如下:
umount命令
卸载文件系统
选项:
-f:强制卸载,可用在类似网络文件系统(NFS)无法读取到的情况下。
-l:立刻卸载文件系统,比“-f”还强。
-n:不更新/etc/mtab情况下卸载。
系统挂载的一些限制:
设置开机自动挂载时,一些可以设置的参数
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流