10-IO重定向、管道及文本处理工具

bash的快捷键

Ctrl+l : 清屏 相当于clear命令:

Ctrl+a:跳转至命令开始处:

Ctrl+e:跳转至命令结尾处:

ctrl+c :取消命令的执行

ctrl+u:删除命令行首至光标所在处的所有内容:

Ctrl+k:删除光标所在处至命令行尾部的所有内容:

4 、bash的的I/O重定向及管道

程序: 指令+数据

读入数据:Input

输出数据:output

打开的文件都有一个fd: file descriptor (文件描述符)

标准输入:keyboard ,0

标准输出:monitor 1

标注错误输出: monitor 2

I/O重定向:改变标准位置

输出重定向: echo AAA > LLL, AAA >>> LLL

>:覆盖重定向,目标文件中的原有内容会被清除:

>>:追加重定向,新的内容会追加至目标文件尾部:

#set -C:禁止将内容覆盖输出至已有文件中:

强制覆盖: >|

#set +C:

2>:覆盖重定向错误输出数据流:

2>>:追加重定向错误输出数据流:

标准输出和错误输出各自定向至不同位置:

tail -100 /etc/rc.d/rc.sysinit >  /tmp/sysinit.out 2> /tmp/sysinit.err

合并标准输出和错误输出为同一个数据流进行重定向:

&>覆盖重定向

&>> 追加重定向

COMMANO > /path/to/file.out 2> &1

COMMANO > /path/to/file.out 2>> &1

输入重定向:<

tr命令:转换或删除字符

tr [OPTION]... SET1 [SET2]

HERE Documentation: <<

#cat << EOF

#cat> /path/tosomefile <<EOF

管道:

COMMANO1 |COMMANO2 |COMMANO3 |...

Note:最后一个命令会在当前shell进程的子shell进行执行:

tee

tee [OPTION]... [FILE]...

练习:

将/etc/password文件的文件中的前5行内容转换为大写后保存至/tmp/passwd.out文件中:

head -n 5 /etc/passwd |tr "a-z" "A-Z" > /tmp/passwod

将登录至将前系统上用户信息的后3位的信息转换为大写后保存至 /tmp/who.out文件中:

who | tail -n 3  | tr ‘a-z‘ ‘A-Z‘ >/tmp/who.out

文本处理工具: wc , cut , sort ,uniq

wc命令:

wc [OPTION]... [FILE]...

-l:lines 显示行数字

-w: words 显示单词数

-c:characters 显示字节数

cut命令:

cut [OPTION]... [FILE]..

-d DELIMITER:指明分隔符

-f FILEDS:

#:第#个字段

#,#[,#] 高散的多个字段 例如1,3.7

#-#:连续的多个字段 例如1-7

混合使用: 1-3,7

--output-delimiter=STRING

sort命令:

sort [OPTION]... [FILE]...

-f:忽略大小写

-r:逆序

-t DELIMITER:字段分隔符

-k #:以指定字段为标准排序

-n以数值大小进行排序

-u uniq:排序后去重

uniq命令:

uniq  [OPTION]... [FILE]...

-c:显示每行重复出现的次数:

-d仅显示重复过的行:

-u:仅显示不管重复的行

Note:连续且完全相同方为重复

练习:

以冒号分隔,取出/etc/passwd文件的第6至第10行 并将这些信息按第3个字段的数值大小进行排序:最后仅显示的各自的第1个字段:

[[email protected] ~]# cut -d: -f6-10 /etc/passwd |cut -f3 | sort -n |uniq -c

时间: 2024-12-04 20:19:24

10-IO重定向、管道及文本处理工具的相关文章

IO重定向&管道&元字符

