Linux文件重定向和文件过滤器
创始人
2024-06-23 22:41:43
0

Linux系统对所有的东西都是以文件的方式来进行管理的,我们有必要对有关文件的操作进行一些了解。

文件过滤器

用来读取文件内容和在文件内容上执行操作的命令有时被称为过滤器。sed 和 awk 命令是两个过滤器的例子,因为在以前的文章中有它们详细的讨论,在这里将略过。

诸如 cat、 more 和 less 之类的命令让您能够从命令行查看一个文本文件的内容,而无需调用编辑器。Cat 是 "concatenate" 的缩写,它将默认地在标准输出(显示屏)上显示文件内容。和 cat 一起提供的最有趣的选项之一是 -n 选项,它用编号的输出行来显示文件内容。

$ cat -n test.out

1  This is a test.

 

因为 cat 一次性输出文件中的所有行,所以您可能更喜欢用 more 和 less,因为它们都一次输出一屏的文件内容。Less 是 more 的一个增强的版本,它允许用来自 vi 文本编辑器的关键命令来增强文件查看。例如,d 向前翻滚、b 向后翻滚 N 行(如果 N 是在 d 或 b 之前指定的)。为 N 输入的值成为随后的 d 命令的默认值。man 页面实用工具使用 less 来显示使用说明的内容。

Linux文件重定向和管道

Linux文件重定向允许将命令输出重定向到文件中,而不是标准输出,或者类似地,也可重定向输入。Linux文件重定向的标准符号 > 创建一个新的文件。>> 符号将输出添加到一个现有的文件中:


$ more test2.out
Another test.
$ cat test.out >> test2.out
$ cat test2.out
Another test.
This is a test.

到文件的标准输入可以用 < 符号来重定向:

$ cat < test2.out

错误消息用 2> 和 2>> 来重定向和添加,格式如下:

$ command 2> name_of_error_file

要避免无意地覆盖一个现有的文件,使用 BASH 内置的命令集:

$ set -o noclobber

可以在命令和输出文件之间用 >! 符号来重载这个特性。要关闭这个特性,用 +o 代替 -o。

Linux文件重定向在一个命令和文件之间、或文件和文件之间工作。Linux文件重定向语句的一项必须是一个文件。

管道使用 |符号,并且在命令之间工作。例如,您可以用以下方式将一个命令的输出直接发送到打印机上:

$ ls -l * | lpr

可以用以下方式快速地找到历史列表中的一个命令:

$ history | grep cat

更多的滤波器

Grep、fgrep 和 egrep 都显示匹配一种模式的行。所有这三个命令都在文件中搜索指定的模式,如果您想不起来一个所需文件的名称,这将非常有用。基本格式是:

grep [options] PATTERN [FILE...]

$ grep -r 'Subject' nsmail

CTRL-Z 将终止上述或其它任何命令。

grep 的最有用的选项可能是 -s。如果您以除根用户之外的任何身份搜索系统文件,那么对于每一个您没有访问权限的文件,都将产生错误消息。这个命令禁止那些消息。

Fgrep(也以 grep -F 调用)只查找固定的字符串,而不是 grep 接收的正则表达式。而 egrep 接收包含更大范围的特殊字符(如 “|”,它指示条件 OR 运算符)的模式。

$ egrep 'Subject|mailto' *

【编辑推荐】

  1. Linux操作系统Redhat系列与Debian系列
  2. Linux useradd与用户管理相关的配置文件
  3. 教会你Linux安装支付宝
  4. Novell Linux守得云开 称与微软协议关系不大
  5. 好莱坞里Linux操作系统取代微软

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...