日期:2014-05-16  浏览次数:20753 次

Linux学习笔记(六)-标准输出,标准输入,标准错误

输出
echo

输入
read

它的一般形式为:
read varible1 varible2 ...

可以使用r e a d语句从键盘或文件的某一行文本中读入信息,并将其赋给一个变量。
?
read name hello

jiangyunpeng hello

echo $name
echo $hello

cat
在使用c a t命令时要注意,它不会在文件分页符处停下来;它会一下显示完整个文件。如果希望每次显示一页,可以使用 m o r e命令或把c a t命令的输出通过管道传递到另外一个具有分页功能的命令

$ cat myfile | more

$ cat myfile | pg
c a t命令的一般形式为:
cat [options] filename1 ... filename2 ...

如果希望显示myfile1、myfile2、myfile3这三个文件,可以用:
$ cat myfile1 myfile2 myfile3
如果希望创建一个名为b i g f i l e的文件,该文件包含上述三个文件的内容,可以把上面命令
的输出重定向到新文件中:
$ cat myfile1 myfile2 myfile3 > bigfile
这点在合并文件方面非常有用

如果希望创建一个新文件,并向其中输入一些内容,只需使用 c a t命令把标准输出重定向到该文件中:
cat > myfile

?管道
? 可以通过管道把一个命令的输出传递给另一个命令作为输入。管道用竖杠 |表示。它的一般形式为:
命令1 |命令2
其中|是管道符号。

s e d、a w k和g r e p都很适合用管道,特别是在简单的一行命令中。在下面的例子中, w h o命
令的输出通过管道传递给a w k命令,以便只显示用户名和所在的终端。

标准输入
标准输入是文件描述符0。它是命令的输入,缺省是键盘,也可以是文件或其他命令的输出。

标准输出
标准输出是文件描述符1。它是命令的输出,缺省是屏幕,也可以是文件。

标准错误
标准错误是文件描述符2。这是命令错误的输出,缺省是屏幕,同样也可以是文件

文件重定向
command > filename 把把标准输出重定向到一个新文件中
command >> filename 把把标准输出重定向到一个文件中(追加)
command 1 > fielname 把把标准输出重定向到一个文件中
command > filename 2>&1 把把标准输出和标准错误一起重定向到一个文件中
command 2 > filename 把把标准错误重定向到一个文件中
command 2 >> filename 把把标准输出重定向到一个文件中(追加)
command >> filename 2>&1 把把标准输出和标准错误一起重定向到一个文件中 (追加)
command < filename >filename2 把c o m m a n d命令以f i l e n a m e文件作为标准输入,以 f i l e n a m e 2文件作为标准输出
command < filename 把c o m m a n d命令以f i l e n a m e文件作为标准输入
command << delimiter 把从标准输入中读入,直至遇到d e l i m i t e r分界符
command <&m 把把文件描述符m作为标准输入
command >&m 把把标准输出重定向到文件描述符m中
command <&- 把关闭标准输入

例子:
cat t1 t7 > t? 2>t.error