当前位置: 首页 > news >正文

免费推广网站教程二级医院做网站

免费推广网站教程,二级医院做网站,建设厅网站的无法打印,百度 网站 说明一些终端命令、程序、脚本(crontab)中,常会遇到,">/dev/null 2>&1 "出现,这具体代表什么意思呢,接下来会一步步操作,大概理清楚流程及作用(咳咳,那个…

一些终端命令、程序、脚本(crontab)中,常会遇到,">/dev/null 2>&1 "出现,这具体代表什么意思呢,接下来会一步步操作,大概理清楚流程及作用(咳咳,那个,一些linux内置的方法咱就不理了)

先解释一下字面意思:

>/dev/null 就是重定向,将结果(标准输出)重定向到空设备文件,也就是不输出任何信息到终端,不显示任何信息。1>/dev/null 也是一样的,因为不写的话默认是 1

2>&1 就是将 标准错误输出重定向到标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。通俗点说,& 表示等同于的意思,2>&1,表示2的输出重定向等于于1

原由:

shell脚本

注:shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。shell实际上可以理解为一个命令解释器,既是一种命令语言,又是一种程序设计语言。

对于某些后台来说,一般是输入某些参数来进行计算或查询,或者是定时任务,那么我们有时候就会需要知道脚本运行的结果,而这个结果是直接输出到控制台,还是输出到一个文件内,有时在运行的过程中会有堆栈的异常,外部接口调用的情况,这些异常的结果,我们一般都会写到日志内,这就是shell重定向,也就是这篇文章要讲的内容。

再讲重定向之前,还需要知道一些linux的基础。下面会一一讲解。

linux标准文件描述符

文件描述符类型默认情况对应文件句柄位置
0标准输入(缩写:STDIN)从键盘获得输入/proc/self/fd/0
1标准输出(缩写:STDOUT)输出到屏幕(即控制台)/proc/self/fd/1
2错误输出(缩写:STDERR)输出到屏幕(即控制台)/proc/self/fd/2

我们平常执行shell命令,都是将命令输入,然后结果显示到控制台,但,也可以通过更改文件描述符的指向,来将结果输入到我们自定义的文件,1 代表标准结果输出,2 代表错误输出,举个例子。

输出重定向

cd /home/script/ && /home/php5210/bin/php dis_file.php > /dev/null 2>&1 

这个就是在机器上有 /home/script/ 路径  ,由于机器没有安装php环境变量(就算安装了,为了稳妥起见,也会选择这种方式),所以 /home/php5210/bin/php  准备执行 dis_file.php 文件

至于最后的两个,

> /dev/null 

其中 > 代表 输入到 的意思,将左边内容输入到右边。>>  表示追加。

注:一个 > 是生成文件,若以前有文件,会删除,重新覆盖本次执行的内容

这个是输入正常标准结果,接下来试试错误的输出结果到文件:2 > 日志名称

 

输入重定向

命令介绍
command <filename以filename文件作为标准输入
command 0<filename同上
command <<delimiter从标准输入中读入,直到遇到delimiter分隔符

输出重定向是 >  追加是 >>,同理:

 输入重定向就是 < 号,追加就是 << ,看例子

 

有服务器的话,可以自己试一下。

正题

还是上面的例子,重新写一下:

cd /home/script/ && /home/php5210/bin/php dis_file.php > /dev/null 2>&1 

> /dev/null 2>&1 ,拆成两个(貌似跟文章开始解释的重复,凑合着看吧)

1、> /dev/null 相当于 1> /dev/null,就是将标准输出,重定向到 /dev/null ,/dev/null 表示Linux的空设备文件 ,写到里面,就找不着,等于没写,不用挣扎了,真的找不到的。

2、 2>&1  就是重定向绑定,&是用来连接的,就是绳子,将两个输出(标准输出、错误输出)绑定到一块,一根绳儿上的蚂蚱。这样一来,错误输出,嘿嘿,你也找不到,不需要错误输出。

扩展一下:

> /dev/null 2>&1             2>&1  > /dev/null         > /dev/null  2> /dev/null   区别

我们最常见的是第一种写法 > /dev/null 2>&1 ,这个不做解释了,直接看第二种写法:

2>&1  > /dev/null 

linux在执行shell命令之前,已经默认会确定好输出位置,并从左往右执行重定向命令,所以对于这个来说,错误输出,仍是会输出到屏幕,不会丢弃

> /dev/a.log  2> /dev/a.log

如果连续写两个这个,有可能会出现乱码(应该是有极大可能),因为会强占通往a.log的管道,所以,尽量不要这么搞,无解,老老实实按照正常写的来吧,代码嘛,最强大的,ctrl+c  ctrl+v

 

http://www.yayakq.cn/news/763674/

相关文章:

  • 忘记网站备案账号制作图片视频的软件有哪些
  • 最简单网站设计的代码什么是门户网站
  • 惠州做网站的公司有哪些网站建设使用的什么
  • 建设银行的网站特点手机app官网下载
  • 企业网站的优化建议创建微信小程序要钱吗
  • 网站后台管理界面代码郑州网站建设价格
  • 铜官山区建设局网站网站建设的原则 流程
  • 网站建设收费合同下载网站
  • 做柱状图 饼状图的网站wordpress5.1.1版本汉化
  • 瑜伽 网站模板江苏建设工程信息网准考证打印时间
  • 2013 中国网站建设市场 pdf江苏省网站备案系统
  • 如何登录网站制作平台金融软件网站建设公司排名
  • 荣昌集团网站建设门户网站流程图
  • 网站推广方案及预算哪个网站能学做微商
  • 网站的上一页怎么做源码做网站教程
  • 网站建设众包平台国内十大微信小程序开发公司
  • 蚌埠企业网站建设套餐郑州网站制作公司
  • 网站建设合同详细成都学校网站制作
  • 鲜花网站建设的总体目标wordpress 摘要图片
  • 企业官网网站建设免费wordpress主题兜
  • 产品毕业设计代做网站厦门正规网站建设多少
  • 潍坊知名网站建设天津的公司能在北京做网站备案吗
  • alexa全球排名泰安网站建设推广优化
  • 网站开发中数据库的设计原则深圳公交公司官网
  • 石家庄网站开发多少钱松山湖网站建设
  • 北京建设网站公司网站永和建设集团有限公司网站
  • 做网站是先买域名网站开设作风建设专栏
  • 金华建设监理协会网站中创动力网站建设
  • 山东天狐做网站cms做网站推广运营前景
  • 公司网站建设入什么费用企业员工培训课程内容