在 Debian 12 中,用 cat 写入文件主要有下面几种方式:
1. 覆盖写入新文件
cat > 文件名
回车后进入输入状态,输入内容,按 Ctrl + D 结束并保存。
示例:
cat > test.txt Hello Debian 12 This is a test. Ctrl + D
2. 追加内容到已有文件
cat >> 文件名
同样输入内容,按 Ctrl + D 结束。不会覆盖原内容,而是追加到末尾。
cat >> test.txt Second line Ctrl + D
3. 用 Here Document 一次性写入多行
cat << 'EOF' > 文件名 第一行 第二行 第三行 EOF
-
'EOF'加单引号:内容中的$变量不会被展开。 -
不加引号
EOF:会展开变量。
示例:
cat << 'EOF' > config.conf name=debian version=12 EOF
4. 需要 root 权限时
不能直接 sudo cat > /etc/xxx,因为重定向是由当前 shell 处理的。应该用 sudo tee:
sudo tee /etc/example.conf > /dev/null << 'EOF' 内容1 内容2 EOF
追加则加 -a:
sudo tee -a /etc/example.conf > /dev/null << 'EOF' 追加内容 EOF
5. 从其他命令输出写入
命令 | cat > 文件名
例如:
ls -l | cat > list.txt
总结
-
覆盖:
cat > 文件 -
追加:
cat >> 文件 -
多行脚本:
cat << 'EOF' > 文件 -
需要权限:用
sudo tee,不要直接sudo cat >。
