Linux重定向符、管道符讲解
目录
重定向 将命令与文件进行互动
重定向分类
一般情况下,Linux命令运行时都会打开以下三个文件
标准输入文件:stdin文件,文件描述符为0,Linux默认从stdin读取数据
标准输出文件:stdout文件,文件描述符为1,Linux默认向stdout写入标准信息
错误输出文件:stderr文件,文件描述符为2,Linux默认向stderr中写入错误信息
输出重定向
输出重定向 将命令的输出结果写入到文件中(屏幕上就不显示输出结果了)
标准输出重定向:将本来要写入到标准文件stdout的数据转到我们指定的文件中
错误输出重定向:将本来要写入到错误文件stderr的数据转到我们指定的文件中
> 清空写入 将命令的标准输出结果写入到某个文件中(此文件的原始数据清空)
>> 追加写入 将命令的标准输出结果写入到某个文件中(保留此文件的原始数据)
2> 错误清空写入 将命令的报错结果写入到文件中(原始文件清空)
2>> 错误追加写入 将命令的报错结果写入到文件中(保留原始文件数据)
&> 不区分输出结果时错误的还是标准的,全部清空写入
&>> 全部追加写入
错误重定向输出的作用
当我们在跑脚本时,这个脚本要安装多个安装包,通过将错误信息写入到文件中,就可以了解到哪些安装包在安装时出现了错误
输入重定向
输入重定向 将文件里面的内容作为命令的输入执行命令(用到的概率较小)
本来的命令需要从标准输入文件stdin中获取,现在转化为从文件中获取
命令 < 文件 将文件作为命令的标准输入
命令 << 分界符 从键盘中读入数据作为命令的标准输入,直到遇到分界符才停止
命令 < 文件1 > 文件2 将文件1作为命令的输入,然后将命令的执行结果写入到文件2
例子
wc -l < 文件名 直接将文件中的内容导入到命令
与wc -l 文件名相比,wc -l读取了文件名,wc -l < 没有读取文件名,直接读取了文件内容
<表示是文件直接把文件内容交给命令
cat << EOF >> 文件名 可以持续的往文件中写入内容,直到输入了EOF
注意:如果命令没有输入,则输入重定向对此命令是没有意义的
管道符 将命令与命令互动起来
管道符(|)可以将前面命令的输入结果传递给后面的命令进行二次处理
命令A | 命令B 将命令A的输出结果给到命令B执行
命令A | 命令B | 命令C 将命令A的输出结果给到命令B执行,执行结果再给到命令C执行
例子
grep /bin/bash /etc/passwd | wc -l 查看多少用户能够正常登录服务器
grep /bin/bash /etc/passwd | cut -d : -f 1 能够正常登录服务器的用户有哪些
如果用户的登录终端是 /bin/bash,则说明这个用户能够正常使用这个账户登录服务器
如果用户的登录终端是/sbin/nologin ,则说明这个用户不能够正常登录登录到服务器(只能管理某些服务)
echo redhat | passwd 用户名 将echo输出的结果作为linuxprobe的用户的密码
并不是所有的命令都支持接收标输入的(passwd需要结合参数才可以接收标准输入)
passswd --stdin 通过接收标准输入的形式接收密码
echo redhat | passwd --stdin 用户名
管道符和重定向结合
cat abc.txt | tr [a-z] [A-Z] > 123.txt
将abc文件中的小写字母替换为大写字母,并将修改后的内容写入到123文件中
相关文章
- Linux学习之常用压缩命令(三)
- 每天一个linux命令(12):more命令
- linux怎么模糊查找一个文件
- linux分享二:Linux如何修改字符集
- Qt编写地图综合应用57-跨平台(win、linux、mac、uos、kylin等)
- Kali Linux安装go语言环境详解
- Linux网络编程(3)——多进程、多线程
- linux 重定向 标准错误与标准输出到同一文件
- linux学习之八---Linux进程基础知识
- 举例说,Linux核心名单(两)
- 【Linux】linux经常使用基本命令
- L83.linux命令每日一练 -- 第11章 Linux系统管理命令 -- ipcs和ipcrm
- L82.linux命令每日一练 -- 第11章 Linux系统管理命令 -- dmidecode和lspci
- L36.linux命令每日一练 -- 第五章 Linux信息显示与搜索文件命令 -- locate和updatedb
- L2.linux命令每日一练 -- 第一章 Linux命令行简介
- 嵌入式linux开发,Linux下访问PHY芯片寄存器
- Linux基础命令-kill向进程发送信号
- Linux查找文件和目录,重定向输出 ,系统默认运行级别的查看和设置理论和练习
- 【阅读笔记】Linux是怎样工作的1
- 【实施工程师之家】linux安装tomcat(yum安装tomcat)
- 02 从头开始atac项目 ubuntu20 install r4.2 Linux系统环境配置 服务器版本的rstudio r install in linux /ubuntu/centos