1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 标准输出和标准错误重定向

标准输出和标准错误重定向

时间:2022-07-24 11:37:48

相关推荐

标准输出和标准错误重定向

程序:指令+数据 读入数据:Input 输出数据:Output 在linux中一条指令或者程序,可以分为三种形式: 标准输入:-0 默认接受来自键盘的输入 标准输出:-1 默认输出到终端窗口 标准错误: - 2 默认输出到终端窗口 I/O重定向:改变默认位置 把输出和错误重新定向到文件 支持的操作符号包括: > 把STDOUT重定向到文件,这里默认的是1,省略 2> 把STDERR重定向到文件 &> 把所有输出重定向到文件 需要注意的是,多次> 会覆盖,而并非追加到文件里面的内容 /dev/null是一个类似于回收站的东西,且不能删除此文件,经常利用这个文件来配合使用重定向 例如;给 ttyang用户修改密码123456 echo 123456 | passwd --stdin ttyang > /dev/null > 文件内容会被覆盖 set -C 禁止将内容覆盖已有文件,但可追加 >| file 强制覆盖 set +C 允许覆盖 >> 原有内容基础上,追加内容 例如;此用法了解即可 [root@centos7 data]#echo time out > /data/stdout.log [root@centos7 data]#set -C [root@centos7 data]#echo time out > /data/stdout.log -bash: /data/stdout.log: cannot overwrite existing file 2> 覆盖重定向错误输出数据流 2>> 追加重定向错误输出数据流 标准输出和错误输出各自定向至不同位置 COMMAND > /path/to/file.out 2> /path/to/error.out >默认就是1,标准输出 2>标准错误 合并标准输出和错误输出为同一个数据流进行重定向 &> 覆盖重定向 &>> 追加重定向 两种写法; COMMAND > /path/to/file.out 2>&1 (顺序很重要) COMMAND >> /path/to/file.out 2>&1 之前其实一直不懂第一种写法, 是这样理解的,将标准输出追加到/path/to/file.out,2放到1里面,而1前面已经定义。所以是将所有信息打印到/path/to/file.outtr转换和删除字符Usage: tr [OPTION]... SET1 [SET2] Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c –C --complement:取字符集的补集 -d --delete:删除所有属于第一字符集的字符 -s --squeeze-repeats:把连续重复的字符以单独一个字符表示 -t --truncate-set1:将第一个字符集对应字符转化为第二字符集对应的字符 [:alnum:]:字母和数字 [:alpha:]:字母 [:cntrl:]:控制(非打印)字符 [:digit:]:数字 [:graph:]:图形字符 [:lower:]:小写字母 [:print:]:可打印字符 [:punct:]:标点符号 [:space:]:空白字符 [:upper:]:大写字母 [:xdigit:]:十六进制字符 例如: 1.[root@centos7 ~]#tr abc 123 asfjhvbb 1sfjhv22 其他参数上面所解释搭配使用 从文件中导入标准输入 使用 < 来重定向标准输入 某些命令能够接受从文件中导入的STDIN tr ‘a-z’ ‘A-Z’< /etc/issue 该命令会把/etc/issue中的小写字符都转换成大写字符 tr –d abc < /etc/fstab 删除fstab文件中的所有abc中任意字符 cat > file mage wangxiaochun 按ctrl+d离开,可以使用文件来代替键盘的输入 cat < file1 > file2 cat < file1 >> file1 把多行发送给STDIN 使用“<<终止词”命令从键盘把多行重导向给STDIN 直到 终止词 位置的所有文本都发送给STDIN 有时被称为就地文本(here documents) 例如: 1.[root@centos7 ~]#cat <<$ > sdfnv > adwhdweuyfg > 123 > $ sdfnv adwhdweuyfg 123 2.还有另外一种多行重定向的方式EOF,end of file;它是C语言中生成用于表示文件结束的表示方法。 [root@centos7 ~]#cat <<EOF > test.txt EOF 后面有空格 > lindahd > sadjwfw > deiu23 > EOF [root@centos7 ~]# [root@centos7 ~]# [root@centos7 ~]#cat test.txt lindahd sadjwfw deiu23 pidof bash查看某个进程的进程编号 | 只能传输标准输出,而不能传输标准错误 通过 2>&1、|& 将标准输出和标准错误均通过管道传输 mail: 通过电子邮件发送输入 echo "test email" | mail -s "test" wang@ 其中 test为邮件标题,用双引号连起来 例如:mail -s help root <<EOF > Hello,i am $USER,The system version is here,please help me to check > it ,thanks! > EOF bc:算术运算 echo "2^3" |bc tee命令,配合管道使用,既要打印在屏幕,又可以重定向到文件里 [root@centos7 ~]#hostname |tee /data/f2.log centos7.localdomain tee -a <append> 不覆盖,只是追加的效果 计算1+2+3+...+99+100的总和 echo {1..100}| tr ' ' '+' |bc 或者seq -s+ 100|bc windows中查看用户账号 net user 查看组账号 net localgroup 查看口令期限:net account

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。