重定向

>    :覆盖输出
>>    :追加输出

2>    :重定向错误输出
2>>    : 追加方式

&>    : 重定向标准输出或者错误输出至同一个文件

<    :输入重定向

管道:前一个命令的输出结果,当做后一个命令的输入

cut -d: -f1 /etc/passwd | sort | tr 'a-z' 'A-Z'
wc -l /etc/passwd | cut -d' ' -f1

tee
输出到屏幕并且保存到文件中
echo "hello world" | tee /tmp/test.txt

1 统计/usr/bin目录下文件个数
2取出当前系统上所有用户的shell,要求每种shell只显示一次,并且按顺序进行显示
3显示/var/log目录下每个文件的内容类型
4取出/etc/inittab文件的倒数第6行
5取出/etc/passwd文件中倒数第9个用户的用户名和shell,显示到屏幕上并将其保存至/tmp/users文件中
6显示/etc/目录下所有以pa开头的文件,并统计其个数
7不使用文本编辑,将alias cls=clear一行内容添加至当前用户的.bashrc文件中

ls /usr/bin |wc -l
cut -d: -f7 /etc/passwd |sort -u
file /var/log/*
tail -6 /etc/inittab | head -1
tail -9 /etc/passwd | head -1 | cut -d: -f1,7 | tee /tmp/users
ls -d /etc/pa* | wc -l
print "alias cls=clear" >> ~/.bashrc

grep egrep fgrep

grep:根据模式,搜索文本,并将符合模式是文本行显示出来
PATTERN:文本字符和正则表达式的元字符组合而成匹配条件

grep [OPTIONS] PATTERN [FILE...]
    -i
    --color
    -v :显示没有被模式匹配到的行
    -o :只显示被模式匹配到的字符串

*:任意长度的任意字符
?:任意单个字符
[]:匹配指定范围内的单个字符
[^]:匹配指定范围外的单个字符
[:digit:] [:lower:] [:upper:] [:punct:] [:space:] [:alpha:] [:alnum:]

grep里面正则表达式和上述不同
元字符:
.:任意单个字符
grep 'r..r' /etc/passwd

字符个数:
*:匹配其前面的字符任意次
    cat test.txt    
    ab, aab, acb, adb, amnb

.*:任意长度的任意字符

\?:匹配其前面字符的1次或0次
\{m,n\}:匹配其前面的字符至少m次,至多n次

grep 'a.\{1,3\}b' test.txt

^:行首
$:行尾
^$:空白行

\<或者\b:其后面的任意字符必须作为单词首部出现
\>或者\b:其前面的任意字符必须作为单词尾部出现

\<abc\> :abc必须作为整个单词出现
        cat test.txt
        this is root
        the user is mroot
        chroot is a command

grep "\<root\>" test.txt

分组:
\(\)
    \(ab\)*
后项引用
    \1:第一个左括号以及与之对应的右括号所包括的所有内容
    \2
    \3
he love his lover.
she like her liker.
he like his lover.
she love her liker.
she like her.

grep '\(l..e\).*\1' test.txt

grep '\([0-9]\).*\1$' /etc/inittab
查找行中出现任意一个数字行尾以相同数字结尾的行

Linux基础之重定向|grep的更多相关文章

  1. Linux基础-正则表达式整理---------------grep、sed、awk

    目录:    Ⅰ:正则表达式    Ⅱ:作业 Ⅰ:正则表达式 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 在lin ...

  2. Linux基础命令之grep

    grep : 根据pattern(模式)搜索文本,并将符合模式的文本行显示出来,并不会修改原文件. 用法: grep  [options]   ‘ pattern ‘  /file       #也可 ...

  3. 【原创】Linux基础之重定向stdout/stderr

    启动进程后查看日志(stdout和stderr) 1 nohup+tail # nohup $cmd > /path/to/file 2>&1 & # tail -f /p ...

  4. Linux基础命令-Nginx-正则表达式( grep sed awk )-Shell Script--etc

    Linux基础使用 学习内容博客 内存 查看swap分区信息 > swapon -s 添加swap分区 > mkswap /dev/sdb2 > 激活 swapon -a /dev/ ...

  5. Linux基础入门

    第一节,linux系统简介 一.实验内容 了解 Linux 的历史,Linux 与 Windows 的区别等入门知识. 二.实验要求 阅读linux简介与历史 三.实验步骤 (一).Linux 为何物 ...

  6. Linux 基础入门(新版)”实验报告一~十二

    实验报告 日期: 2015年9月15日 一.实验的目的与要求 熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令. 二.主要内容 1.Linux 基础入门& ...

  7. Linux基础入门学习笔记20135227黄晓妍

    学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统   2. 能够熟练使用Linux系统的基本命令   3. 熟练使用L ...

  8. Linux 基础入门

    实验一(Linux 系统简介): 了解了一些有关Linux的重要人物,以及 实验二(基本概念及操作): Linux终端 1.Terminal(终端):当你切换到其中一个终端后想要切换回图形界面,你可以 ...

  9. ###Linux基础 - 2

    点击查看Evernote原文. #@author: gr #@date: 2014-10-13 #@email: forgerui@gmail.com 一.Linux基础命令2 mount: 挂载U盘 ...

随机推荐

  1. 523 Continuous Subarray Sum 非负数组中找到和为K的倍数的连续子数组

    非负数组中找到和为K的倍数的连续子数组 详见:https://leetcode.com/problems/continuous-subarray-sum/description/ Java实现: 方法 ...

  2. APPCLOUD禁止滚动条

  3. angularjs之ng-mode获取lobject类型里的键值

    有时候数据库定义的时候,用一个对象来代表某个属性,之后直接访问对象就可以获取全部该对象的属性,但是有时需求访问对象中包含中的键值,引用键值的时候可以直接用.来获取对象的键值,比如 对象points: ...

  4. 在input标签里只能输入数字

    <input type='text' onkeyup="(this.v=function(){this.value=this.value.replace(/[^0-9-]+/,''); ...

  5. markdown快捷键(转)

    markdown快捷键 GLYPH NAME COMMAND Command, Cmd, Clover, (formerly) Apple ALT Option, Opt, (Windows) Alt ...

  6. Pow挖矿流程

    Pow挖矿流程 POW即工作量的证明,主要特征是客户端需要做一定难度的工作得出一个结果,验证方却很容易通过结果来检查出客户端是不是做了相应的工作. Pow挖矿即不断接入新的Block延续Block C ...

  7. axios 里面 then 默认写的function里面没有this,改成箭头函数后就可以用this了

    ,methods:{ loadJson:function(){ //this.jsonTest = "jjj" this.$http.get('http://localhost:3 ...

  8. table、tr、td表格的行、单元格等属性说明

    table.tr.td表格的行.单元格等属性说明 <table>标签定义HTML表格.简单的HTML表格由table元素以及一个或多个tr.th或td元素组成. tr元素定义表格行,th元 ...

  9. AndroidStudio连不上天天模拟器

    问题:天天模拟器经常无法被Android Studio读取出来: 解决方法:手动连接它的端口: 方法一:找到Android\SDK\platform-tools目录,在当前目录下打开命令行窗口(shi ...

  10. 制作SD更新系统时和用mfgtool工具烧录时,文件如何替换?

    制作SD更新系统时和用mfgtool工具烧录时,文件如何替换? 答:制作SD更新系统时,请按照需求选择不同mfgimages-myd*文件夹.每个文件夹里面有一个Manifest文件, 里面规定了ub ...