Linux入门笔记——cat、sort、uniq、wc、head、tail、tee

cat - 连接文件

    cat 命令读取一个或多个文件,然后复制它们到标准输出。你可以使用 cat 来显示 文件而没有分页
    cat 经常被用来显示简短的文本文件。
案例 意义
cat ls-output.txt 读取文件标准输出
cat movie.mpeg.0* > movie.mpeg
连接文件,cat 可以 接受不只一个文件作为参数,所以它也可以用来把文件连接在一起。比方说我们下载了一个 大型文件,这个文件被分离成多个部分(USENET 中的多媒体文件经常以这种方式分离), 我们想把它们连起来。我们能用这个命令把它们连接起来:
因为通配符总是以有序的方式展开,所以这些参数会以正确顺序安排。

管道符号

    使用管道操作符”|”(竖杠),一个命令的 标准输出可以管道到另一个命令的标准输入:command1 | command2
例如:ls -l /usr/bin | less
将ls -l /usr/bin命令的输出内容作为 less命令的输入,最终的运行是less分页的显示ls -l /usr/bin运行的结果内容

排序

    管道线经常用来对数据完成复杂的操作。有可能会把几个命令放在一起组成一个管道线。 通常,以这种方式使用的命令被称为过滤器。过滤器接受输入,以某种方式改变它,然后 输出它。第一个我们想试验的过滤器是 sort。想象一下,我们想把目录/bin 和/usr/bin 中 的可执行程序都联合在一起,再把它们排序。
    例如:ls /bin /usr/bin | sort | less
    因为我们指定了两个目录(/bin 和/usr/bin),ls 命令的输出结果由有序列表组成, 各自针对一个目录。通过在管道线中包含 sort,我们改变输出数据,从而产生一个 有序列表。

过滤器

    uniq 命令(报告或忽略重复行)经常和 sort 命令结合在一起使用。uniq 从标准输入或单个文件名参数接受数据有序 列表(详情查看 uniq 手册页),默认情况下,从数据列表中删除任何重复行。所以,为了确信 我们的列表中不包含重复句子(这是说,出现在目录/bin 和/usr/bin 中重名的程序),
我们添加 uniq 到我们的管道线中:ls /bin /usr/bin | sort | uniq | less
在这个例子中,我们使用 uniq 从 sort 命令的输出结果中,来删除任何重复行。如果我们想看到 重复的数据列表,让 uniq 命令带上”-d”选项,就像这样: ls /bin /usr/bin | sort | uniq -d | less

WC(字计数)

wc(字计数)命令是用来显示文件所包含的行数,字数和字节数。


grep(打印匹配行)

grep 是个很强大的程序,用来找到文件中的匹配文本。
grep 命令格式:grep pattern [file...]
例如:我们想在我们的程序列表中,找到文件名中包含单词”zip”的所有文件
ls /bin /usr/bin | sort | uniq | grep zip
grep 有更方便的选项:”-i”告诉 grep 当执行搜索时忽略大小写(通常,搜索是大小写 敏感的);
”-v”选项会告诉 grep 只打印不匹配的行。

head / tail(打印文件开头部分/结尾部分)

    有时候你不需要一个命令的所有输出。可能你只想要前几行或者后几行的输出内容。 head 命令打印文件的前十行,而 tail 命令打印文件的后十行。默认情况下,两个命令 都打印十行文本,但是可以通过”-n”选项来调整命令打印的行数。
    例如: head -n 5 ls-output.txt   打印头5行数据
      tail -n 5 ls_output.txt   打印结尾5行数据
  ls /usr/bin | tail -n 5 打印 ls /usr/bin 运行结果的结尾5行数据
    tail 有一个选项允许你实时的浏览文件。当观察日志文件的进展时,这很有用,因为 它们同时在被写入。在以下的例子里,我们要查看目录/var/log 里面的信息文件。在 一些 Linux 发行版中,要求有超级用户权限才能阅读这些文件,因为文件/var/log/messages 可能包含安全信息。
    例如:tail -f /var/log/messages
    使用”-f”选项,tail 命令继续监测这个文件,当新的内容添加到文件后,它们会立即 出现在屏幕上。这会一直继续下去直到你输入 Ctrl-c。
    

