当前位置:首页 » 操作系统 » linux管道与重定向

linux管道与重定向

发布时间: 2022-07-07 15:32:01

‘壹’ 系统 linux 下的 管道 和 重定向 这两个概念怎么理解求通俗的解释,一定采纳

管道
举例:ls -a | grep netkeeper
说明:就是把前一个命令的结果当成后一个命令的输入。结合本例就是先显示所有的文件,然后再用grep命令在ls的结果中查找包含netkeeper的文件。

重定向
举例:cat hello.c > /home/root/Documents/test.txt
说明:就是把原本应该输出(或输入)到一个地方的文件流输出(或输入)到另外一个地方。把文件方向给改变了,所以叫重定向。结合本例:cat本来是要把hello.c的内容显示到当前屏幕上,但是加了个重定向后,这个输出流就被定向到/home/root/Documents/目录下的test.txt文件中去了。

>与>>
>会覆盖目标文件;>>是向目标文件末尾追加内容。
如果目标文件不存在,那么这两个命令都会在指定的目录下新建文件。

‘贰’ linux重定向的基本概念

(这是理解后面的知识的前提,请务必理解)
a、 I/O重定向通常与 FD 有关,shell的FD通常为10个,即 0~9;
b、 常用FD有3个,为0(stdin,标准输入)、1(stdout,标准输出)、2(stderr,标准错误输出),默认与keyboard、monitor有关;
c、 用 < 来改变读进的数据信道(stdin),使之从指定的档案读进;
d、 用 > 来改变送出的数据信道(stdout, stderr),使之输出到指定的档案;
e、 0 是 < 的默认值,因此 < 与 0<是一样的;同理,> 与 1> 是一样的;
f、 在IO重定向 中,stdout 与 stderr 的管道会先准备好,才会从 stdin 读进资料;
g、 管道“|”(pipe line):上一个命令的 stdout 接到下一个命令的 stdin;
h、 tee 命令是在不影响原本 I/O 的情况下,将 stdout 复制一份到档案去;
i、 bash(ksh)执行命令的过程:分析命令-变量求值-命令替代(``和$( ))-重定向-通配符展开-确定路径-执行命令;
j、 ( ) 将 command group 置于 sub-shell 去执行,也称 nested sub-shell,它有一点非常重要的特性是:继承父shell的标准输入、标准输出、标准错误和任何其他打开的文件描述符。
k、 exec 命令:常用来替代当前 shell 并重新启动一个 shell,换句话说,并没有启动子 shell。使用这一命令时任何现有环境都将会被清除。exec 在对文件描述符进行操作的时候,也只有在这时,exec 不会覆盖你当前的 shell 环境。

‘叁’ linux重定向和管道命令

echo "gnome-terminal "commands" " >> /dev/pts/1 ?
创建两个空文件file1、file2,使用vi编辑器给file1和file2添加文本内容并保存,利用重定向功能实现将文件file1与file2的内容写到文件file3命令该怎么打啊 求帮忙

‘肆’ "在Linux系统中有重定向和管道的功能,他们都能把前面的输出作为后面的输入,他们的区别是什么请说出如

1)、重定向是把前面运行命令的结果输入到后面的文件中;而管道功能是把前面命令运行的结果作为后面命令的输入。主要区别在于>后是一个文件名,而 | 后是一个命令。
2)wc output.wc 2>error.wc 表示把/etc/passwd文件作为wc的输入,统计出passwd文件的行数、单词数和字符数,并输出到文件output.wc中,错误记录输出到error.wc中。
3)、ls –al ./ | wc > ls.wc表示把./目录下的文件列出来,由wc统计出行数、单词数和字符数,并记录到文件ls.wc中。
还有不会的请参考《linux就该这么学》,针对各种linux疑难杂症,帮助linux学习者。

‘伍’ linux中管道是指什么,重定向是指什么

管道是把一个命令的输出作为下一个命令的输入,
如 ls /etc | more
cat /etc/passwd | grep root
重定向是把一个命令的输出重定向到另一个文件
如 echo 'hello' > abc.txt 一个大于号是抹除源文件内容并写入,如果没有这个文件就创建这个文件并写入
echo 'hello world' >> /var/log/messages 两个大于号是追加内容到这个文件,没有这个文件就创建并写入
cat /etc/sysconfig/network-scripts/ifc-eth0 >>abcd.txt

break 2>/dev/null

‘陆’ 在Linux中,stdin/stdout应用于管道的重定向问题。新手自学,望高手讲解,不胜感谢。

