设为首页 加入收藏

TOP

Linux 硬盘存储和文件系统介绍(七)
2023-07-23 13:36:26 】 浏览:91
Tags:Linux 储和文
备是否插入了系统中。

例如:查看usb设备信息:

# usbutils工具包
root@ubuntu1804:~# lsusb 
Bus 001 Device 008: ID 0930:6544 Toshiba Corp. TransMemory-Mini / Kingston DataTraveler 2.0 Stick (2GB)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

image

7、du和df使用说明

du:disk usage。一般是用来查看目录或指定文件的大小

选项:

-h               # 自动使用合适的单位进行显示,默认单位是kb
-s               # 显示指定目录或文件的总大小
--exclude=/path  # 用于排除指定的文件或目录

例如:

# 查看整个系统的大小,但不统计/sys和/proc这连个虚拟文件系统
    root@ecs-1746-0001:~# du -sh  --exclude='/proc' --exclude='/sys' /
    23G	/


# 统计某个目录下目录文件的大小 
    # 需要进入待统计的目录
    root@ecs-1746-0001:~# cd DeploySystem-Ubuntu-20.04/

    root@ecs-1746-0001:~/DeploySystem-Ubuntu-20.04# du -sh */ | sort -rh
    2.1G	packages/
    5.6M	lib/
    3.1M	phplib/
    156K	conf/
    48K	include/
    16K	job/
    4.0K	SourceCode/

# */通配符表示所有子目录

# 统计某个目录下每个文件的大小 
    # 1. 进入该目录
    root@ecs-1746-0001:~# cd DeploySystem-Ubuntu-20.04/
    # 2. 进行统计
    root@ecs-1746-0001:~/DeploySystem-Ubuntu-20.04# du -ah --exclude='{'.','..'}'  */   | sort -rh | more

    # --exclude='{'.','..'}'表示不统计.和..文件 
    # */通配符表示所有子目录

df:disk free,主要用来查看挂载了的文件系统情况。

注意:df看到的文件系统中真实占用的空间大小,而非表面上的空间大小。因为文件系统本身就有元数据,所以即使是刚创建的干净文件系统,也会占用一定的空间

选项:

-h:自动使用合适的单位进行数据的显示
-T:显示文件系统的类型

例如:

root@ubuntu1804:~# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs  954M     0  954M   0% /dev
tmpfs          tmpfs     198M   11M  187M   6% /run
/dev/sda5      ext4       58G  4.2G   51G   8% /
tmpfs          tmpfs     986M     0  986M   0% /dev/shm
tmpfs          tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs          tmpfs     986M     0  986M   0% /sys/fs/cgroup
/dev/sda1      ext4      922M   80M  780M  10% /boot
tmpfs          tmpfs     198M     0  198M   0% /run/user/1000
tmpfs          tmpfs     198M     0  198M   0% /run/user/0

df和du统计信息不相同的情况:

  • df > du的情况:

当把文件删除了,但是空间并没有被释放(有进程再使用这个文件,删除了这个文件不会马上释放空间)时候,使用df看到的数据比du统计的大。即:df>du

例如:

# 创建要给1G大小的文件
root@ubuntu1804:~# dd if=/dev/zero of=./a.txt bs=1G count=1
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.23766 s, 868 MB/s


# 
root@ubuntu1804:~# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda5      ext4       58G  5.2G   50G  10% /
/dev/sda1      ext4      922M   80M  780M  10% /boot

root@ubuntu1804:~# du -sh /
5.2G	/

# 在另一个窗口使用vim打开这个文件
root@ubuntu1804:~# vim a.txt

# 在本窗口删除该文件
root@ubuntu1804:~# rm -rf a.txt 

# 使用lsof查看,发现a.txt这个文件被vim进程使用,所以删除了文件没有释放空间
root@ubuntu1804:~# lsof | grep delete
vim     22197    root    3r    REG      8,5 1073741824    3673208 /root/a.txt (deleted)

# 再次统计大小
root@ubuntu1804:~# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda5      ext4       58G  5.2G   50G  10% /
/dev/sda1      ext4      922M   80M  780M  10% /boot

root@ubuntu1804:~# du -sh /
4.2G	/
  • df < du的情况:

当某个目录文件挂载到其他设备了的时候(多个设备空间的组合),这就是所说的文件系统重叠时候。即df < du

例如:

# /dev/sda5分区挂载到/根目录下,显示已经用了4.2G空间
root@ubuntu1804:~# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda5      ext4       58G  4.2G   51G   8% /
/dev/sda1      ext4      922M   80M  780M  10% /boot

# 使用du工具统计根目录大小也是4.2G
root@ubuntu1804:~# du -sh / 
4.2G	/

# 将sdb1分区挂载到/xx下
root@ubuntu1804:~# mount /dev/sdb1 /xx
# 创建要给1G大小的文件
root@ubuntu1804:~# dd if=/dev/zero of=/xx/a.txt bs=1G count=1
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 10.6664 s, 101 MB/s

# 再次使用du统计/的大小已经变为了5.2G
root@ubuntu1804:~# du -sh /
5.2G

# 使用df查看 仍然是4.2G
root@ubuntu1804:~# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
/de
首页 上一页 4 5 6 7 下一页 尾页 7/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇在Windows系统的基础上安装Ubuntu.. 下一篇CentOS7-RHCE服务----DNS

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目