重定向

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

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. 167 Two Sum II - Input array is sorted 两数之和 II - 输入有序数组

    给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数.函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2.请注意,返回的下标值(i ...

  2. .net excel 导入 导出

    哎,好好的代码今天说来个实验,结果用的是office15 气死人了,网上最高office14.dll 文章转自2012年 QQ群:13615607 MR.Young protected void Bt ...

  3. 使用预定义的action值启动系统应用

    1.启动浏览器 Intent intent = new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH); //可以传一个搜索关键字,会直接显示 ...

  4. Git之提交项目到远程github

    1.在分支dev下,默认本地工作区有项目project 2. git add project  [添加项目到暂存区] 3. git commit project -m "提交项目" ...

  5. 各 Android 平台版本支持的 API 级别

    平台版本 API 级别 VERSION_CODE 备注 Android 7.0 24 N 平台亮点 Android 6.0 23 M 平台亮点 Android 5.1 22 LOLLIPOP_MR1 ...

  6. ES-Apache Lucene

    前言 在介绍Lucene之前,我们来了解相关的历史. 有必要了解的Apache Apache软件基金会(也就是Apache Software Foundation,简称为ASF)是专门为运作一个开源软 ...

  7. 全文索引Elasticsearch,Solr,Lucene

    最近项目组安排了一个任务,项目中用到了全文搜索,基于全文搜索 Solr,但是该 Solr 搜索云项目不稳定,经常查询不出来数据,需要手动全量同步,而且是其他团队在维护,依赖性太强,导致 Solr 服务 ...

  8. 接口自动化- 基于 Python

    准备工作 这部分其实在谷歌或者百度上搜索下就可以完成的,可是我就是想再啰嗦一遍,说不定有比我更懒的同学呢哈哈~ 第一步 Python的安装配置 打开官网: https://www.python.org ...

  9. 使用sersync实现实时同步实战

    场景需求: 应用程序会在机器192.168.2.2 /usr/local/news目录中生成一些数据文件,现在需要实时同步到主机192.168.3.3/usr/local/www/cn/news中,同 ...

  10. 获取Java接口的所有实现类

    获取Java接口的所有实现类 前言:想看基于spring 的最简单实现方法,请直接看 第七步. 本文价值在于 包扫描的原理探究和实现 一.背景 项目开发中,使用Netty做服务端,保持长连接与客户端( ...