linux(3)

1.输出两种类型

  • 程序运行结果 – 输送到一个叫做标准输出的特殊文件(stdout)
  • 得到的状态和错误信息 – 标准错误的文件(stderr)

注:标准输出和标准错误都连接到屏幕,而不是保存到磁盘

2.标准输入

许多程序从标准输入的设备得到输入,默认标准输入连接到键盘

一般地,输出送到屏幕,输入来自键盘,但是通过 I/O 重定向,我们可以改变输入输出方向。

3.重定向标准输出

使用 ” > ” 符号

将ls命令运行结果输送到文件 ls-output.txt

$ ls -l /usr/bin > ls-output.txt

删除文件内容或创建新的空文件

$ > ls-output.txt

将重定向结果追加到文件内容后面,文件不存在会新建

$ ls -l /usr/bin >> ls-output.txt

4.重定向标准错误

重定向标准错误缺乏专用的重定向操作符,必须 参考它的文件描述符。一个程序可以在几个编号的文件流中任何一个上产生输出。把这些文件流的前三个看作标准输入、输出、错误,shell内部参考它们为文件描述符0、1、2。

$ ls -l /bin/usr 2> ls-error.txt

5.重定向标准输出和错误到同一文件

$ ls -l /bin/usr > ls-output.txt 2>&1

注:标准错误的重定向必须总是出现在标准输出重定向之后,要不然它不起作用

单单一个表示法 &> 来重定向标准输出和错误到文件 lsoutput.txt
//方法2

$ ls -l /bin/usr &> ls-output.txt

6.处理不需要的输出

隐瞒错误信息

$ ls -l /bin/usr 2> /dev/null

注:“/dev/null”这个文件是系统设备,叫做位存储桶,它可以接受输入,并且对输入不做任何处理。
7.cat – 连接文件

读取一个或多个文件,然后复制它们到标准输出

cat [file]

如果 cat 没有给出任何参数,它会从标准输入读入数据

$ cat > lazy_dog.txt
The quick brown fox jumped over the lazy dog.

下一步,输入 Ctrl-d(按住 Ctrl 键同时按下 “d”),来告诉 cat,在标准输入中,它已经到达文件末尾(EOF)

使用“<”重定向操作符,我们把标准输入源从键盘改到文件 lazy dog.tx

$ cat < lazy_dog.txt
The quick brown fox jumped over the lazy dog.

8.wc -打印行,字和字节数

$ wc ls-output.txt
7902 64566 503634 ls-output.txt
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章