df
是一个常用的 Linux 命令,用于显示磁盘空间使用情况,以下是一个简单的 Python 脚本,实现了类似df
的功能:
import os import sys def get_disk_usage(path): st = os.statvfs(path) free = st.f_bavail * st.f_frsize total = st.f_blocks * st.f_frsize used = (st.f_blocks st.f_bfree) * st.f_frsize percent = (used / total) * 100 return total, used, free, percent def main(): if len(sys.argv) > 1: path = sys.argv[1] else: path = '/' total, used, free, percent = get_disk_usage(path) print(f"文件系统: {path}") print(f"总大小: {total / (1024 ** 3):.2f} GB") print(f"已使用: {used / (1024 ** 3):.2f} GB") print(f"可用空间: {free / (1024 ** 3):.2f} GB") print(f"使用率: {percent:.2f}%") if __name__ == "__main__": main()
这个脚本接受一个可选的命令行参数,表示要检查的目录(默认为根目录),它使用os.statvfs()
函数获取文件系统的状态信息,然后计算并输出总大小、已使用空间、可用空间和使用率。