百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

Linux 查看目录及文件大小命令:du

bigegpt 2024-10-12 06:05 12 浏览

前言

fdisk,Linux磁盘分区必学

不得不谈一谈的Linux命令:df , fdisk的好基友

前面我们通过两篇文章(有兴趣的可以点击上方链接查看),分别介绍过 fdisk命令 和它的好基友 df命令,一个是偏向磁盘区分管理,另一个偏向分区挂载点查看


那么今天我们来看看他俩的另外一个小兄弟 —— du命令

简介

du 命令,全称是 disk usage,用来展示磁盘使用量的统计信息,会对目录进行递归统计。

说白了,最大的作用,就是看目录大小的。

参数

-a或-all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或–total 除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。
-D或–dereference-args 显示指定符号连接的源文件大小。
-h或–human-readable 以K,M,G为单位,提高信息的可读性。
-H或–si 与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。
-k或–kilobytes 以1024 bytes为单位。
-l或–count-links 重复计算硬件连接的文件。
-L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
-m或–megabytes 以1MB为单位。
-s或–summarize 仅显示总计,即当前目录的大小。
-S或–separate-dirs 显示每个目录的大小时,并不含其子目录的大小。
-x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。
–exclude=<目录或文件> 略过指定的目录或文件。
–max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
–help 显示帮助。
–version 显示版本信息。
-sh *显示当前目录内文件夹及文件的大小。

我们在使用时如果忘记了,可以通过在命令行输入 du --hellp 查看

实例演示准备

这里我们在 /root/demo 目录下,直接 git 一下鸿蒙的 “显示Button各种加载状态” 库,省去一个个建立测试目录和文件的时间。

鸿蒙开源项目Gitee地址:https://gitee.com/explore/harmony?order=recommend


此时我们用 ls -lah 命令看看目录的情况:


从上图中,可以看到,文件都已经 clone 下来了,但是ls结果只能看到具体文件大小,比如这里面的README.md文件,有8.6K。

文件准备好了,下面我们进行实操

:关于ls命令,有兴趣的同学,可以参考:关于 Linux 最常用命令ls(没有之一)的介绍

实例演示

、直接使用 du



从上面两张图片可以看出,du这玩意是把所有文件(包括目录、文件)全部显示了,而且是不分层级地显示。

好是,全也

但是,如果你的文件不是三两个,目录不是一两级,就不建议这么做了。

因为很明显,这玩意儿没法看

实际运行中,也很少会这么干,除非是文件真的少,或者进入到某个最后一级的目录中查看。

这里只是为了大家能够有直观、深刻的印象特地给大家演示一下。

、查看当前总目录大小:du -sh


得到当前目录总大小7.8M的结果

-s 是summarize, 总计的意思。

后面紧跟的h同样是人性化显示的意思,如果不加,就会直接显示字节数


、查看当前目录下,每个目录的大小:du --max-depth=1 -h ./


这里需要配合 --max-depth 控制深度来统计每个目录的大小。

总结

工作中最常用的就是这两种,其他的有需要可以结合手册参数使用。

相关推荐

Go语言泛型-泛型约束与实践(go1.7泛型)

来源:械说在Go语言中,Go泛型-泛型约束与实践部分主要探讨如何定义和使用泛型约束(Constraints),以及如何在实际开发中利用泛型进行更灵活的编程。以下是详细内容:一、什么是泛型约束?**泛型...

golang总结(golang实战教程)

基础部分Go语言有哪些优势?1简单易学:语法简洁,减少了代码的冗余。高效并发:内置强大的goroutine和channel,使并发编程更加高效且易于管理。内存管理:拥有自动垃圾回收机制,减少内...

Go 官宣:新版 Protobuf API(go pro版本)

原文作者:JoeTsai,DamienNeil和HerbieOng原文链接:https://blog.golang.org/a-new-go-api-for-protocol-buffer...

Golang开发的一些注意事项(一)(golang入门项目)

1.channel关闭后读的问题当channel关闭之后再去读取它,虽然不会引发panic,但会直接得到零值,而且ok的值为false。packagemainimport"...

golang 托盘菜单应用及打开系统默认浏览器

之前看到一个应用,用go语言编写,说是某某程序的windows图形化客户端,体验一下发现只是一个托盘,然后托盘菜单的控制面板功能直接打开本地浏览器访问程序启动的webserver网页完成gui相关功...

golang标准库每日一库之 io/ioutil

一、核心函数概览函数作用描述替代方案(Go1.16+)ioutil.ReadFile(filename)一次性读取整个文件内容(返回[]byte)os.ReadFileioutil.WriteFi...

文件类型更改器——GoLang 中的 CLI 工具

我是如何为一项琐碎的工作任务创建一个简单的工具的,你也可以上周我开始玩GoLang,它是一种由Google制作的类C编译语言,非常轻量和快速,事实上它经常在Techempower的基准测...

Go (Golang) 中的 Channels 简介(golang channel长度和容量)

这篇文章重点介绍Channels(通道)在Go中的工作方式,以及如何在代码中使用它们。在Go中,Channels是一种编程结构,它允许我们在代码的不同部分之间移动数据,通常来自不同的goro...

Golang引入泛型:Go将Interface「」替换为“Any”

现在Go将拥有泛型:Go将Interface{}替换为“Any”,这是一个类型别名:typeany=interface{}这会引入了泛型作好准备,实际上,带有泛型的Go1.18Beta...

一文带你看懂Golang最新特性(golang2.0特性)

作者:腾讯PCG代码委员会经过十余年的迭代,Go语言逐渐成为云计算时代主流的编程语言。下到云计算基础设施,上到微服务,越来越多的流行产品使用Go语言编写。可见其影响力已经非常强大。一、Go语言发展历史...

Go 每日一库之 java 转 go 遇到 Apollo?让 agollo 来平滑迁移

以下文章来源于GoOfficialBlog,作者GoOfficialBlogIntroductionagollo是Apollo的Golang客户端Apollo(阿波罗)是携程框架部门研...

Golang使用grpc详解(golang gcc)

gRPC是Google开源的一种高性能、跨语言的远程过程调用(RPC)框架,它使用ProtocolBuffers作为序列化工具,支持多种编程语言,如C++,Java,Python,Go等。gR...

Etcd服务注册与发现封装实现--golang

服务注册register.gopackageregisterimport("fmt""time"etcd3"github.com/cor...

Golang:将日志以Json格式输出到Kafka

在上一篇文章中我实现了一个支持Debug、Info、Error等多个级别的日志库,并将日志写到了磁盘文件中,代码比较简单,适合练手。有兴趣的可以通过这个链接前往:https://github.com/...

如何从 PHP 过渡到 Golang?(php转golang)

我是PHP开发者,转Go两个月了吧,记录一下使用Golang怎么一步步开发新项目。本着有坑填坑,有错改错的宗旨,从零开始,开始学习。因为我司没有专门的Golang大牛,所以我也只能一步步自己去...