* [1、查看linux服务器的文件系统的磁盘空间占用情况:df \[option\] file](https://www.kancloud.cn/chunyu/php_basic_knowledge/1882204#span_stylefontsize15px1linuxdf_option_filespan_1)
* [2、显示指定的目录或文件所占用的磁盘空间:du \[option\] file](https://www.kancloud.cn/chunyu/php_basic_knowledge/1882204#span_stylefontsize15px2du_option_filespan_89)
* [3、列出所有指定的块设备的信息:lsblk \[选项\] \[ ...\]](https://www.kancloud.cn/chunyu/php_basic_knowledge/1882204#span_stylefontsize15px3lsblk___span_151)
# 1、查看linux服务器的文件系统的磁盘空间占用情况:df \[option\] file
> **说明**:
>
> * 可以用来查看磁盘已被使用多少空间和还剩余多少空间
> * 如果没有文件名参数,则显示所有当前已挂载文件系统的磁盘空间使用情况。
> * 在默认情况下,磁盘空间是以**1KB**为单位进行显示的,但是,如果**POSIXLY\_CORRECT**环境变量被设置为true,这种情况下默认使用**512字节**为单位显示
>
> **option:**
>
> * \-a 显示所有的文件系统,包括虚拟文件系统
> * \--block-size=SIZE 指定块的大小,比如1k,1m等
> * \-h 用常见的格式显示出大小(例如:1K 234M 2G)
> * \-H 同上,但是这里的1k等于1000字节而不是1024字节
> * \-i 用信息索引点代替块表示使用状况
> * \-k 指定块大小等于1024字节来显示使用状况,相当于`--block-size=1k`
> * \-l 只显示本地文件系统使用状况
> * \-m 以指定块大小等于1048576字节(1M)来显示使用状况,相当于`--block-size=1m`
> * \--no-sync 在取得使用信息前禁止调用同步 (default)
> * \-P 使用POSIX格式输出
> * \--sync 在取得使用信息前调用同步
> * \-t 只显示指定类型(TYPE)的文件系统
> * \-T 输出每个文件系统的类型
> * \-x, --exclude-type=TYPE 只显示指定类型(TYPE)之外的文件系统.
> * \-v 输出该命令的帮助信息并退出
>
> **输出列说明:**
>
> * Filesystem:代表该文件系统时哪个分区,所以列出的是设备名称。
> * 1K-blocks:说明下面的数字单位是1KB,可利用`-h`或`-m`来改变单位大小,也可以用`-B`来设置。
> * Used:已经使用的空间大小。
> * Available:剩余的空间大小。
> * Use%:磁盘使用率。如果使用率在90%以上时,就需要注意了,避免磁盘容量不足出现系统问题,尤其是对于文件内容增加较快的情况(如/home、/var/spool/mail等)。
> * Mounted on:磁盘挂载的目录,即该磁盘挂载到了哪个目录下面。
~~~
[root@izwz91quxhnlkan8kjak5hz /]# df // 默认情况
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/vda1 41151808 10770136 28268240 28% /
devtmpfs 931032 0 931032 0% /dev
tmpfs 941108 1796 939312 1% /dev/shm
tmpfs 941108 432 940676 1% /run
tmpfs 941108 0 941108 0% /sys/fs/cgroup
tmpfs 188224 0 188224 0% /run/user/0
[root@izwz91quxhnlkan8kjak5hz /]# df /home/ // 指定文件夹或文件
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/vda1 41151808 10770212 28268164 28% /
[root@izwz91quxhnlkan8kjak5hz /]# df --block-size 1m // 或者:df -B 1m 指定单位大小 以1m为单位
文件系统 1M-块 已用 可用 已用% 挂载点
/dev/vda1 40188 10511 27613 28% /
devtmpfs 910 0 910 0% /dev
tmpfs 920 2 918 1% /dev/shm
tmpfs 920 1 919 1% /run
tmpfs 920 0 920 0% /sys/fs/cgroup
tmpfs 184 0 184 0% /run/user/0
[root@izwz91quxhnlkan8kjak5hz /]# df -h // 以已读形式显示
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 40G 11G 27G 28% /
devtmpfs 910M 0 910M 0% /dev
tmpfs 920M 1.8M 918M 1% /dev/shm
tmpfs 920M 432K 919M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
tmpfs 184M 0 184M 0% /run/user/0
[root@izwz91quxhnlkan8kjak5hz /]# df -t ext4 // 指定文件类型
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/vda1 41151808 10763884 28274492 28% /
[root@izwz91quxhnlkan8kjak5hz /]# df -T // 输出每个文件系统的类型
文件系统 类型 1K-块 已用 可用 已用% 挂载点
/dev/vda1 ext4 41151808 10763872 28274504 28% /
devtmpfs devtmpfs 931032 0 931032 0% /dev
tmpfs tmpfs 941108 1800 939308 1% /dev/shm
tmpfs tmpfs 941108 432 940676 1% /run
tmpfs tmpfs 941108 0 941108 0% /sys/fs/cgroup
tmpfs tmpfs 188224 0 188224 0% /run/user/0
[root@izwz91quxhnlkan8kjak5hz /]# export POSIXLY_CORRECT=true
[root@izwz91quxhnlkan8kjak5hz /]# echo $POSIXLY_CORRECT
true
[root@izwz91quxhnlkan8kjak5hz /]# df // POSIXLY\_CORRECT为true时,默认512B展示
文件系统 类型 512B-块 已用 可用 已用% 挂载点
/dev/vda1 ext4 82303616 21529552 56547200 28% /
devtmpfs devtmpfs 1862064 0 1862064 0% /dev
tmpfs tmpfs 1882216 3600 1878616 1% /dev/shm
tmpfs tmpfs 1882216 864 1881352 1% /run
tmpfs tmpfs 1882216 0 1882216 0% /sys/fs/cgroup
tmpfs tmpfs 376448 0 376448 0% /run/user/0
[root@izwz91quxhnlkan8kjak5hz /]# df -T -x ext4 // 排除ext4类型文件
文件系统 类型 512B-块 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1862064 0 1862064 0% /dev
tmpfs tmpfs 1882216 3600 1878616 1% /dev/shm
tmpfs tmpfs 1882216 864 1881352 1% /run
tmpfs tmpfs 1882216 0 1882216 0% /sys/fs/cgroup
tmpfs tmpfs 376448 0 376448 0% /run/user/0
~~~
# 2、显示指定的目录或文件所占用的磁盘空间:du \[option\] file
> **说明:**
>
> * 默认单位是1024字节,若设置了环境变量POSIXLY\_CORRECT为true,则是以512字节为单位
>
> **option:**
>
> * \-a, --all 显示对所有文件的统计,而不只是包含子目录。
> * \-b, --bytes 输出以字节为单位的大小,替代缺省时1024字节的计数单位
> * \--block-size=size 输出以块为单位的大小,块的大小为 size 字节
> * \-c, --total 除了列出文件和目录的容量大小外,列出总的容量大小
> * \-D, --dereference-args 引用命令行参数的符号连接。但不影响其他的符号连接。 这对找出象 /usr/tmp 这样的目录的磁盘使用量有用, /usr/tmp 等通常是符号连接。 译住:例如在 /var/tmp 下建立一个目录test, 而/usr/tmp 是指向 /var/tmp 的符号连接。du /usr/tmp 返回一项 /usr/tmp , 而 du - D /usr/tmp 返回两项 /usr/tmp,/usr/tmp/test
> * \--exclude=pattern 在递归时,忽略与指定模式相匹配的文件或子目录。模式 可以是任何 Bourne shell 的文件 glob 模式
> * \-h, --human-readable 以人们易读的方式(KB,MB,GB)显示容量大小
> * \-k 和`--block-size=1k`类似,以KB为单位。
> * \-m 和`--block-size=1m`类似,以MB为单位
> * \-l, --count-links 统计所有文件的大小,包括已经被统计过的
> * \-L, --dereference 引用符号连接(不是显示连接点本身而是连接指向的文件或 目录所使用的磁盘空间)
> * \--max-depth=n 只输出命令行参数的小于等于第 n 层的目录的总计。 --max-depth=0的作用同于-s选项,如果`--max-depth=1`,就相当于`du -s 目录/*`
> * \-s, --summarize 对每个参数只显示总和
> * \-S, --separate-dirs 单独报告每一个目录的大小,不包括子目录的大小
> * \-x, --one-file-system 忽略与被处理的参数不在同一个文件系统的目录
> * \-X file, --exclude-from=file 除了从指定的文件中得到模式之外与 --exclude 一样。 模式以行的形式列出。如果指定的文件是'-',那么从标准输 入中读出模式
~~~
[root@izwz91quxhnlkan8kjak5hz test]# du // 默认情况下,只统计目录的容量大小
8 ./dir2/dir3
16 ./dir2
8 ./dir1
28 .
[root@izwz91quxhnlkan8kjak5hz test]# du -a // 统计目录和文件的容量大小
4 ./dir2/test.txt
4 ./dir2/dir3/test3
8 ./dir2/dir3
16 ./dir2
4 ./dir1/sed.txt
8 ./dir1
28 .
[root@izwz91quxhnlkan8kjak5hz test]# du -c dir2/ // 指定文件夹,并在最下面显示总的容量大小
8 dir2/dir3
16 dir2/
16 总用量
[root@izwz91quxhnlkan8kjak5hz test]# du -b dir2 // 输出以字节为单位的大小
5096 dir2/dir3
9227 dir2
[root@izwz91quxhnlkan8kjak5hz test]# du -B 1k dir2 // 同:du --block-size 1k dir2,指定单位大小
8 dir2/dir3
16 dir2
[root@izwz91quxhnlkan8kjak5hz test]# du -h dir2 // 以易读的方式展示
8.0K dir2/dir3
16K dir2
[root@izwz91quxhnlkan8kjak5hz test]# du -ah --max-depth=1 // 通过指定递归深度方式
4.0K ./file
16K ./dir2
8.0K ./dir1
32K .
[root@izwz91quxhnlkan8kjak5hz test]# du -ah * | sort -rh // 查看目录下所有文件的大小并按照大小排序
16K dir2
8.0K dir2/dir3
8.0K dir1
4.0K file
4.0K dir2/test.txt
4.0K dir2/dir3/test3
4.0K dir1/sed.txt
~~~
# 3、列出所有指定的块设备的信息:lsblk \[选项\] \[ ...\]
> * \-a, --all 打印所有设备
> * \-b, --bytes 以字节为单位而非易读的格式来打印 SIZE
> * \-d, --nodeps 不打印从属设备(slave)或占位设备(holder)
> * \-D, --discard 打印时丢弃能力
> * \-e, --exclude 根据主设备号排除设备(默认:内存盘)
> * \-I, --include 只显示有指定主设备号的设备
> * \-f, --fs 输出文件系统信息
> * \-h, --help 使用信息(此信息)
> * \-i, --ascii 只使用 ascii 字符
> * \-m, --perms 输出权限信息
> * \-l, --list 使用列表格式的输出
> * \-n, --noheadings 不打印标题
> * \-o, --output 输出列
> * \-p, --paths 打印完整设备路径
> * \-P, --pairs 使用 key=“value” 输出格式
> * \-r, --raw 使用原生输出格式
> * \-s, --inverse 反向依赖
> * \-t, --topology 输出拓扑信息
> * \-S, --scsi 输出有关 SCSI 设备的信息
> * \-h, --help 显示此帮助并退出
> * \-V, --version 输出版本信息并退出
~~~
// 以树状列出所有块设备
[root@izwz91quxhnlkan8kjak5hz command]# lsblk -a
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
└─vda1 253:1 0 40G 0 part /
// 输出权限信息
[root@izwz91quxhnlkan8kjak5hz command]# lsblk -m
NAME SIZE OWNER GROUP MODE
vda 40G root disk brw-rw----
└─vda1 40G root disk brw-rw----
// 输出文件系统信息
[root@izwz91quxhnlkan8kjak5hz command]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
vda
└─vda1 ext4 eb448abb-3012-4d8d-bcde-94434d586a31 /
// 以列表格式列出设备,而不是默认的树状格式
[root@izwz91quxhnlkan8kjak5hz command]# lsblk -nl
vda 253:0 0 40G 0 disk
vda1 253:1 0 40G 0 part /
// 指定块设备查看权限信息
[root@izwz91quxhnlkan8kjak5hz command]# lsblk -m /dev/vda1
NAME SIZE OWNER GROUP MODE
vda1 40G root disk brw-rw----
~~~
- 第一章 PHP基础
- PHP介绍
- 如何理解PHP是弱类型语言
- 超全局变量
- 字符串处理函数
- 常用数组函数
- 文件处理函数
- 常用时间函数
- 日历函数
- 常用url处理函数
- 易混淆函数区别(面试题常见)
- 时间戳
- 第二章 PHP进阶
- PSR规范
- RESTFUL规范
- 面向对象
- 三大基本特征和五大基本原则
- 访问权限
- static关键字
- static
- 静态变量与普通变量
- 静态方法与普通方法
- const关键字
- final关键字
- abstract关键字
- self、$this、parent::关键字
- 接口(interface)
- trait关键字
- instanceof关键字
- 魔术方法
- 构造函数和析构函数
- 私有属性的设置获取
- __toString()方法
- __clone()方法
- __call()方法
- 类的自动加载
- 设计模式详解
- 关于设计模式的一些建议
- 工厂模式
- 简单工厂模式
- 工厂方法模式
- 抽象工厂模式
- 区别和适用范围
- 策略模式
- 单例模式
- HTTP
- 定义
- 特点
- 工作过程
- request
- response
- HTTP状态码
- URL
- GET和POST的区别
- HTTPS
- session与cookie
- 排序算法
- 冒泡排序算法
- 二分查找算法
- 直接插入排序算法
- 希尔排序算法
- 选择排序算法
- 快速排序算法
- 日期相关的类
- DateTimeInterface接口
- DateTime类
- DateTimeImmutable类
- DateInterval类
- DateTimeZone类
- DatePeriod类
- format参数格式
- DateInterval的format格式化参数
- 第三章 PHP框架
- ThinkPHP框架
- tp3.2
- tp5.0
- CodeIgniter框架
- CodeIgniter 3
- CodeIgniter 4
- 第四章 数据库
- MYSQL
- 事务(重点)
- 索引
- 存储过程
- 触发器
- 视图
- 导入导出数据库
- 优化mysql数据库的方法
- MyISAM与InnoDB区别
- 外连接、内连接的区别
- 物理文件结构
- 第五章 LNMP
- LNMP环境搭建
- 搭建方法
- 配置文件目录
- 服务器管理系统
- 宝塔(Linux)
- 一键安装包LNMP1.5
- LNMP1.5:添加、删除站点
- LNMP1.5:php多版本切换
- LNMP1.5 部署 thinkphp项目
- Operation not permitted解决方法
- Nginx
- Nginx的产生
- 正向代理和反向代理
- 负载均衡
- Linux常用命令
- 目录与文件相关命令
- 目录操作命令
- 文件编辑命令
- 文件查看命令
- 文件查找命令
- 文件权限命令
- 文件上传下载命令
- 用户和群组相关命令
- 用户与用户组的关系
- 用户相关的系统配置文件
- 用户相关命令
- 用户组相关命令
- 压缩与解压相关命令
- .zip格式
- .tar.gz格式
- .gz格式
- 查看系统版本
- cpuinfo详解
- meminfo详解
- getconf获取系统信息
- 磁盘空间相关命令
- 查看系统负载情况
- 系统环境变量
- 网络相关命令
- ip命令详解
- ip命令格式详解
- ip address命令详解
- ip link命令详解
- ip rule命令详解
- ip route命令详解
- nslookup命令详解
- traceroute命令详解
- netstat命令详解
- route命令详解
- tcpdump命令详解
- 系统进程相关命令
- ps命令详解
- pstree命令详解
- kill命令详解
- 守护进程-supervisord
- 性能监控相关命令
- top命令详解
- iostat命令详解
- pidstat命令详解
- iotop命令详解
- iftop命令详解
- 定时任务相关命令
- ssh登录远程主机
- ssh口令登录
- ssh公钥登录
- ssh带密码登录
- ssh端口映射
- ssh配置文件
- ssh安全设置
- 历史纪录
- history命令详解
- linux开启操作日志记录
- 第六章 拓展
- 大流量解决方案
- git
- git与svn的区别
- git原理
- git初始化本地仓库-https
- git初始化仓库-ssh
- composer安装与使用
- 消息队列
- PHP-CURL
- phpExcel的安装与使用
- 第七章 缓存
- redis
- redis的数据类型和应用场景
- redis持久化
- RDB持久化
- AOF持久化
- 第八章 常见网络攻击类型
- CSRF攻击
- XSS攻击
- SQL注入
- Cookie攻击
- 第九章 项目经验
- 图片上传项目实例
- 原生php上传方法实例
- base64图片流
- tp5的上传方法封装实例
- 多级关系的递归查询
- 数组转树结构
- hinkphp5.1+ajax实现导出Excel
- JS 删除数组的某一项
- 判断是否为索引数组
- ip操作
