这份文档,搞懂echo、cat、tee的使用
1.基础语法含义介绍
明确>和>>的区别
a. >是覆盖重定向
b. >> 是追加重定向
2.明确EOF文件结束符的用法
a. Here Document 是一种重定向方式,允许将多行文本作为命令的输入。
b. 语法如下
command << [OPTIONS] EOF
多行文本内容
EOF
基本用法(变量会被替换)
cat > file.txt << EOF
Hello, $USER!
当前目录:$PWD
EOF
结果:file.txt中会替换变量(如$USER、$PWD)
禁用变量替换(单引号包围 EOF)
cat > file.txt << 'EOF'
Hello, $USER!
当前目录:$PWD
EOF
结果:file.txt中保留$USER、$PWD的字面量。
3.结合tee、echo、cat等常见使用
a. tee常见使用
tee -a /home/shl/portainer_ui/compose.yaml << 'EOF'
version: "3"
services:
portainer:
image: portainer/portainer:latest
container_name: portainer
ports:
- "9000:9000"
volumes:
- /home/shl/portainer_ui/data:/data
- /var/run/docker.sock:/var/run/docker.sock
EOF
4.cat常见使用
cat >> file.txt << EOF
这是追加的内容
EOF
5.Echo 常见使用
echo "Hello" >> test.txt # 创建test.txt并写入"Hello"
echo "World" >> test.txt # 追加"World"到test.txt,内容变为"Hello\nWorld"
2.echo、cat、tee的区别
echo、cat、tee 是 Linux/Unix 系统中用于处理文本的三个基础命令,它们的核心功能和应用场景有明显区别:
1. echo:输出文本到标准输出(stdout)
核心功能:打印字符串或变量值到终端,或通过重定向保存到文件。
典型用法:
bash
echo "Hello World" # 输出到终端echo $HOME # 输出环境变量ech
特点:简单直接,适合单行文本输出或变量值展示。
2. cat:连接文件并输出到标准输出
核心功能:
查看文件内容:cat file.txt
合并文件:cat file1.txt file2.txt > merged.txt
创建文件:cat > new_file.txt(输入后按 Ctrl+D 结束)
典型用法:
cat file.txt # 显示文件内容cat -n file.txt # 显示带行号的内容cat file1.txt file2.txt # 合并并输出到终端
特点:专注于文件内容的读取和合并,不生成新内容。
3. tee:同时输出到标准输出和文件
核心功能:将输入复制到多个目的地(屏幕 + 文件),支持追加模式。
典型用法:
echo "内容" | tee file.txt # 覆盖写入文件并显示到终端echo "内容" | tee -a file.txt # 追加写入文件并显示到终端ls -l | tee output.log # 将命令输出保存到文件并显示
特点:适合需要实时查看处理结果并保存日志的场景。
3.对比总结

4.常见组合示例
创建配置文件:
echo "server: 127.0.0.1" > config.ini
实时监控命令输出并记录:
tail -f logs/app.log | tee -a analysis.log
这些命令常与管道(|)和重定向(>、>>)结合使用,以构建复杂的文本处理流程。
本文转自网络如有侵权,请联系删除。
互动话题:如果你想学习更多网安方面的知识和工具,可以看看以下题外话!
题外话
黑客&网络安全如何学习
如果你也对网路安全技术感兴趣,但是又没有合适的学习资源,我可以把私藏的网安学习资料免费共享给你们,来看看有哪些东西。
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我们和网安大厂360共同研发的的网安视频教程,内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种渗透技术,并且还有后期的CTF对抗、区块链安全等高阶技术。总共200多节视频,100多本网安电子书,最新学习路线图和工具安装包都有,不用担心学不全。


2980

被折叠的 条评论
为什么被折叠?



