A-A+

Shell的输入与输出

2012年09月29日 Ubuntu资料 暂无评论 阅读 875 次

输入输出的命令:
1.echo命令可以显示文本行货变量,或者把字符输出到文件。
   -e 解析转义字符(转义符:c,f,t,n)
   -n 回车不换行,linux系统默认回车换行
2.read语句可以从键盘或文件的某一行文本中读入信息,并将其赋给一个变量。
   read variable1 variable2....
   如果只制定了一个变量,那么read将会把所有的输入赋给该变量,直至遇到第一个文件结束符或 
   回车;如果给出了多个变量,他们按顺序分别被赋予不同的变量。shell将用空格作为变量之间的
   分隔符.
3.cat是一个简单而通用的命令,可以用它来显示文件内容、创建文件,还可以用它显示控制字符。
   -v 显示控制字符
   使用cat命令时要注意:他不会在文件分页符处停下来;他会一下显示完整文件。如果希望每次显
   示一页,可以使用more或cat命令的输出通过管道传递到另外一个具有分页功能的命令more、less
   中。
   cat filename 显示文件内容】
   cat filename1 filename2 filename3同时显示三个文件内容。
   cat filename1 filename2 filename3 > myfile 把三个文件的内容输出到一个文件当中。
   cat -v dos.txt 显示控制符(主要window中的一些控制符)
4.管道-可以通过管道把一个命令的输出传递给另一个命令作为输入。管道用竖杠|表示。
   格式:命令1|命令2   
5.tee命令把输出的一个副本输送到标准输出,另一个副本拷贝到相应的文件中。
   tee -a files(-a选项意思是把内容追加到一个文件后面,如果不加-a会替换文件的内容)
   如果希望在看到输出的同时,也将其存入一个文件,那么这个命令再合适不过了。
   一般用于管道之后,没有管道这个命令其实没有意义了。

输入输出的概念:
   在shell中执行命令时,每个进程都和三个打开的文件相联系,并使用文件描述来引用这些文件。
   由于文件描述符不容易记忆,shell同时也给出了相应的文件名。
   输入文件-标准输入 0(缺省是键盘,也可以是文件或其他命令的输出)
   输出文件-标准输出 1(缺省是屏幕,也可以是文件)
   错误输出文件-标准错误 2(缺省是屏幕,也可以是文件)
文件重定向:
   command > filename 把标准输出重定向到一个新文件中
   command >> filename 把标准输出重定向到一个文件中(追加)
   command 1 > filename 把标准输出重定向到一个新文件中(等同于1)
   command > filename 2>&1 把标准输出和标准错误一起重定向到一个文件中
   command 2 > filename 把标准错误输出重定向到一个文件中
   command 2 >> filename 把标准输出重定向到一个文件中(追加)
   command > filename 2>&1 把标准输出和标准错误一起重定向到一个文件中(追加)
   command < filename > filename2 command命令以filename文件作为标准输入,以filename2文件

   作为标准输出。
   command < filename command命令以filename文件作为标准输入。
   command <<delimiter 从标准输入中读取,直至遇到delimiter分界符。
   实例:[root@localhost tmp]# cat >>test.txt <<ok
         >hello,I am using a $TERM terminal
         >and, myusername is $LOGNAME
         >bye....
         >ok
         [root@localhost tmp]# cat test.txt
         hello,I am using a $TERM terminal
         and, myusername is $LOGNAME
         bye....
   command <&m 把文件描述符m作为标准输入。
   command >&m 把标准输出重定向到文件描述符m中
   command <&- 关闭标准输入。
exec
   exec命令可以用来替代当前shell;换句话说,并没有启动子shell,使用这一命令时任何现有环
境都将被清除,并重新启动一个shell。
   exec./command
   其中的command通常是一个shell脚本。
   对文件描述符进行操作的时候(也只有在这时)他不会覆盖你当前的shell。

文件描述符:
   系统中有12个文件描述符,启动0、1、2是固定的,代表标准输入、标准输出、标准错误输出。
   3-9文件描述符是可以被我们使用的

给我留言

Copyright © 2011-2016 零下二十四度Theme By  Ality  京ICP备16007547号   关于本站

用户登录