tee(从 Stdin 读取数据,并同时输出到 Stdout 和文件)

    tee 程序从标准输入读入数据,并且同时复制数据 到标准输出(允许数据继续随着管道线流动)和一个或多个文件。当在某个中间处理 阶段来捕捉一个管道线的内容时,这很有帮助。这里,我们重复执行一个先前的例子, 这次包含 tee 命令,在 grep 过滤管道线的内容之前,来捕捉整个目录列表到文件 ls.txt:
    命令:ls /usr/bin | tee ls.txt | grep zip

    注释:tee程序(ls 程序管道过来的)获取标准输入(ls /usr/bin程序执行的结果)数据输出到标准输出同时也写入到ls.txt文件中


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373619.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

fir.im Log Guru 正式开源,快速找到 iOS 应用无法安装的原因

很开心的宣布 Log Guru 正式开源! Log Guru,是 fir.im 开发团队创造的小轮子,用在 Mac 电脑上的日志获取,Github 地址:FIRHQ/LogGuru. Log Guru 使用方法 当有测试者反馈应用装不上的时候,将其测试设备连接…

python求解三元一次方程_北师大版八上数学5.2 求解二元一次方程组 知识点微课精讲...

知识点总结代入消元法代入消元法的实质是将二元一次方程组中的某一个方程进行未知数的分离,即将该方程进行变换,完整分离出一个独立的未知数,而这个未知数将用含有另一个未知数的式子来表示。设某二元一次方程组为:将第(1)式进行变…

Java 7:完整的invokedynamic示例

我当前的Java 7系列中的另一个博客条目。 这次,它处理的是invokedynamic,这是JVM上用于方法调用的新字节码指令。 invokedynamic指令允许在呼叫站点和呼叫接收者之间进行动态链接。 这意味着您可以将正在执行方法调用的类链接到在运行时正在接收调用的类…

VC6兼容性及打开文件崩溃问题解决

VC6虽然老,但是一些工程还非得用它打开,没办法…… 今天偶然用到,因为新装了系统,之前的问题又要重新解决一遍 在这记录下解决过程,方便以后查阅: 一.兼容问题: XP以上windows系统打开VC6时可能…

Linux入门笔记——echo

echo Display a line of text(显示一行文本)这个命令的作用相当简单明了。传递到 echo 命令的任一个参数都会在(屏幕上)显示出来。 小插曲: 每当你输入一个命令,然后按下 enter 键后,bash 会在执行你的命令之前对输入 …

dataframe 空值替换为0_Python数据分析:Pandas之DataFrame

内容目录 DataFrame简介DataFrame创建方式DataFrame索引和切片DataFrame属性DataFrame级联与合并DataFrame基本操作DataFrame分组聚合操作DataFrame数据透视与交叉表1 DataFrame简介 我们在上次课中讲到了Pandas的Series结构,还没看的点这里 ailsa:python数据分析:Pandas之S…

具有NetBeans,WebLogic 12c,JPA和MySQL数据源的Arquillian

您可能已经关注了我的文章,其中涉及使用嵌入式GlassFish测试更复杂的场景( 第I部分/第II部分 )。 我要做的下一步是使此设置与最新的WebLogic 12c一起使用。 入门 按照我的前两个帖子的入门部分中的步骤进行操作。 要使此工作正常&#xff…

lfu算法实现c语言_哈希查找算法(C语言实现)

上一节介绍了有关哈希表及其构造过程的相关知识,本节将介绍如何利用哈希表实现查找操作。在哈希表中进行查找的操作同哈希表的构建过程类似,其具体实现思路为:对于给定的关键字 K,将其带入哈希函数中,求得与该关键字对…

现代化Java代码的七个NetBeans提示

