Linux系列(11):之bash进阶与数据流导向、管线命令
1.万用字符与特殊字符
在bash的环境下有一个特别有用的功能,那就是万用字符!下面展示常见的万用字符:
1.万用字符

除了万用字符还有一些其他的特殊字符,接下来显示特殊字符。
2.特殊字符

2.数据流重导向
数据流重导向就是将某个指令执行后因该要出现在屏幕上的数据给它传输到其他的地方,比如文件或者设备之类的。
1.什么是数据流重导向

标准输出:将指令执行结果显示到屏幕
标准错误输出:将指令执行出错的信息显示到屏幕
数据的重导向可以将指令执行的结果信息传送到其他地方。
2.重导向特殊字符
有 3种重导向特殊字符,分别对应标准输入、标准输出、标准错误输出。如下所示:


对于标准输出与标准错误输出而言:

重定向符1>等同于>。重定向符1>>等同于>>。
3.重定向命令格式
指令格式:command [options] 重定向符 地址
下面看一下输出重定向实例:

解释一下上图内容,ll指令是‘ls -l’指令的别名,因此第一行指令是以列表的形式在屏幕显示根目录/的下的目录或文件,但是并没显示在屏幕,因为后面用了重定向标准输出符‘>’将输出的内容重定向到zxp_file文件中了。注意如果没有zxp_file这个文件,那么会自动创建该文件。
3.连续指令符
连续下达命令的意思就是在一个行中包含多个指令。
那什么时候需要用到连续指令呢?

1.连续指令符分类
一共可以分为三种。
1.第一种

2.第二、三种


4.管线命令
1.管线命令使用场景

实例:
ls -l /etc | less //显示第一页内容
如果直接使用指令ls -l /etc会显示所有的信息,如果信息太多,会自动选择显示最后一页内容,那么我们如果想要显示第一页的内容那么必须用到管线命令,将ls指令的输出内容作为less指令的输入内容,而less就是从第一页开始显示的,因此会显示第一页内容。
2.管线命令使用原理

3.常用的管线命令
主要的管线命令:cut 、grep ;sort 、wc 、uniq ;tee ;tr 、col 、join 、paste 、expand ;split ;xargs等。
撷取命令:cut、grep
排序命令:sort 、wc、uniq
双向重导向命令:tee
字符转换命令:tr、col、join、paste、expand
分区命令:split
参数代换命令:xargs
1.撷取命令:cut、grep
撷取信息通常是针对“一行一行”来分析,并不是对整篇信息进行分析。
1.cut指令
功能:可以将某一行信息中的某一部分撷取出来

2.grep指令
grep命令的功能:就是将一段数据经过分析取出我们想要的部分,撷取是针对一行为单位进行分析,之后留下符合要求的行,丢弃不符合要求的行。

Linux系列(11):之bash进阶与数据流导向、管线命令的更多相关文章
- 跟着鸟哥学Linux系列笔记3-第11章BASH学习
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 跟着鸟哥学Linux系列笔记2-第10章VIM学习 认识与学习bash 1. ...
- 跟着鸟哥学Linux系列笔记1
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 装完linux之后,接下来一步就是进行相关命令的学习了 第五章:首次登录与在线求助man page 1. X ...
- kali Linux系列教程之BeFF安装与集成Metasploit
kali Linux系列教程之BeFF安装与集成Metasploit 文/玄魂 kali Linux系列教程之BeFF安装与集成Metasploit 1.1 apt-get安装方式 1.2 启动 1. ...
- Linux 学习记录 四(Bash 和 Shell scirpt).
一.什么是 Shell? 狭义的shell指的是指令列方面的软件,包括基本的Linux操作窗口Bash等,广义的shell则包括 图形接口的软件,因为图形接口其实也可以操作各种驱动程序来呼叫核心进行工 ...
- Linux系列(14)之工作管理
1.工作管理 说明:工作管理(job control)是用在bash环境下的,也就是说:“当我们登录系统取得bash shell之后,在单一终端机接口下同时进行多个工作的行为管理”.举例说明,我们在登 ...
- Linux Capabilities 入门教程:进阶实战篇
原文链接:https://fuckcloudnative.io/posts/linux-capabilities-in-practice-2/ 该系列文章总共分为三篇: Linux Capabilit ...
- shell 编程 && bash 简介(shell 变量、shell操作环境、数据流重导向、管线命令、shell script)
如何学习一门编程语言 数据类型 运算符 关键字 1 认识BASH 这个shell linux是操作系统核心,用户通过shell与核心进行沟通,达到我们想要的目的.硬件.核心.用户之间的关系: 原理:所 ...
- 跟着鸟哥学Linux系列笔记2-第10章VIM学习
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 常用的文本编辑器:Emacs, pico, nano, joe, vim VI ...
- [Linux] PHP程序员玩转Linux系列-使用supervisor实现守护进程
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...
随机推荐
- Android学习——MediaProvider与Music模块
一.MediaProvider数据库介绍 1. 关系型数据库 关系模型的物理表示是一个二维表格,由行和列组成. 2. MediaProvider数据库存储位置 /data/data/com.a ...
- Leetcode题目155.最小栈(简单)
题目描述: 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈. push(x) -- 将元素 x 推入栈中.pop() -- 删除栈顶的元素.top() -- 获取栈顶 ...
- TIZ_c 第0周总结(2019/10/15-2019/10/22)工欲善其事必先利其器
TIZ_c 第0周总结(2019/10/15-2019/10/22)工欲善其事必先利其器 任务清单 给自己取一个酷酷的id,并选择1-2个喜欢的方向.(只是初步选择,后期可更改) 改下群名片.例如yo ...
- 在windows系统搭建Flutter开发环境
开发环境搭建(Windows) 系统要求 设置FLutter镜像(非必须) 获取Flutter SDK Android开发环境设置 安装Flutter插件 系统要求 在Windows上要安装并运行Fl ...
- 一个简易的PHP读取CSV文件的方法
1. 思路:先打开文件,读取出文件有多少行,然后逐行读取数据放入一个数组中 public function read_csv_lines($csv_file = '', $lines = 0, $of ...
- matlab将字符串转化为变量的方法
1.将字符串转化为变量的方法,执行 eval(x) 2.将变量转化为字符串的方法,执行 char(a) 讲解 aa = 98 x = 'aa' 目标:通过x得到98,即x->aa->98, ...
- 处理输入为非对角阵的Clustering by fast search and find of density peak代码
Clustering by fast search and find of density peak. Alex Rodriguez, Alessandro Laio 是发表在Science上的一篇很 ...
- SPARQL查询语句整理
本文大多内容来自Joshua Taylor的回答 https://stackoverflow.com/users/1281433/joshua-taylor 查询子类或等价关系 https://sta ...
- Vim的强大配置文件
我的vim配置主要有以下优点: 1.按F5可以直接编译并执行C.C++.java代码以及执行shell脚本,按“F8”可进行C.C++代码的调试 2.自动插入文件头 ,新建C.C++源文件时自动插入表 ...
- centos7.5 解决缺少libstdc++.so.6库的原因及解决办法
centos7. 解决缺少libstdc++.so.6库的原因及解决办法 执行node -v报错如下: [root@bogon ~]# node -v node: error : cannot ope ...