访问手机版  

Linux常用命令|Linux培训学习|考试认证|工资待遇与招聘,认准超级网工!

招聘|合作 登陆|注册

网络工程师培训

当前位置:网络工程师 > 技术课程 > linux > 热点关注 > linux常用命令

Linux命令学习(重定向)

时间:2019-07-17

linux命令手册_linux命令_linux命令windows命令

标准输入,输出,和错误到目前为止,我们用到的许多程序都会产生某种输出。这种输出,经常由两种类型组成。 第一,程序运行结果;这是说,程序要完成的功能。第二,我们得到状态和错误信息, 这些告诉我们程序进展。如果我们观察一个命令,像 ls,会看到它的运行结果和错误信息 显示在屏幕上。与 Unix 主题“任何东西都是一个文件”保持一致,程序,比方说 ls,实际上把他们的运行结果 输送到一个叫做标准输出的特殊文件(经常用 stdout 表示),而它们的状态信息则送到另一个 叫做标准错误的文件(stderr)。默认情况下,标准输出和标准错误都连接到屏幕,而不是 保存到磁盘文件。除此之外,许多程序从一个叫做标准输入(stdin)的设备得到输入,默认情况下, 标准输入连接到键盘。I/O 重定向允许我们可以更改输出走向和输入来向。一般地,输出送到屏幕,输入来自键盘, 但是通过I/O 重定向,我们可以改变输入输出方向。

2.标准输出

使用 ” > ” 进行标准的输出,将命令的结果输出到一个文件中, 但是这个重定向符进行输出将会将原文件中的内容清除 ,并且如果 命令的输出不是标准输出,而是产生了错误信息,这个错误信息不会输入到文件中,而是显示在屏幕上.

如果想在进行标准输出的时候不是将文件重写,而是在文件内容的后面添加,就是用>> 重定向符

上面提到 使用上面的重定向符不能将错误信息输出到文件,可以使用shell提供的一种表示方式,shell内部为标准输入,标准输出和错误的文件描述符为0,1,2, 使用文件描述符来重定向错误信息

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

要想将标准输出和错误信息都输出到一个文件,在bash中提供了两种方法,这里主要介绍第二种新的方法.

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

处理不需要的输出

有时候,不想要一个命令的输出结果,想把他们扔掉,,系统提供了一个方法,将信息重定向到一个特殊的叫做 “/dev/null” 的文件,这个是个系统设备,叫做位存储桶,可以接受输入,并且对输入不做任何处理.为了隐瞒命令错误信息可以这么做:

linux命令_linux命令手册_linux命令windows命令

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

3.标准输入

3.1cat 连接文件

cat [file]  //显示文件的内容,一般用来显示简短的文本文件

cat可以接受不止一个文件作为参数,将这些文件的内容连接起来

cat movie*.txt > movie.txt //将多个文件内容链接起来,重新定向到另一个文件,通配符总是按照有序的循序展开,所以会按照循序正确安排.

如果cat 没有给出任何参数,它会从标准输入读入数据,因为标准输入,默认情况下,连接到键盘。它正在等待我们输入数据! 使用Ctrl + d 告诉cat 在标准输入中已经到了结尾.

可以用这个来创建个简单的文本文件

cat > a.txt // 回车
i am a boy.//这一行输入想要输入的内容,然后使用ctrl + d 告诉cat到了标准输入的结尾
cat < a.txt   //使用< 重定向符将标准输入源从键盘改到文件a.txt,结果和使用只文件名一样,

4.管道线

linux命令手册_linux命令windows命令_linux命令

使用管道操作符 “|” ,一个命令的标准输出可以管道到另一个命令的表追输入.

command1 | command2

如:

ls -l /usr/bin | less

过滤器

几个命令放在一起组成一个管道线,通常,以这种方式使用的命令被称为过滤器