在“ 七个不可或缺的NetBeans Java提示”一文中 ,我谈到了一般使用NetBeans提示的问题,然后重点介绍了七个提示。 接下来列出了该帖子中强调的七个提示: 可疑方法调用 使用或! AND字符串构造函数比较字符串 构造函数中的可重写方…

手机屏幕宽高像素计算_2020年的智能手机拍照新设计,就全看下半年了

此前我们三易生活在总结2019年智能手机影像设计的变化时曾经提到,智能手机上的大底与大像素设计几乎是花了一整年的时间,把自己从单纯的噱头,逐步改进成了能够确实提高拍照画质的业界主流技术。站在现在的视角来看,2019年这阵“高…

yield方法释放锁吗_死磕Synchronized底层实现重量级锁

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!作者:farmerjohngit链接:https://github.com/farmerjohngit本文为死磕Synchronized底层实现第四篇文章,内容为重量级锁实现。本系列文章将对HotSpot的sy…

Java应用程序上的Twitter API

是否曾想过将推文附加到Java应用程序? 我为此寻找了最好的API,很幸运,我找到了它! http://twitter4j.org/ 一个简单的方法: 我们需要做的第一件事是在您的Twitter帐户中创建一个应用程序,为其授予访问权限…

MongoDB学习1——Windows 下配置及启动mongodb服务器

1.下载mongodb程序:http://lt1.cr173.com/soft2/mongodb.zip 2.解压程序3.在解压后的mongodb文件夹中创建 data、logs、conf文件夹4.编写配置文件conf\mongod.conf#端口号 port 12345 #数据库路径,也可以使用绝对路径 dbpath data #日志路径&#xff0…

JavaFX 2.0条形图和散点图(以及JavaFX 2.1 StackedBarCharts)

JavaFX 2.0提供了用于生成图表的内置功能,该功能可在javafx.scene.chart包中找到。 在本文中,我将介绍如何使用JavaFX 2.0创建条形图和散点图 。 在本文的学习过程中,我将一路使用Guava和一些Java 7功能。 在演示JavaFX 2.0图表API之前&#…

python中下划线开头的命名_Python 中各种下划线的骚操作:_、_xx、xx_、__xx、__xx__、_classname_...

我们在定义一些变量或者方法的时候,常常会用到下划线,在 Python 中,下划线可是很有用处的哟,比如变量,有些是一个下划线开头的(_xx),有些是两个下划线开头的(__xx),有些是在名称的结尾添加下划线…

MongoDB学习2——Windows 使用mongo连接数据库

一、查看mongo帮助文档mongo.exe --help二、使用mongo 连接服务器mongo.exe 数据库地址:数据库端口号/数据库关闭服务器db.shutdownServer()注:关闭数据必须使用admin数据库权限

【UVA 10816】 Travel in Desert (最小瓶颈树+最短路)

【题意】 有n个绿洲, m条道路,每条路上有一个温度,和一个路程长度,从绿洲s到绿洲t,求一条道路的最高温度尽量小, 如果有多条, 选一条总路程最短的。 InputInput consists of several test cases…

联想小新air14笔记本黑屏_联想小新air14锐龙版测评,谈谈它的好和坏

联想小新air14锐龙版本测评了解数码就找小侠客,我是机圈小侠客 今天呢,主要和大家测评一下联想小新air14这款笔记本,总体而言的话,这款笔记本它是一个。对于办公人士或者轻度游戏爱好者来说的话,是一个不错的选择&…

Java入门:Java下载与安装方法

本文适合刚入门的Java编程的初学者阅读。 JDK有两种下载方法,一个是官网下载,另一个是第三方网站下载。官网速度也许有点慢,慢的话可以考虑去第三方网站下载。 一、官网下载 1. 访问地址:http://www.oracle.com/cn/downloads/inde…

Java 7:如何编写非常快速的Java代码

当我第一次写此博客时,我的目的是向您介绍ThreadLocalRandom类,它是Java 7中新增的用于生成随机数的类。 我已在一系列微基准测试中分析了ThreadLocalRandom的性能,以了解其在单线程环境中的性能。 结果相对令人惊讶:尽管代码非常…