一.glob及IO重定向 bash基础特性:命令补全,路径补全,命令引用 1.bash的其他特性 globbing:文件名统配 动态角度:运行中的内核,在内核之上,由内核支配负责管控的文件系统 静态:内核自己其实也是文件系统上的一个文件而已 2.元字符 匹配模式:元字符: *:匹配任意长度的任意字符 *pa* 包含pa pa*  pa开头 *pa pa结尾, ?:匹配任意单个字符 []:匹配指定范围内的任意单个字符 有几种特殊格式: [a-z],[A-Z],[0-9],[a-z0-9] [abc

Linux基础之IO重定向及管道详解(涉及tr、tee命令)

我在刚开始接触IO重定向时,经历了由懂到不懂然后了然的过程,当然现在的我也不可能说对于IO重定向就彻底懂了,只是在解决一些问题或实现某些结果时不会因为IO重定向的问题而迷惑了.     什么叫IO重定向? 为了解释这个问题,我们要先明白什么叫IO,什么叫做程序的数据流. 什么叫IO? 在Linux或计算机领域IO指的是信息的输入和输出. 在Linux中可用于输入的设备:文件(Linux中一切皆文件) 具体包括:键盘设备.文件系统上的常规文件.网卡等. 在Linux中用于输出的设备:文件 具体包括

bash的基本特性之文件名通配 及IO重定向,管道详解

本篇博文依然涉及到bash的基本特性 文件名通配,并讲解IO重定向以及管道的使用 管道配合tr命令的应用 bash的基础特性之一:文件名通配 globbing:文件名通配(整体文件名匹配,而非部分) 匹配模式:元字符 *:匹配任意长度的任意字符 pa*,*pa*,*pa,*p*a* ?:匹配任意单个字符 pa?,??pa,p?a,p?a? []:匹配指定范围内的任意单个字符 有几种特殊字符: [a-z],[A-Z],[0-9],[a-z0-9] [[:upper:]]:所有大写字母 [[:low

Linux中IO重定向和管道

IO重定向和管道 根据冯诺依曼原理的知识,计算机运行有数据流的输入和输出,称之为IO. Linux中一切皆文件思想,表现为具体的文件. 在linux中打开的文件都有一个fd(File Descriptor):文件描述符 程序:指令+数据 读入数据:Input 输出数据:Output Linux给程序提供三种I/O设备: 1. 标准输入(STDIN): -0 默认为接受键盘输入2. 标准输出(STDOUT):-1 默认为输出到终端窗口3. 标准错误(STDERR):-2 默认为输出到终端窗口注:标

探秘linux-文件管理(inode理解)及管道和IO重定向

一.文件管理 1.Linux系统上各主要目录的简介 / 根,所有文件的起点 bin 存放操作系统启动时的引导程序,以及操作系统内核文件 boot 存放操作系统启动时的引导程序,以及操作系统内核文件 dev 存放设备文件和特殊文件(如字符设备) etc 存放配置文件的目录 home 普通用户的家目录默认都在此目录下 lib 存放系统库和内核模块文件 (/lib/modules) lib64 存放x86_64位系统上共享库文件 media 系统上提供的设备挂载点 misc 系统上提供的设备挂载点 m

Linux管道及IO重定向小练习

1.统计/usr/bin目录下的文件个数 [[email protected] ~]# ls /usr/bin | wc -l 1306 [[email protected] ~]# 2.取出当前系统上所有用户的SHELL,要求,每种SHELL只显示一次,并且按顺序进行显示 [[email protected] ~]# cut -d: -f7 /etc/passwd | sort -u /bin/bash /bin/nologin /bin/sync /bin/tcsh /sbin/halt /

linux下的IO重定向与管道相关的知识简析

一.bash重定向部分简单翻译 1.1.bash手册关于重定向短短的注解(因为过于经典,所以摘录出来) 我的翻译要开始毁经典啦... 参考:https://blog.csdn.net/spch2008/article/details/51433353/ https://www.cnblogs.com/lqminn/archive/2013/05/30/3108283.htmlhttps://bash.cyberciti.biz/guide/Here_stringshttps://bbs.csdn

Linux基础入门--IO重定向及管道

IO重定向及管道 一直都提到,程序:指令+数据 其实程序也有IO,数据的来源有多个地方:文件.外部 可用于输入的设备:文件(linux一切皆文件) 键盘设备.文件系统上的常规文件加载内容.网卡等: 可用于输出的设备:文件(linux一切皆文件) 显示器.文件系统上的常规文件输出保存.网卡等: 程序的数据流有三种: 输入的数据流:<-- 标准输入(stdin),是键盘: 输出的数据流:--> 标准输出(stdout),显示器: 错误输出流:  --> 错误输出(stderr),显示器: f

Linux学习笔记——管道及IO重定向

管道及IO重定向 运算器.控制器:CPU 存储器:RAM 输入/输出设备   I/O 程序:指令和数据 控制器:指令 运算器: 存储器: 地址总线:内存寻址 数据总线:传输数据 控制总线:控制指令 I/O: 程序:指令和数据 INPUT设备: OUTPUT设备: 系统设定:  默认输出设备:标准输出,STDOUT,1   默认输入设备:标准输入,STDIN,0 标准错误输出:STDERR,2 标准输入:键盘 标准错误输出:显示器 I/O重定向: linux:  >:覆盖输出 >>:追加输