在终端查看文本文件内容,可与管道和重定向组合。
type 是 CMD 内部命令,把文本文件的字节输出到控制台,适合快速看配置、日志和脚本。它可以一次列出多个文件,也可以配合 more 分页、配合 findstr 过滤,或用 > 把多个文件拼接到一起。
边界:type 不分页、不加行号、不做语法高亮,也不适合看二进制文件;二进制里的控制字符会直接送到终端,可能留下乱码甚至改变终端状态。查看大文件用 more 或 findstr,需要行号用 findstr /n "^",需要按行筛选用 findstr。多个文件会首尾相接输出,中间没有文件名分隔。
Windows 10/11 与 Server 版本行为基本一致,差异主要在编码:控制台默认代码页(如 936、437)与文件编码不一致时会乱码,UTF-8 文件可先 chcp 65001。PowerShell 中 type 是 Get-Content 的别名,按对象和编码处理文件,type file | more 的分页行为也与 CMD 不同。
# 1. 查看一个日志文件的全部内容
C:\> type C:\logs\app.log
# 2. 长文件分页查看,按空格翻页、q 退出
C:\> type C:\logs\app.log | more
# 3. 把多个文本片段拼接成一个文件
C:\> type C:\temp\a.txt C:\temp\b.txt > C:\temp\all.txt
# 4. 创建一个空文件(重定向会覆盖原内容)
C:\> type nul > C:\temp\empty.txt
# 5. 给配置文件加行号后再看,便于定位
C:\> findstr /N "^" C:\temp\config.ini
# 6. 先过滤错误行,避免整份日志刷屏
C:\> type C:\logs\app.log | findstr /I "error"
# 7. UTF-8 文件在当前代码页下乱码时,切到 65001 再查看
C:\> chcp 65001 & type C:\temp\utf8.txt
type 看 exe、zip、图片等二进制文件会输出控制字符,终端可能乱码或卡住;改用 certutil -dump 或十六进制工具。chcp 切代码页,或用 PowerShell Get-Content -Encoding 指定编码。type *.txt 会把匹配到的文件按通配符展开顺序直接拼接,没有文件名分隔,出问题很难定位;逐个 type 或先加标题。> 会覆盖目标文件,>> 才追加;拼接多个文件时目标不要与源同名。type 会刷满控制台并拖慢终端;用 more 分页,或 findstr /n//c 先缩小范围。type 是 Get-Content 别名,会把内容当对象处理,和 CMD 的字节输出不完全一样;脚本跨 shell 时要分别测试。合上页面,先回答,再展开对照。
type 能分页、显示行号或搜索关键字吗?分别该用什么?type C:\temp\a.txt C:\temp\b.txt > all.txt 的结果不好排查来源?type 显示乱码时,先检查什么?more,行号用 findstr /n "^",搜索用 findstr。chcp 或改用 PowerShell 指定编码。
小程序版
微信扫码,随时查命令