其中这个|也就是管道的作用是将第一个命令的结果传输给后面的一个命令,相当于有人通过快递给你寄东西,而管道就是快递员,而-的意思是这样的,要是你不加这个-,默认是保存到硬盘的当前位置的,而用了-就是将本来要保存的文件输出到了stdout,stdout这个是标准输出,就是我们屏幕,再具体一点就是数据最终会现在那个你打命令的终端窗口。

‘柒’ Linux管道与重定向

重定向输出
$ls
-l
>
lsoutput.txt
这条命令把ls命令的输出保存到文件lsoutput.txt中。
$ps
>>
lsoutput.txt
使用>>操作符将输出内容附加到一个文件中。这条命令将ps命令的输出附加到指定文件的尾部。
如果想对标准错误输出进行重定向,需要把准备重定向的文件描述符编号加在>操作符的前面。因为标准错误输出的文件描述符编号为2,所以我们使用2>操作符。当需要丢弃错误信息并阻止它显示在屏幕上时,这个方法很有用。
下面的命令将把标准输出和标准错误输出分别重定向到不同的文件中:
$kill
-HUP
1234
>killout.txt
2>killerr.txt
如果想把两组输出都重定向到一个文件中,可以用>&操作符来结合两个输出。如下所示:
$kill
-l
1234
>killouterr.txt
2>&1
管道
通常把一个进程的输出通过管道连接到另外一个进程的输入。
cmd1
|
cmd2
shell负责两个命令的标准输入和标准输出。
cmd1的标准输入来自终端键盘
cmd1的标准输出传递给cmd2,作为它的标准输入
cmd2的标准输出连接到终端屏幕。
shell所做的工作从效果来看是对标准输入和标准输出流进行了重新连接,使数据流从键盘输入通过两个命令最终输出到屏幕上。

‘捌’ 系统linux 下的 管道 和 重定向 这两个概念怎么理解

管道是一个先进先出的特殊文件,一方只能依次写进去,另一方也只能依次读出来
理解管道符前先要知道一个进程运行后有3个最基本的文件,标准输入(0表示),标准输出(1表示),错误输出(2表示)
通过命令查看当前3个基本文件,ls-l/proc/$$/fd/
shell中的管道符做了3件事,
1,先创建一个管道文件pipe
2,将管道符前面的一个命令的标准输出替换为pipe
2,将管道符后面的一个命令的标准输入替换为pipe
例子
echotest>/tmp/test
tail-f/tmp/test|cat&
查看tail命令3个基本文件
ls-l/proc/`pidoftail`/fd
查看cat命令3个基本文件
ls-l/proc/`pidofcat`/fd
shell重定向本身从编程角度理解就是赋值语句,0,1,2本身理解为3个变量,
<和>表示赋值符号,变量名只能用数字表示,变量只能在/proc/进程pid/fd/下查看
<以只读方式打开一个文件,然后把打开的文件赋值给变量
>以只写方式打开一个文件,然后把打开的文件赋值给变量
<>以读写方式打开一个文件,然后把打开的文件赋值给变量
exec1<>/tmp/info表示读写打开/tmp/info,然后赋值给变量1,执行后其他命令打印的信息都会输入到/tmp/info里,默认所有的打印信息(echoaaaaaa)都会获取变量1里面打开的文件,然后把要打印的信息写到这个文件里面
如果写成exec1</tmp/info这种方式,那么打印的信息就没法写进去了,因为是只读方式打开的
ls-l/dev/fd/或者ls-l/proc/$$/fd/查看
cat/proc/cmdline>/tmp/cmd通常啥这种写法,赋值符号前面没写具体的变量名,默认就是1,也就是cat/proc/cmdline1>/tmp/cmd
echor>/tmp/r&&exec6</tmp/r
lsof|grep/tmp/r可以查看到6r属性,文件以读方式开打,并且复制给变量6

热点内容
android音乐播放器的实现 发布:2024-11-19 07:12:44 浏览:968
传奇世界手游打架脚本 发布:2024-11-19 07:05:43 浏览:679
小白电脑一般什么配置 发布:2024-11-19 06:50:19 浏览:386
阿里的编程测验 发布:2024-11-19 06:50:10 浏览:43
数据库优化教程 发布:2024-11-19 06:49:12 浏览:592
android打开activity 发布:2024-11-19 06:41:36 浏览:78
sql表的操作 发布:2024-11-19 06:36:27 浏览:138
安卓手机用什么模拟器 发布:2024-11-19 06:36:27 浏览:859
es文件夹就 发布:2024-11-19 06:27:13 浏览:541
鸿蒙系统对比安卓哪个强大 发布:2024-11-19 06:22:22 浏览:178