测试开发技术网站
博客
设计
设计
开发
Python
测试
unittest
运维
Linux基础应用
CI/CD
CI/CD
数据库
数据库
云计算
云计算
云原生
云原生
爬虫
爬虫
数据分析
数据分析
人工智能
人工智能
登录
注册
Linux----tee命令详细使用方法
收藏本文
作者:redrose2100 类别: 日期:2022-12-15 12:54:38 阅读:772 次 消耗积分:0 分
[【原文链接】Linux----tee命令详细使用方法](http://devops-dev.com/article/507) # 一、tee命令使用方法 ## 1.1 tee命令的功能 tee命令主要作用就是将标准出中的内容在控制台显示的同时并写入文件,如果直接使用重定向符,则只会写入文件,而不会在控制台显示,tee就是为了解决这个问题的。 ## 1.2 tee命令的选项参数 * -a: 通过追加的方式将内容写入文件 # 二、tee命令使用实例 ## 2.1 将标准输出的内容同时向控制台和文件中写入,同时写文件时将文件内容清空后写入 如下,通过echo打印hello world字符串,同时将hello world字符串写入demo.txt文件,执行两遍后,demo.txt中仍然是hello world字符串,因此此时tee是将文件清空后再写入。 ```bash [root@jiayi-centos-01 opt]# echo "hello world" | tee demo.txt hello world [root@jiayi-centos-01 opt]# cat demo.txt hello world [root@jiayi-centos-01 opt]# echo "hello world" | tee demo.txt hello world [root@jiayi-centos-01 opt]# cat demo.txt hello world [root@jiayi-centos-01 opt]# ``` ## 2.2 将标准输出的内容同时向控制台和文件中写入,同时写文件时在文件后追加 如下,通过-a参数即可做到。 ```bash [root@jiayi-centos-01 opt]# echo "hello world" | tee -a demo.txt hello world [root@jiayi-centos-01 opt]# cat demo.txt hello world [root@jiayi-centos-01 opt]# echo "hello world" | tee -a demo.txt hello world [root@jiayi-centos-01 opt]# cat demo.txt hello world hello world [root@jiayi-centos-01 opt]# ``` ## 2.3 典型应用:将配置文件内容导出到另外一个文件,并且去掉注释 如下,查看 /etc/ssh/ssh_config 配置文件如下 ```bash [root@jiayi-centos-01 opt]# cat /etc/ssh/ssh_config # $OpenBSD: ssh_config,v 1.30 2016/02/20 23:06:23 sobrado Exp $ # This is the ssh client system-wide configuration file. See # ssh_config(5) for more information. This file provides defaults for # users, and the values can be changed in per-user configuration files # or on the command line. # Configuration data is parsed as follows: # 1. command line options # 2. user-specific file # 3. system-wide file # Any configuration value is only changed the first time it is set. # Thus, host-specific definitions should be at the beginning of the # configuration file, and defaults at the end. # Site-wide defaults for some commonly used options. For a comprehensive # list of available options, their meanings and defaults, please see the # ssh_config(5) man page. # Host * # ForwardAgent no # ForwardX11 no # RhostsRSAAuthentication no # RSAAuthentication yes # PasswordAuthentication yes # HostbasedAuthentication no # GSSAPIAuthentication no # GSSAPIDelegateCredentials no # GSSAPIKeyExchange no # GSSAPITrustDNS no # BatchMode no # CheckHostIP yes # AddressFamily any # ConnectTimeout 0 # StrictHostKeyChecking ask # IdentityFile ~/.ssh/identity # IdentityFile ~/.ssh/id_rsa # IdentityFile ~/.ssh/id_dsa # IdentityFile ~/.ssh/id_ecdsa # IdentityFile ~/.ssh/id_ed25519 # Port 22 # Protocol 2 # Cipher 3des # Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc # MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160 # EscapeChar ~ # Tunnel no # TunnelDevice any:any # PermitLocalCommand no # VisualHostKey no # ProxyCommand ssh -q -W %h:%p gateway.example.com # RekeyLimit 1G 1h # # Uncomment this if you want to use .local domain # Host *.local # CheckHostIP no Host * GSSAPIAuthentication yes # If this option is set to yes then remote X11 clients will have full access # to the original X11 display. As virtually no X11 client supports the untrusted # mode correctly we set this to yes. ForwardX11Trusted yes # Send locale-related environment variables SendEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES SendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT SendEnv LC_IDENTIFICATION LC_ALL LANGUAGE SendEnv XMODIFIERS [root@jiayi-centos-01 opt]# ``` 这里面有许多的注释,现在想将里面有效的配置内容导出为文件,同时在控制台显示 ```bash [root@jiayi-centos-01 opt]# grep -v '^#' /etc/ssh/ssh_config | tee demo.txt Host * GSSAPIAuthentication yes ForwardX11Trusted yes SendEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES SendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT SendEnv LC_IDENTIFICATION LC_ALL LANGUAGE SendEnv XMODIFIERS [root@jiayi-centos-01 opt]# cat demo.txt Host * GSSAPIAuthentication yes ForwardX11Trusted yes SendEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES SendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT SendEnv LC_IDENTIFICATION LC_ALL LANGUAGE SendEnv XMODIFIERS [root@jiayi-centos-01 opt]# ```
始终坚持开源开放共享精神,同时感谢您的充电鼓励和支持!
版权所有,转载本站文章请注明出处:redrose2100, http://blog.redrose2100.com/article/507
上一篇:
Linux----uniq命令详细使用方法
下一篇:
Linux----diff命令详细使用方法
搜索
个人成就
出版书籍
《Pytest企业级应用实战》
测试开发技术全栈公众号
测试开发技术全栈公众号
DevOps技术交流微信群
加微信邀请进群
常用网站链接
开源软件洞察
云原生技术栈全景图
Python语言官方文档
Golang官方文档
Docker官方文档
Jenkins中文用户手册
Scrapy官方文档
VUE官方文档
Harbor官方文档
openQA官方文档
云原生开源社区
开源中国
Kubernetes中文文档
Markdown语法官方教程
Kubernetes中文社区
Kubersphere官方文档
BootStrap中文网站
JavaScript中文网
NumPy官方文档
Pandas官方文档
GitLink确实开源网站
数据库排名网站
编程语言排名网站
SEO综合查询网站
数学加减法练习自动生成网站
Kickstart Generator
文章分类
最新文章
最多阅读
特别推荐
×
Close
登录
注册
找回密码
登录邮箱:
登录密码:
图片验证码:
注册邮箱:
注册密码:
邮箱验证码:
发送邮件
注册邮箱:
新的密码:
邮箱验证码:
发送邮件