重定向

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

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. 502 IPO 上市

    详见:https://leetcode.com/problems/ipo/description/ C++: class Solution { public: int findMaximizedCap ...

  2. 一个因xdata声明引起的隐含错误

    我们知道一般增强型c51自身的RAM只有128BYTES,根本不够用,所以一般在定义全局变量,静态变量时都要用XDATA作为关键字修饰数据的的存储类型.但要注意的是,定义和声明一定要一致,不然出现错误 ...

  3. Redis java操作客服端——jedis

    1. Jedis 需要把jedis依赖的jar包添加到工程中.Maven工程中需要把jedis的坐标添加到依赖. 推荐添加到服务层.happygo-content-Service工程中. 1.1. 连 ...

  4. casting in C++

    这是2013年写的一篇旧文,放在gegahost.net上面 http://raison.gegahost.net/?p=39 February 20, 2013 casting in C++ Fil ...

  5. js图片轮播效果常见的产品无缝轮播

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  6. 51nod 1031 骨牌覆盖

    基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  关注 在2*N的一个长方形方格中,用一个1*2的骨牌排满方格.   问有多少种不同的排列方法.   例如: ...

  7. java项目部署jar包

    1. 先将打包成jar包 2. 查看所有的java进程   pgrep java 3. 杀死进程 kill   -9 程序号 4.执行命令  nohup java -jar admin.jar > ...

  8. DROP TABLE - 删除一个表

    SYNOPSIS DROP TABLE name [, ...] [ CASCADE | RESTRICT ] DESCRIPTION 描述 DROP TABLE 从数据库中删除表或视图. 只有其所有 ...

  9. 两个div之间的蜜汁间隙

    两个div左右相邻,想让他们紧挨在一起 加了margin:0:padding:0: 不知道为什么还是会有间隙. 然后在两个div的父元素加了:font-size:0: 就终于挨在一起惹.

  10. PHP20 PHP面向对象辅助

    学习要点 常用函数 命名空间 类的自动加载 常用函数 class_exists 作用:检查类是否已定义 语法格式: bool class_exists ( string $class_name [, ...