如何才能在Linux 查看到文件详细信息?

在 Linux 里有一句经典名言:一切皆文件

普通文件、目录、硬件设备、进程、内存、网络、内核状态…… 统统以文件形式暴露出来。

对运维来说,读懂这些 “文件”,就等于读懂整个系统

下面按类别讲清楚:能拿到什么信息 + 最高效的命令,直接用于日常排障。


一、普通文件:能看到什么?

可获取信息

  • 文件内容、大小
  • 权限、属主、属组
  • 创建 / 修改 / 访问时间
  • inode、硬链接数
  • 文件真实类型(文本 / 二进制 / 脚本)

高效命令

ls -lh      # 权限、大小、时间(日常首选)
stat        # 最完整信息:inode、三大时间
file        # 识别真实类型
md5sum      # 校验是否被篡改

二、目录文件:能看到什么?

可获取信息

  • 目录下所有文件列表
  • 目录权限、深度、占用空间
  • 子目录数量、文件数量

高效命令

ls -lh      # 列表查看
du -sh      # 查看目录真实占用
du -ah --max-depth=1  # 一级目录大小
tree        # 树形结构(直观)

三、设备文件:能看到什么?

可获取信息

  • 硬盘、U 盘、显卡、声卡、终端
  • 虚拟设备(null、zero、random)
  • 读写权限、设备号

高效命令

lsblk           # 磁盘设备一览
fdisk -l        # 磁盘分区
cat /dev/sda    # 直接访问磁盘(谨慎)
lspci           # PCI 设备
lsusb           # USB 设备

四、进程文件(/proc/PID):运维核心!

这是 Linux 最强大的 “文件”,所有进程信息都在这里

可获取信息

  • PID、启动用户、状态
  • 命令行参数、工作目录
  • 环境变量(排错神器)
  • 打开的文件、端口、内存、CPU
  • 线程、堆栈、信号状态

高效命令

ps aux                # 进程列表
top / htop            # 实时监控
pidof nginx           # 快速拿 PID
pgrep fcitx5          # 过滤进程

# 查看进程环境变量(你之前输入法冲突就靠它)
cat /proc/$$/environ | xargs -0 -n1

# 查看进程打开的文件/端口
lsof -p PID
lsof -i :80

# 查看进程启动命令
cat /proc/PID/cmdline | tr '\0' ' '

五、内核与系统信息(/proc 下的虚拟文件)

可获取信息

  • CPU 信息、内存信息
  • 系统版本、启动时间
  • 中断、负载、挂载点
  • 网络连接、路由、ARP

高效命令

cat /proc/cpuinfo     # CPU
cat /proc/meminfo     # 内存
cat /proc/loadavg     # 系统负载
cat /proc/version     # 内核版本
uptime                # 运行时间 + 负载
free -h               # 内存使用
df -h                 # 挂载与磁盘

六、网络信息:也是文件!

可获取信息

  • TCP/UDP 连接
  • 监听端口
  • 路由表、网卡状态
  • 网络统计

高效命令

ss -tulnp            # 比 netstat 快得多(运维首选)
ip addr              # 网卡 IP
ip route             # 路由
cat /proc/net/tcp    # 直接读网络文件

七、用户与权限信息

可获取信息

  • 用户、UID、GID
  • 密码、登录终端
  • 在线用户、登录记录

高效命令

id                  # 当前用户信息
who                 # 谁在线
w                   # 详细在线情况
last                # 登录历史
getfacl             # 扩展权限
lsattr              # 隐藏属性(不可删、不可改)

八、日志文件:系统的 “黑匣子”

可获取信息

  • 系统启动日志
  • 服务崩溃、报错
  • 登录失败、安全事件
  • 应用运行异常

高效命令

dmesg               # 内核日志
journalctl -xe      # systemd 日志
tail -f /var/log/syslog   # 实时监控
tail -f /var/log/nginx/error.log

九、总结一张表:看什么 → 用什么命令

你想查的信息最高效命令
文件权限、大小、时间ls -lh、stat
文件真实类型、是否损坏file
进程 PID、状态ps、top、pidof、pgrep
进程环境变量 / 配置冲突cat /proc/PID/environxargs -0 -n1
端口占用、网络连接ss -tulnp、lsof
内存、CPU、系统负载free -h、top、cat /proc/cpuinfo
磁盘、挂载、目录大小df -h、du -sh、lsblk
系统日志、服务报错journalctl -xe、tail -f
用户、在线、权限id、who、w、getfacl

一句话总结

Linux 一切皆文件,本质就是:

硬件、进程、网络、内存、日志、权限,全都能通过 “读文件” 拿到信息。

运维多年才真正发现:高效的不是记很多命令,而是知道哪类信息对应哪类文件,用最简单的命令直接拿到想要的信息。

本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。
       本系列的一部分

Linux服务器

Post 31 of 31

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress