ImageVerifierCode 换一换
格式:DOC , 页数:4 ,大小:35KB ,
资源ID:7653893      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-7653893.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Linux Shell(bash) 重定向技巧.doc)为本站会员(kpmy5893)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

Linux Shell(bash) 重定向技巧.doc

1、Linux Shell(bash) 重定向技巧 linux 环境中支持输入输出重定向,用符号来表示。0、1 和 2 分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2a.txt 表示将错误信息输出到文件 a.txt 中。同时,还可以在这三个标准输入输出之间实现重定向,比如将错误信息重定向到标准输出,可以用 2&1来实现。Linux 下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。如果想要正常输出和错误信息都不显示

2、,则要把标准输出和标准错误都重定向到/dev/null, 例如:# ls 1/dev/null 2/dev/null还有一种做法是将错误重定向到标准输出,然后再重定向到 /dev/null,例如:# ls /dev/null 2&1注意:此处的顺序不能更改,否则达不到想要的效果,此时先将标准输出重定向到 /dev/null,然后将标准错误重定向到标准输出,由于标准输出已经重定向到了/dev/null,因此标准错误也会重定向到/dev/null.1. 标准输入的控制语法:命令 文件将命令的执行结果送至指定的文件中。例如:ls -l list 将执行“ls -l” 命令的结果写入文件 list 中

3、。语法:命令! 文件将命令的执行结果送至指定的文件中,若文件已经存在,则覆盖。例如:ls -lg ! list 将执行“ls - lg” 命令的结果覆盖写入文件 list 中。语法:命令& 文件将命令执行时屏幕上所产生的任何信息写入指定的文件中。例如:cc file1.c & error 将编译 file1.c 文件时所产生的任何信息写入文件 error 中。语法:命令 文件将命令执行的结果附加到指定的文件中。例如:ls - lag list 将执行 “ls - lag” 命令的结果附加到文件 list 中。语法:命令& 文件将命令执行时屏幕上所产生的任何信息附加到指定的文件中。例如:cc f

4、ile2.c & error 将编译 file2.c 文件时屏幕所产生的任何信息附加到文件 error 中。关于输入、输出和错误输出在字符终端环境中,标准输入/标准输出的概念很好理解。输入即指对一个应用程序或命令的输入,无论是从键盘输入还是从别的文件输入;输出即指应用程序或命令产生的一些信息;与 Windows 系统下不同的是,Linux 系统下还有一个标准错误输出的概念,这个概念主要是为程序调试和系统维护目的而设置的,错误输出于标准输出分开可以让一些高级的错误信息不干扰正常的输出信息,从而方便一般用户的使用。在 Linux 系统中:标准输入(stdin)默认为键盘输入;标准输出(stdout

5、)默认为屏幕输出;标准错误输出(stderr)默认也是输出到屏幕(上面的 std 表示 standard)。在 BASH 中使用这些概念时一般将标准输出表示为 1,将标准错误输出表示为 2。下面我们举例来说明如何使用他们,特别是标准输出和标准错误输出。输入、输出及标准错误输出主要用于 I/O 的重定向,就是说需要改变他们的默认设置。先看这个例子:$ ls ls_result$ ls -l ls_result上面这两个命令分别将 ls 命令的结果输出重定向到 ls_result 文件中和追加到 ls_result 文件中,而不是输出到屏幕上。“就是输出(标准输出和标准错误输出)重定向的代表符号,

6、连续两个 “ 符号,即 “ 则表示不清除原来的而追加输出。下面再来看一个稍微复杂的例子:$ find /home -name lost* 2 err_result这个命令在 “ 符号之前多了一个 “2“,“2“ 表示将标准错误输出重定向。由于 /home 目录下有些目录由于权限限制不能访问,因此会产生一些标准错误输出被存放在 err_result 文件中。大家可以设想一下 find /home -name lost* 2err_result 命令会产生什么结果?如果直接执行 find /home -name lost* all_result ,其结果是只有标准输出被存入 all_result

7、文件中,要想让标准错误输出和标准输入一样都被存入到文件中,那该怎么办呢?看下面这个例子:$ find /home -name lost* all_result 2& 1上面这个例子中将首先将标准错误输出也重定向到标准输出中,再将标准输出重定向到 all_result 这个文件中。这样我们就可以将所有的输出都存储到文件中了。为实现上述功能,还有一种简便的写法如下:$ find /home -name lost* & all_result如果那些出错信息并不重要,下面这个命令可以让你避开众多无用出错信息的干扰:$ find /home -name lost* 2 /dev/null同学们回去后还可

8、以再试验一下如下几种重定向方式,看看会出什么结果,为什么?$ find /home -name lost* all_result 1& 2$ find /home -name lost* 2 all_result 1& 2$ find /home -name lost* 2& 1 all_result另外一个非常有用的重定向操作符是 “-“,请看下面这个例子:$ (cd /source/Directory & tar cf - . ) | (cd /dest/directory & tar xvfp -)该命令表示把 /source/directory 目录下的所有文件通过压缩和解压,快速的全部移动到 /dest/directory 目录下去,这个命令在 /source/directory 和 /dest/directory 不处在同一个文件系统下时将显示出特别的优势。下面还几种不常见的用法:n&- 表示将 n 号输出关闭&- 表示将标准输出关闭

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报