首页 > Sysadmin > 正文

Linux 打开文件:选对命令再动手

huyuanwen 2026-11-01 Sysadmin

同样都是『打开文件』,cat、less、nano、vim、file、xdg-open 各有适用场景。本文按实际使用顺序排列,帮你快速定位该用哪个命令。

先判断:file 命令识类型

执行任何打开动作之前,先用 file 确认文件类型,避免把二进制文件当成文本编辑,也避免用错解码方式打开编码异常的文件[5]。

file /etc/passwd
file ~/downloads/unknown.bin

file 基于文件头魔数(magic number)判断,不依赖扩展名,比 ls 或 cat 更可靠。

直接查看:cat 与 less

确认是纯文本后,根据文件大小选工具。小文件(几十行内)用 cat 直接输出到终端[1];大文件或需前后翻页时用 less,它只加载当前屏,内存占用远低于 cat[2]。

# 小文件:带行号输出
cat -n /etc/hostname

# 大文件:分页查看,按空格下翻,q 退出
less /var/log/syslog

cat 适合脚本管道和一次性输出,less 适合交互式阅读。不要在未知大小的文件上无脑 cat。

快速编辑:nano

需要快速改几行配置时,nano 是最快上手的编辑器。底部会显示快捷键提示,无需记忆模式切换[4]。

nano /etc/fstab

进入后直接输入即可编辑,Ctrl+O 写入,Ctrl+X 退出。适合临时改配置、写小脚本。

深度编辑:vim

需要正则替换、多文件跳转、宏录制时,vim 仍是服务器上最可靠的选择[3]。

vim /etc/nginx/nginx.conf

首次进入按 i 进入插入模式,编辑完按 Esc 再输入 :wq 保存退出。习惯需要几天,但远程 SSH 场景下几乎不会找不到可用编辑器。

图形打开:xdg-open

在桌面环境或 WSL 里调用系统默认程序打开文件,用 xdg-open。它会根据 MIME 类型自动匹配浏览器、图片查看器或文档阅读器[6]。

xdg-open report.pdf
xdg-open https://milds.cn

在纯 SSH 或无桌面会话下,xdg-open 会报错退出码 3,此时需回退到上述命令行工具。本条目基于文档核查,当前 WSL 环境未安装 xdg-utils,尚未实际执行。

排错速查

现象 原因 处理
cat 输出跑马灯 文件过大或二进制 改用 less 或 file 先判断类型
nano 报错 Permission denied 文件属于 root 加 sudo nano
vim 卡在正常模式 误按了 Ctrl+S 按 Ctrl+Q 恢复
xdg-open 退出码 3 无桌面会话或 xdg-utils 缺失 回退到 file+对应命令行工具

—

状态:草稿待审。 xdg-open 在 WSL 中未实际执行(xdg-utils 未安装),其余命令已在 Ubuntu 24.04 WSL 验证通过。


参考资料

文中主要命令已在 WSL Ubuntu(24.04)实测并核对其在 Debian 系与通用发行版的文档口径。