linux系统中输入重定向是指 (linux系统终端命令大全)

本文目录导航:
linux系统中输入重定向是指?
Linux下自动有两种输入流:
1 - 规范输入流
2 - 规范失误输入流
Linux下一切皆文件,这里的1和2示意的就是输入设施文件的文件形容符。
自动状况下,无论是规范输入还是规范失误输入,都是输入到终端显示的。
但也可以经过重定向输入到其余中央,如文件。
这就是输入重定向。
并且,这两种输入流可以被区分重定向。
上方举例:
假定文件在以后目录下并不存在,口头上方的命令:
linux管道及重定向详解
在linux系统中,大少数命令很便捷,很少发生复杂配置的命令,每个命令往往成功一个或许几个配置十分便捷的配置,咱们可以经过将多个便捷的命令组合在一同来成功复杂的配置。
在linux中简直一切的命令前往的都是纯文本,由于命令都是运转在CLI下的,而纯文本又是命令行的输入格局,这就让命令单干成为或许。
命令的组合是经过重定向和管道机制成功的。
命令行的数据流有以下定义:规范输入 说明 编号 自动STDIN 规范输入 0 键盘STDOUT 规范输入 1 终端STDEER 规范失误 2 终端经过管道和重定向咱们可以管理CLI的数据流。
重定向将规范输入重定向到文件中,假设文件不存在,那么创立文件,存在则会笼罩原来的内容。
将规范输入重定向到文件中,假设文件不存在,那么创立文件,存在时会将内容追加到文件开头2 将规范失误重定向到文件中21 将规范失误和规范输入重定向到文件中去重定向规范输入管道将第一个命令的规范输入作为下一个命令的规范输入.....
linux 的输入输入重定向要怎样用?
Linux重定向是指修正原来自动的一些物品,对原来系统命令的自动口头方式启动扭转,比如说便捷的我不想看到在显示器的输入而是宿愿输入到某一文件中就可以经过Linux重定向来启动这项上班。
Linux默逞强入是键盘,输入是显示器。
你可以用重定向来扭转这些设置。
比如用wc命令的时刻原本是要手动输入一篇文字来计算字符数的,用了重定向后可以间接把一个曾经写好的文件用‘<’指向这条命令,就间接可以统计这个文件的字符数等了。
输入也是一样,你可以把屏幕输入重定向到一个文件里,再到文件里去看结果。
重定向操作符可以用来将命令输入和输入数据流从自动位置重定向到其余位置,其输入或输入数据流的位置称为句柄;经常出现的句柄有三种,当然句柄可以自行裁减,普通的OS都提供相似的配置。
句柄 句柄代号 句柄形容STDIN 0 键盘输入STDOUT 1 输入消息到揭示符窗口STDERR 2 输入失误消息到揭示符窗口自动的 < 重定向输入操作符是 0,而自动的 > 重定向输入操作符是 1。
键入 < 或 > 操作符之后,必定指定数据的读写位置,可以是文件名或其余现有的句柄。
要指定重定向到现有句柄,请经常使用与 & 字符,前面接要重定向的句柄号(即 &句柄号)。
例如,上方的命令可以将句柄 2(即 STDERR)重定向到句柄 1(即 STDOUT):2>&1下表列出了可用于重定向输入和输入数据流的操作符:Linux重定向操作符 配置形容> 将命令输入写入文件或设施,而不是命令揭示符或句柄< 从文件而不是从键盘或句柄读入命令输入>> 将命令输入减少到文件开端而不删除文件中已有的消息>& 将一个句柄的输入写入到另一个句柄的输入中<& 从一个句柄读取输入并将其写入到另一个句柄输入中 从一个命令中读取输入并将其写入另一个命令的输入中;也称为管道操作符如今咱们回过头来看看上方的那条语句mysh > 2>&1就可明确:> 意思是将规范输入重定向到,等价于mysh 1> ;2 >& 1 意思是将失误输入重定向到句柄1规范输入;综合起来就是mysh命令口头环节中发生的规范输入和失误输入都会被重定向到中;重定向的配置十分弱小,有兴味的可以去尝试各种不同的组合,看看前后位置变下会有什么结果?某些时刻咱们或许并不宿愿记载什么规范输入或许是失误输入,那可以用mysh >null 2>null或许mysh >/dev/null 2>/dev/null;I/O重定向详解1、 基本概念(这是了解前面的常识的前提,请务必了解)a、 I/O重定向理论与 FD无关,shell的FD理论为10个,即 0~9;b、 罕用FD有3个,为0(stdin,规范输入)、1(stdout,规范输入)、2(stderr,规范失误输入),自动与keyboard、monitor、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的Standard input, output, and error plus any other open file descriptors。
k、 exec 命令:罕用来代替以后 shell 并从新启动一个 shell,换句话说,并没有启动子 shell。
经常使用这一命令时任何现有环境都将会被肃清。
exec 在对文件形容符启动操作的时刻,也只要在这时,exec 不会笼罩你以后的 shell 环境。
2、 基本IOcmd > file 把 stdout 重定向到 file 文件中;cmd >> file 把 stdout 重定向到 file 文件中(追加);cmd 1> fiel 把 stdout 重定向到 file 文件中;cmd > file 2>&1 把 stdout 和 stderr 一同重定向到 file 文件中;cmd 2> file 把 stderr 重定向到 file 文件中;cmd 2>> file 把 stderr 重定向到 file 文件中(追加);cmd >> file 2>&1 把 stderr 和 stderr 一同重定向到 file 文件中(追加);cmd < file >file2 cmd 命令以 file 文件作为 stdin,以 file2 文件作为 stdout;cat <>file 以读写的方式关上 file;cmd < file cmd 命令以 file 文件作为 stdin;cmd << delimiter Here document,从 stdin 中读入,直至遇到 delimiter 分界符。
3、 进阶IO>&n 经常使用系统调用 dup (2) 复制文件形容符 n 并把结果用作规范输入;<&n 规范输入复制自文件形容符 n;<&- 封锁规范输入(键盘);>&- 封锁规范输入;n<&- 示意将 n 号输入封锁;n>&- 示意将 n 号输入封锁;上述一切方式都可以前导一个数字,此时建设的文件形容符由这个数字指定而不是缺省的 0 或 1。
如:... 2>file 运转一个命令并把失误输入(文件形容符 2)定向到 file。
... 2>&1 运转一个命令并把它的规范输入和输入兼并。
(严厉的说是经过复制文件形容符 1 来建设文件形容符 2 ,但成果理论是兼并了两个流。
)咱们对 2>&1具体说明一下 :2>&1 也就是 FD2=FD1 ,这里并不是说FD2 的值 等于FD1的值,由于 > 是扭转送出的数据信道,也就是说把 FD2 的 “数据输入通道” 改为 FD1 的 “数据输入通道”。
假设仅仅这样,这个扭转如同没有什么作用,由于 FD2 的默逞强入和 FD1的默逞强入原本都是 monitor,一样的!然而,当 FD1 是其余文件,甚至是其余 FD 时,这个就具备不凡的用途了。
请大家务必了解这一点。
exec 0exec 1>outfilename # 关上文件outfilename作为stdout。
exec 2>errfilename # 关上文件 errfilename作为 stderr。
exec 0<&- # 封锁 FD0。
exec 1>&- # 封锁 FD1。
exec 5>&- # 封锁 FD5。
这样就成功了Linux重定向的学习。
文章评论