数据流重导向

重导向redirect:就是将当前的所得数据输出到其他地方;

三种输出输入的状况,分别是:

—标准输入stdin:代码为0;使用<或<<

—标准输出stdout:代码为1;使用方式为1>或>>;

—标准输出stderror:代码为2;使用的方式为2>或2>>;

Find / -name file 1> list_right 2>list_error;

同时写入同一个档案

find / -name file 1>list 2>&1(推荐使用这个,后面这个命令使用会使错误信息输出不全);或find / -name file >list 2>list

(cat主要有三大功能:

1.一次显示整个文件。$ cat filename

2.从键盘创建一个文件。$ cat > filename  

   只能创建新文件,不能编辑已有文件.

3.将几个文件合并为一个文件: $cat file1 file2 > file

参数:

-n 或 --number 由 1 开始对所有输出的行数编号

-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号

-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行

-v 或 --show-nonprinting

双向重导向tee

tee :将数据流同时输出到屏幕和文件;

tee –a
file

-a :以累加的方式,将数据加入file中;

命令执行的判断依据:;&& ||

Command1;command2
利用分号“;”来分隔,这个分号的意思,代表不论command1执行结果为何,command都会被执行;

Command1
&&command2 如果command1正确才执行command2;

Command1
||command2 如果command1错误才执行command2;

管道命令(pipe

切记:管道命令“|”只能处理通过前面一个命令传来的正确信息,也就是标准输出(STDOUT)的信息,对于标准错误,没有处理能力;

 
   

选取命令cut 和grep

选取命令:就是将一段数据分析后,取出我们想要的部分(cut),或者是,通过分析关键字,取得我们想要的行(grep)。选取信息通常是针对“逐行”分析得到的,而不是针对整个信息分析的。

Cut :就是切,这个命令可以将一段信息的某段切出来,消息以行为单位;

Cut –d “分隔字符” –f
fields

Cut –c 字符范围

参数说明:

-d:后面接分隔符,预设是空格符,与-f一起使用;

-c:以字符为单位取出固定的字符范围;-f:根据-d分隔符一段消息分为数段,用-f是取出第几段的意思;

Grep 分析一行信息,若其中有需要的信息,就将这一行信息显示出来;

Grep [-acinv] ‘搜索字符串’ filename

-a 将二进制文件以文本的方式搜索数据;

-c 计算找到‘搜索字符串‘的次数;-i:忽略大小写的不同,所有大小写视为相同;-n:顺便输出行号;-v:反向选择,即显示没有‘搜索字符串的那一行’

排序命令:sort  wc uniq

Sort [-fbMnrtuk]
[file or stdin]

参数说明:-f:忽略大小写的差异,-b:忽略最前面的空格字符部分;-M:以月份的名字赖排序;-n:使用纯数字排序(默认使用文字类型来排序);-r:反向排序;-t:分隔符,默认是tab;-u:就是uniq,相同数据,只列出一次显示;-k:按那个字段(field)来排序;

Uniq [-ic]

-i 忽略大小写;-c 进行计数;

wc [-lwm]

-l 仅显示多少行;-w 仅显示有多少字;-m 多少字符;

字符转换命令

字符转化命令tr,col,join,paste,expand;

tr 可以用来删除一段信息当中的文字,或者是进行文字信息的替换;tr [-ds] str …

参数:-d :删除信息当中的str这个字符串;-s :取代掉重复的字符;

 
 

Linux中bashshell的一些知识的更多相关文章

  1. Linux基础知识第九讲,linux中的解压缩,以及软件安装命令

    目录 Linux基础知识第九讲,linux中的解压缩,以及软件安装命令 一丶Linux Mac Windows下的压缩格式简介 2.压缩以及解压缩 3.linux中的软件安装以及卸载 1.apt进行安 ...

  2. linux中用户信息及密码相关知识

    在linux中若修改用户信息.密码,组群信息.密码等.其实是在修改/etc/passwd,/etc/shadow,/etc/group,/etc/groupshadow等文件的内容. 这四个文件的意思 ...

  3. 在 Linux 中安装 Oracle JDK 8 以及 JVM 的类加载机制

    参考资料 该文中的内容来源于 Oracle 的官方文档 Java SE Tools Reference .Oracle 在 Java 方面的文档是非常完善的.对 Java 8 感兴趣的朋友,可以直接找 ...

  4. linux中inode、软链接、硬链接

    1 软链接 linux中软链接理解成window中的快捷方式.创建软链接的命令 ln -s 源文文件或目录 目标文件或目录 2 硬链接 创建硬链接的命令如下 ln  源文文件或目录 目标文件或目录 3 ...

  5. linux系统下的权限知识梳理

    下面对linux系统下的有关权限操作命令进行了梳理总结,并配合简单实例进行说明.linux中除了常见的读(r).写(w).执行(x)权限以外,还有其他的一些特殊或隐藏权限,熟练掌握这些权限知识的使用, ...

  6. Linux中fork的秘密

    linux中fork()函数详解         一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以 ...

  7. Windows转到linux中,文件乱码,文件编码转换 & 解决sqlplus连接oracle乱码

    转载:http://www.cnblogs.com/wanyao/p/3399269.html 最近,学习又重新开始Linux学习,所以一直在Centos中,昨天一朋友把他在Windows下写的C程序 ...

  8. Linux快速入门04-扩展知识

    这部分是快速学习的最后一部分知识,其中最重要的内容就是源码的打包和软件的安装的学习,由于个人的Linux学习目的就是自己能在阿里云Ubuntu上搭建一个简单的nodejs发布环境. Linux系列文章 ...

  9. linux 中/proc 详解

    proc 文件系统 在Linux中有额外的机制可以为内核和内核模块将信息发送给进程-- /proc 文件系统.最初设计的目的是允许更方便的对进程信息进行访问(因此得名),现在它被每一个有有趣的东西报告 ...

随机推荐

  1. 【修改 UITextField 中 placeholder 的顏色】

    第一种方法: [textfeild setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"]; ...

  2. XML带多属性解析为一个实体类(利用反射)

    最近在对接一个银行的项目,大概就是类似一个钱包的功能,在请求返回的数据时,发现返回的数据标准的XML格式的支付串,格式如下 <kColl id="inputOrig" app ...

  3. 动态创建 Lambda 表达式

    首先我们看一个简单 Lambda 表达式的构成. i => i > 5 在这个表达式中,"i" 被称为 Parameter,"i > 5" 是 ...

  4. 设计模式之单例模式Singleton(三创建型)

    1.什么事单例模式? 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 单例模式有以下特点: 1.单例类只能有一个实例. 2.单例类必须自己创建自己的唯一实例. 3.单例类必须 ...

  5. UWP学习记录10-设计和UI之控件和模式7

    UWP学习记录10-设计和UI之控件和模式7 1.导航控件 Hub,中心控件,利用它你可以将应用内容整理到不同但又相关的区域或类别中. 中心的各个区域可按首选顺序遍历,并且可用作更具体体验的起始点. ...

  6. WPF下的Richtextbox中实现表格合并,添加删除行列等功能

    .Net中已有现在的方法实现这些功能,不过可能是由于未完善,未把方法公开出来.只能用反射的方法去调用它. 详细信息可以查看.Net Framework 的源代码 http://referencesou ...

  7. VisualSVN Server的配置和使用方法(转)

    1.为什么要用VisualSVN Server,而不用Subversion? 回答: 因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Serve ...

  8. 数量经济学推荐的Julia教程

    http://quant-econ.net/jl/learning_julia.html Julia最为号称和c媲美的运行速度,想python一下简单的语法,虽然发展还不完善,但任然值得去关注. Ju ...

  9. Swift 获取屏幕宽高

    let screenh = UIScreen.mainScreen().applicationFrame.size.heightlet screenw = UIScreen.mainScreen(). ...

  10. android 查看当前正在运行的进程

    转载至 https://github.com/wenmingvs/AndroidProcess 因为Android5.0以上的权限封锁,无法直接获取正在运行的进程,此文总共介绍6中方法获取, 详细介绍 ...