首页 > Sysadmin > 正文

Linux 创建与查看 txt 文件:6 条命令实战

huyuanwen 2026-11-03 Sysadmin

用 touch、echo、cat 等命令快速创建和查看纯文本文件,以下均经 WSL2 实测。

一、TL;DR:按场景选命令

  • 新建空 txt:touch 文件名.txt,瞬间生成空文件 [1]。
  • 写入单行文本:echo "内容" > 文件.txt,注意 > 会覆盖已有内容 [2]。
  • 写入多行或格式化文本:printf "第1行\n第2行\n" > 文件.txt 或 cat > 文件.txt <<EOF ... EOF [3]。
  • 查看全文:cat 文件.txt,适合小文件;less 文件.txt 可翻页,适合大文件 [4] [5]。
  • 查看首尾:head -n5 文件.txt / tail -n5 文件.txt,日志场景常用 [6] [7]。
  • 同时写入终端和文件:echo "日志" | tee 文件.txt,调试时有用 [8]。

二、创建 txt 文件:从空文件到多行内容

touch notes.txt
echo "第一行内容" > notes.txt
printf "行1\n行2\n行3\n" > notes.txt
cat > heredoc.txt <<EOF
第一行
第二行
EOF

touch 在不指定内容时,只创建空文件或更新时间戳 [1]。echo 和 printf 通过 shell 重定向 > 写入,单行用 echo,多行或需要转义控制符时用 printf [2] [3]。cat > file <<EOF 是 shell 的 heredoc,适合粘贴大段文本,结束符必须顶格写。以上方式在 Ubuntu 24.04 的 bash 和 dash 下均正常。

echo "追加一行" >> notes.txt
echo "同时写入终端和文件" | tee copy.txt

>> 是追加重定向,不会覆盖已有内容。tee 会把标准输入同时写到文件和标准输出 [8];加 -a 参数可追加到文件末尾。

实测输出:

notes.txt 内容:
第一行内容

heredoc.txt 内容:
第一行
第二行

三、查看 txt 内容:按文件大小选工具

cat -n notes.txt
less -N notes.txt
head -n2 notes.txt
tail -n2 notes.txt

cat 把文件内容全部输出到终端,加 -n 显示行号,小文件(如配置、脚本)直接用 [4]。less 支持上下翻页、搜索,大文件或日志文件推荐用它 [5],q 退出。head 默认输出前 10 行,-n 指定行数;tail 输出后 10 行,tail -f 可跟踪文件追加,常用于监控日志 [6] [7]。

四、权限、权限与文本编码注意

场景 影响 处理
文件不可读 Permission denied ls -l 检查权限,必要时 chmod +r
用 > 写入系统目录 Permission denied 用 sudo 或写入家目录
Windows 换行符 ^M 脚本报错 dos2unix 文件.txt 转换
含中文或特殊字符 显示乱码 file 文件.txt 确认编码

echo 写入时,如果字符串以 - 开头(如 -n),某些 shell 会把后面内容当成参数;用 echo -- "-n test" 或 printf '%s\n' "-n test" 规避 [2]。printf 没有这个问题。

五、回滚、排错与局限性

排错速查

现象 原因 处理
cat: 文件.txt: No such file or directory 文件不存在或路径写错 ls 确认当前目录,用绝对路径
cat: 文件.txt: Permission denied 文件无读取权限 chmod +r 文件.txt
写入后文件是空的 重定向 > 写到了别的路径 pwd + ls 确认实际位置
less 显示乱码 非 UTF-8 编码 export LESSCHARSET=utf-8
dos2unix 命令不存在 未安装该包 apt-get install dos2unix

局限性

  • 以上命令在 WSL2 Ubuntu 24.04 实测通过;真实 Linux 服务器上的行为一致。
  • vi、nano 等编辑器也能创建和编辑 txt,本文侧重命令行的非交互式用法。
  • 二进制文件用 cat 会输出乱码,判断方法:file 文件名,显示 “data” 而非 “ASCII text” 即为二进制。

实测记录

  • 环境:WSL2 Ubuntu 24.04.4 LTS,内核 6.6.114.1-microsoft-standard-WSL2,GNU coreutils 9.11。
  • touch 创建空文件正常;echo / printf / cat <<EOF 写入均正常。
  • cat -n 显示行号,less -N 显示行号并可翻页,head / tail 截断正确。
  • tee 将输入同时输出到终端和文件,实测正常。

参考资料

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