当前位置: 首页 > news >正文

Shell学习笔记---重定向输入、输出(原创)

声明:本文仅作学习研究使用,多数语句都是为了介绍语法而构造的。

重定向输入、输出示例
$cat         #cat把键盘看作标准输入,屏幕看作标准输出。按下CTRL+D结束键盘输入 
$cat > sample.txt 
$cat /dev/null > /var/log/messages 
$cat  /etc/profile  >   /var/log/messages

$cat  /etc/profile  >>  /var/log/messages     #在文件/var/log/messages末尾追加/etc/profile 的内容 
$cat  /etc/profile /home/shell.txt >    /var/log/messages

$cat /etc/profile /home/shell.txt   1 >  hold1  2 > hold2     #将标准输出定向到hold1中,将标准错误输出定向到hold2中 
$exec 1> fd1.out                           #将以后所有命令的输出都定向到fd1.out 
$ln -s ch05.doc ./docs >> /tmp/ln.log  2>/dev/null   #将连接文件的信息追加到/tmp/ln.log中,并将错误输出定向到/dev/null中 
$rm -rf /tmp/my_tmp_dir > /dev/null 2>&1               #将标准错误输出和标准输出都定向到/dev/null中 
$who | tee file.a | wc -l                                           #重定向到管道传递给tee命令后继续将结果传递给wc命令 

$cat /etc/profile /home/shell.txt | tr "[a-z]" "[A-Z]" 
$who | sort

$ls | less   

将循环的输出重新排序

#!/bin/bash

#Filename:output_sort.sh 

#Datetime:2010_12_24 15:56

#Discription:Sort the output number 

for i in 7 9 2 4 5 12
do
echo $i
done | sort -n 
 //将变量$i中的数值进行排序 

exit 0

输入重定向(利用read读入文件/etc/fstab的前两行) 
#!/bin/bash

#Filename:twolines_fstab

#Datetime:2010_12_24 15:59

#Discription:Output the two lines of fstab 
File=/etc/fstab
{
  read line1      
 //读入第一行 
  read line2      
//读入第二行 
} < $File
echo "First line in $File is:\"$line1\""       
  //输出第一行结果 
echo "Second line in $File is:\"$line2\""   
 //输出第二行结果 
exit 0


每5分钟将将登录进入系统的用户列表追加到logfile文件中
 
#!/bin/bash
#Filename:record_loginuser.sh
#Datetime:2010_12_24 16:16
#Discription:Record the username who login system every 5 minutes
while :      
 //无限循环开始 
do
date
who
sleep 300       
//睡眠5分钟 
done >> logfile     
//将记录的结果重定向到logfile文件中

 

参考至:http://club.topsage.com/viewthread.PHP?tid=668357&highlight=shell
原创文章,转载请注明出处、作者
如有错误,欢迎指正
邮箱:czmcj@163.com

作者:czmmiao 原文地址:http://czmmiao.iteye.com/blog/911372

相关文章:

  • 堆的一些简单应用
  • dtrace4linux_Example
  • jQuery.extend 函数详解
  • Shiro安全框架入门篇(登录验证实例详解与源码)
  • goldengate一些参数整理
  • HDU1161 Eddy's mistakes
  • Unity3d标签管理类-利用脚本控制标签,提升工作效率
  • putty如何设置密钥登陆
  • 程序员该如何有效的找工作?
  • Android 认识Activity 生命周期
  • C#基础内容学习笔记(一)
  • Open CV缩放图像
  • 程序员之路:以Android证道
  • 地域划分
  • Unable to parse the default media type registry
  • [deviceone开发]-do_Webview的基本示例
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • Brief introduction of how to 'Call, Apply and Bind'
  • CSS相对定位
  • Go 语言编译器的 //go: 详解
  • HashMap剖析之内部结构
  • JavaScript设计模式与开发实践系列之策略模式
  • Java方法详解
  • node入门
  • php面试题 汇集2
  • Unix命令
  • Vue.js源码(2):初探List Rendering
  • Vue组件定义
  • webgl (原生)基础入门指南【一】
  • Web标准制定过程
  • 前嗅ForeSpider教程:创建模板
  • 如何在GitHub上创建个人博客
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 一些css基础学习笔记
  • 译有关态射的一切
  • 正则学习笔记
  • 阿里云重庆大学大数据训练营落地分享
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • # centos7下FFmpeg环境部署记录
  • ###STL(标准模板库)
  • (1)bark-ml
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (力扣题库)跳跃游戏II(c++)
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (转)http-server应用
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET Remoting学习笔记(三)信道
  • .Net6使用WebSocket与前端进行通信