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

时间: 2024-09-24 15:50:05

Shell学习笔记---重定向输入、输出(原创)的相关文章

shell学习笔记5---sed详解(原创)

Sed简介sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有改变,除非你使用重定向存储输出.Sed主要用来自动编辑一个或多个文件:简化对文件的反复操作:编写转换程序等. 可以通过定址来定位你所希望编辑的行,该地址用数字构成,用逗号分隔的两个行数表示以这两行为起止的行的范围(

shell学习笔记2---awk字符串处理(原创)

awk内置字符串函数gsub(r,s) 在整个$0中用s替代r:gsub(r,s,t) 在整个t中用s替代r gsub函数有点类似于sed查找和替换.它允许替换一个字符串或字符为另一个字符串或字符,并以正则表达式的形式执行.第一个函数作用于记录$0,第二个gsub函数允许指定目标,然而,如果未指定目标,缺省为$0.index(s,t):函数返回目标字符串s中查询字符串t的首位置.length(s) :返回s长度match(s,r): 测试s是否包含匹配r的字符串split(s,a,fs) 在fs

linux Shell学习笔记第一天_其它

以下是Shell学习1-2天学习笔记 ---------我是分隔符--------- 硬件去执行, 内核与硬件之间进行操作. 命令解析器. shell脚本的组成元素 系统命令 文本处理工具(sort.grep.sed.awk-) 变量 条件判断 环循结构 函数 Shell Scripts Center(SSC) ---------------------------- 非负Grep / awk 几天. 统计Wc Sort 排序 sort|head / sed字段处理 awk 数据区域判断 awk

shell学习笔记1---awk基础(原创)

awk概述 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入.一个或多个文件,或其它命令的输出.它支持用户自定义函数和 动态正则表达式等先进功能,是linux/unix下的一个强大编程工具.它在命令行中使用,但更多是作为脚本来使用.awk的处理文本和数据的方式是这 样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作.如果没有指定处理动作,则把匹配的行显示到标准输出 (屏幕),如果没有指定模式,则所有被操作所指

shell学习笔记3---awk的执行过程(原创)

awk_script的组成1.awk_script可以由一条或多条awk_cmd组成,两条awk_cmd之间一般以NEWLINE分隔2.awk_cmd由两部分组成: awk_pattern { actions }3.awk_script可以被分成多行书写,必须确保整个awk_script被单引号括起来.awk命令的一般形式awk ' BEGIN { actions }awk_pattern1 { actions }............awk_patternN { actions }END {

Shell学习笔记---变量赋值与运算(原创)

声明:本文仅作学习研究使用,多数语句都是为了介绍语法而构造的.  #!/bin/bash #Filename:prameter_parctise2 #Datetime:2010_12_24 09:24 #Discription:Practise of evaluating parameters # 等号赋值a=879echo "The value of \"a\" is $a."  # 使用'let'赋值let a=16+5 echo "The value

shell学习笔记4---awk的执行顺序控制(原创)

next和getline next语句从输入文件中读取下一行,然后从头开始执行awk脚本.如: {if ($1 ~/test/){next} else {print} }getline从整体上来说,应这么理解它的用法:当其左右无重定向符 | 或 < 时,getline作用于当前文件,读入当前文件的下一行给其后跟的变量var或$0(无变量):应该注意到,由于awk在处理getline之前已经读入了一行,所以getline得到的返回结果是隔行的.当其左右有重定向符 | 或 < 时,getline则

linux中Bash shell学习笔记

BASH 的基本语法 •最简单的例子 -- Hello World www.111cn.net ! •关于输入.输出和错误输出 •BASH 中对变量的规定(与 C 语言的异同) •BASH 中的基本流程控制语法 •函数的使用 2.1     最简单的例子 -- Hello World! 几乎所有的讲解编程的书给读者的第一个例子都是 Hello World 程序,那么我们今天也就从这个例子出发,来逐步了解 BASH. 用 vi 编辑器编辑一个 hello 文件如下: #!/bin/bash # T

linux Shell学习笔记第三天_其它

第三天:条件选择 大 纲     应用实例分析     条件测试     if-else-fi     case-in-esac 实现功能菜单: 执行脚本后 按1,显示当前时间 按2,显示CPU负载 按3,显示剩余内存 按0,退出脚本 按其他字符,提示超出选择范围后退出 分析步骤.     #date +%T     uptime awk截取     free –m 条件测试格式     #test –option obj     #[ -option obj ] 返回结果 表达式内容测试结果是