Linux中的错误重定向你真的懂吗】的更多相关文章

在很多定时任务里.shell里我们往往能看到 "2>&1",却不知道这背后的原理. 举个例子: * 1 * * * test.sh > /dev/null 2>&1 这里的”2>&1“的意思是把标准错误重定向到标准输出. 0:代表标准输入 1:代表标准输出 2:代表标准错误 上面的例子"2>&1"已经知道是将标准错误重定向到标准输出,而test.sh的标准输出就是/dev/null,所以这条语句的结果(标…
重定向即指:将数据传送输出到别的地方,如设备.文件等等.那就涉及到将什么数据传送到什么地方的问题. 在linux中命令执行的起源和结果说起,看下图: Standard input和Standard error都会输出到屏幕上,这样会将屏幕搞的非常混乱,且又是输出内容过多也不易于阅读.甚至有时候的输出内容非常重要需要保存,这是该怎么办?? 答案是:数据重定向,将输出内容导入到别的地方. linux中数据重定向的特殊符号: 标准输入:代码为0,使用<或者<< 标准输出:代码为1,使用1>…
输入输出解释 当我们执行shell的时候,每个进程都和三个打开的文件有关系,并使用文件描述符来引用这些文件.但这些文件不容易记忆,所以shell给了相应的文件名: 0:输入文件-标准输入(它的命令是输入,缺省是键盘,也可以是文件或者其他命令的输出) 1:输出文件-标准输出(它的命令是输出,缺省是屏幕,也可以是文件) 2:错误输出文件-标准输出(它的命令是错误的输出,缺省是屏幕,也可以是文件)(或许会有疑问,为什么会定义错误输出,因为很多人喜欢把错误单独输出,或者在处理大数据文件时,可能产生很多的…
标准输入输出: 键盘        /dev/stdin        0       标准输入 显示器    /dev/stdout      1       标准输出 显示器    /dev/stderr       2       错误输出 输出重定向 正确输出: 命令 > 文件 以覆盖的形式,把命令的正确输出写入指定文件中 命令 >> 文件 以追加的形式,把命令的正确输出写入指定文件中 错误输出: 命令 2> 文件 以覆盖的形式,把错误信息写入指定文件中 命令 2>&…
1 :分号 格式:命令1:命令2;命令3 说明:命令之间用分号隔开是顺序执行,命令之间没有任何逻辑关系 2  &&  逻辑与 格式:命令1 && 命令2 说明:命令1正确执行,命令2才会执行:命令1执行失败,则命令2不会执行 3  || 逻辑或 格式:命令1 || 命令2 说明:命令1执行错误,则命令2才会执行:命令1执行正确,则命令2不会执行 4  复制磁盘 dd if=输入文件 of=输出文件 bs=字节数  count=个数 说明:if->输入文件 指定源文件或…
#include // void perror(const char *msg); #include // char *strerror(int errnum); #include //errno errno 是错误代码,在 errno.h头文件中: perror是错误输出函数,输出格式为:msg:errno对应的错误信息(加上一个换行符): strerror 是通过参数 errnum (就是errno),返回对应的错误信息. 以下是测试程序: // p_str_error.c // perro…
编译一个opencv程序,链接的时候出现大量的如下错误: /home/admin/opencv/opencv-master/modules/imgproc/src/color_lab.cpp:23: undefined reference to `cv::softfloat::softfloat(int)' softfloat是个什么鬼?应该链接哪个库才行? vi /home/admin/opencv/opencv-master/modules/imgproc/src/color_lab.cpp…
linux中nginx 301重定向跳转方法总结 第一种情况:访问aaaaaaa站定向到bbbbbbbbbbb站 复制代码代码如下: server { server_naaaaaaame www.aaaaaaa.com ; rewrite ^(.*) http://www.bbbbbbbbbbb.com$1 permaaaaaaanent; } 第二种情况:不是访问aaaaaaa站的全部重定向到指定页面 复制代码代码如下: server { server_naaaaaaame www.aaaaa…
linux的标准的输入和输出为如下 我们在 linux中执行命令时,命令默认输出到console中,很多时候我们需要将命令输出到其他设备上如最常见的就文件中去,或者重文件中输入.那这时候就需要用到linux的输入和输出的重定向了. 常用文件重定向命令: command >file: 标准输出重定向到一个文件,错误仍然输出屏幕 command >>file: 标准输出重定向到一个文件(追加) command 1>file1: 标准输出重定向到一个文件 command 2>>…
[root@localhost~]#序言 在今后的工作中,运维工程师每天的例行事务就是使用free -m,top,uptime,df -h...每天都要检查一下服务器,看看是否出现异常.那么今天我们就讲解一下关于运维工程师例行事务的知识!  开班第十一天: [root@localhost~]#今天的课程大纲 查看进程,中断进程,切换进程 内存与swap分区 linux中文件查找的基本方法 linux中是如何解压缩文件的 关于I/O重定向的知识点 远程scp配合管道 详细讲解: [root@loc…
  Linux 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示.一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器. 输出重定向:命令的输出不仅可以是显示器,还可以很容易的转移向到文件,这被称为输出重定向.   命令输出重定向的语法为: $ command > file 这样,输出到显示器的内容就可以被重定向到文件.   例如下面的命令在显示器上不会看到任何输出: $ who > users 打开 users 文件,可以看到下面的内容:…
Shell中可能经常能看到:>/dev/null  2>&1 eg:sudo kill -9 `ps -elf |grep -v grep|grep $1|awk '{print $4}'` 1>/dev/null 2>/dev/null 命令的结果可以通过%>的形式来定义输出 /dev/null 代表空设备文件 > 代表重定向到哪里,例如:echo "123" > /home/123.txt    1 表示stdout标准输出,系统默…
1.什么是shell Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器).它接收用户输入的命令并把它送入内核去执行.起着协调用户与系统的一致性和在用户与系统之间进行交互的作用. Shell在Linux系统上具有极其重要的地位 2.命令解释过程 Shell可以执行:内部命令.应用程序.shell脚本 3.Shell的种类 常见的各种版本的shell:  Bash(Bourne Again Shell) bash是大多数Linux系统的默认Shell.bash与bsh完…
Linux中syntax error near unexpected token ... 错误提示有一般有两种原因: 1)window和Linux下换行符不一致导致 window下的换行和Linux下的换行不同,如果将window下编写的代码文件上传到Linux下,容易出现该错误提示.可用 vi -b 文件名 或者cat -v 文件名命令查看,如果是游云换行符引起的,则每行后面有^M,这时只要将每个^M去掉即可. 2)Linux指令之间没有空格隔开…
http://www.cnblogs.com/chenmh/p/5382044.html 问:其中 的2>&1是怎么回事? . test.sh > test.log 2>&1 答: >和<是 文件重定向符.在shell中,每个进程都和三个系统文件相关联: 标准输入stdin,文件描述符为0 标准输出stdout,文件描述符为1 标准错误stderr,文件描述符为2 所以这里2>&1的意思就是将标准错误也输出到标准输出当中. 示例: 下面通过一个例…
在Linux中调试段错误(core dumped) 在作比赛的时候经常遇到段错误, 但是一般都采用的是printf打印信息这种笨方法,而且定位bug比较慢,今天尝试利用gdb工具调试段错误. 段错误(core dumped)一般都是数组索引位置不对,或者是数组越界等问题造成,在Linux环境下编程应该很容易就会遇到. GDB调试的具体流程 查阅资料发现几个讲Core dump的具体方法: How to get a core dump for a segfault on Linux. How to…
在Linux shell中, 数据重定向使用 > < 符号,管道命令使用 | 符号链接前后两个命令. 具体区别如下: 数据重定向 1.(>): 左侧应该有标准输出 > 右侧只能是文件 2. ( < ) :  左边需要标准输入 < 右边只能是文件 管道: 出发两个子进程执行“|”两边的程序,而重定向是在一个进程内进行的.…
cat或者tail -f命令 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一/var/log/secure 与安全相关的日志信息/var/log/maillog 与邮件相关的日志信息/var/log/cron 与定时任务相关的日志信息/var/log/spooler 与UUCP和news设备相关的日志信息/var/log/boot.log 守护进程启动和停止相关的日志消息系统: # uname -a # 查看内…
一般我们在Linux中执行命令的时候,会报 Command not found 的错误,报这种错误一般有两种原因:一是你的系统中没有安装这个命令,需要你手动安装,另外一种原因就是平常这些命令用着好好的,突然间不能使用了,例如ls命令.cat命令等,出现这种现象的原因很有可能是因为你修改了/etc/profile 文件,可能是因为你在配置某个软件,例如JDK或者Tomcat的环境变量时,配置错误导致的.出现这个问题的的解决方式是先执行 export PATH=/usr/local/sbin:/us…
1.想要把make输出的全部信息,输出到某个文件中,最常见的办法就是: make xxx > build_output.txt 此时默认情况是没有改变2=stderr的输出方式,还是屏幕,所以,如果有错误信息,还是可以在屏幕上看到的. 2.只需要把make输出中的错误(及警告)信息输出到文件中ing,可以用: make xxx 2> build_output.txt 相应地,由于1=stdout没有变,还是屏幕,所以,那些命令执行时候输出的正常信息,还是会输出到屏幕上,你还是可以在屏幕上看到的…
Linux就这个范儿 第15章 七种武器  linux 同步IO: sync.fsync与fdatasync   Linux中的内存大页面huge page/large page  David Cutler  Linux读写内存数据的三种方式 台湾作家林清玄在接受记者采访的时候,如此评价自己30多年写作生涯:“第一个十年我才华横溢,‘贼光闪现’,令周边黯然失色:第二个十年,我终于‘宝光现形’,不再去抢风头,反而与身边的美丽相得益彰:进入第三个十年,繁华落尽见真醇,我进入了‘醇光初现’的阶段,真正…
Linux 必学的 60 个命令 Linux 提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在 Linux 系统上工作离不开使用系统提供的命令.要想真正理解 Linux 系统,就必须从 Linux 命令学起,通过基础的命令学习可以进一步理解 Linux 系统. 不同 Linux 发行版的命令数量不一样,但 Linux 发行版本最少的命令也有 200 多个.这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个…
Linux的磁盘管理 (很重要请注意高能预警) 硬盘:几个盘片,双面,磁性颗粒, 处理速率不同步:借助于一个中间层 文件系统(FileSystem)     可以实现对磁盘行的文件进行读写     文件系统其实就是一个特殊软件,是直接安装到硬盘上的 硬盘分类     机械硬盘:         盘片组,磁头,磁头臂         马达.空气过滤片     固态硬盘         类似与内存的结构 机械硬盘简介     磁道(Track):磁盘旋转时候的同心圆,磁道编号从外向内,从0开始编号.…
“三次握手,四次挥手”你真的懂吗?  mp.weixin.qq.com 来源:码农桃花源 解读:“拼多多”被薅的问题出在哪儿?损失将如何买单? 之前有推过一篇不错的干货<TCP之三次握手四次挥手>,前几天有兄弟投稿,开始还以为是同一篇,后经仔细研读,收获颇丰!!!所以,必须转出来推荐大家一起学习一下!!! 由于本文比较长,建议先收藏,如果一次没看完,回头还容易找到!另外,如果您也绝对本文不错,可以在文末关注作者哦! 记得刚毕业找工作面试的时候,经常会被问到:你知道“3次握手,4次挥手”吗?这时…
shell中默认有三个标准设备:标准输入(STDIN).标准输出(STDOUT).标准错误(STDERR). 在Linux系统中,一切(或几乎一切)都是文件.因此,标准输入的文件描述符是0,标准输出的文件描述符是1,标准错误的文件描述符是2. shell命令的输出默认显示在终端显示器上,示例如下: $ echo hello worldhello world 可以使用输出重定向符号把标准输出重定向到一个文件,示例如下: $ echo hello world > log.txt$ cat log.t…
grep命令 grep(global search regular expression)是一种强大的文本搜索工具,它可以使用正则表达式搜索文本,并把匹配的行打印出来.平时搜索文本中内容的时候是非常方便的. 格式: grep [option] pattern filename 主要选项: -A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容. -o 只输出文件中匹配到的部分. -v 反转查找. -i 忽略字符大小写的差别. -E 使用扩展正则表达式. -c 计算匹配到的列数…
linux 驱动程序中 container_of宏解析 众所周知,linux内核的主要开发语言是C,但是现在内核的框架使用了非常多的面向对象的思想,这就面临了一个用C语言来实现面向对象编程的问题,今天我们就来讲讲其中一个例子. 利用结构体中元素指针获取结构体指针 Kobject是linux设备驱动模型的基础,也是设备模型中抽象的一部分. linux内核为了兼容各种形形色色的设备,就需要对各种设备的共性进行抽象,抽象出一个基类,其余的设备只需要继承此基类就可以了. 而此基类就是kobject(暂且…
你真的懂异常(Exception)吗? 目录 异常介绍 异常的特点 怎样使用异常 处理异常的 try-catch-finally 捕获异常的 Catch 块 释放资源的 Finally 块 一.异常介绍 我们平时在写程序时,无意中(或技术不够),而导致程序运行时出现意外(或异常),对于这个问题, C# 有专门的异常处理程序. 异常处理所涉及到的关键字有 try.catch 和 finally 等,用来处理失败的情况. CLR..NET 自身的类库.其它第三方库或者你写的程序代码都有可能会出现异常…
在我该系列的之前的所有随笔中,都是采用 Linux 发行版自带的包管理工具(如 apt-get.yum 等)进行软件的安装和卸载,从来没有向大家展示使用源代码自行编译安装软件的方法.但是长期混迹于 Unix/Linux 世界的童鞋们都知道,从源代码自行编译安装软件并不是那么的难,一般都是这样三个步骤: configure make make install 之所以能够把源代码的构建管理得如此简单,这得益于 Gnu 的 Autotools 工具链.在上面的三个命令中,configure 是一个脚本…
1 , Use locate command It is a fast way to find the files location, but if a file just created ,it will can not found use it. You may need run updatedb to update the database 2, Use find command "find" will search on your disk not from the datab…