cat

Cat 是一个相当简单的工具,用于连接文件并将文件写入屏幕,称为标准输出(stdout)。您可以在任何Linux发行版或其他Unix操作环境(例如FreeBSD或Solaris)中使用它。cat 的最简单用法 是显示文件的内容。这是一个名为 hello.world 的文件示例:

$ ls

hello.world

$ cat hello.world

Hello World !

$

我使用cat命令的最常用方法是查看配置文件,例如/ etc目录中的配置文件。该命令将显示一个文件,而不用担心损坏它。如果我使用Vi或Nano等编辑器打开关键配置文件,我可能会无意中对文件进行不必要的更改。cat命令不是一个编辑器,因此不构成进行更改文件内容的风险。

如果我需要查看更长的文件,我可以使用带有more命令的管道:

$ cat | more

Cat可以同时显示多个文件。如果我们希望看到两个文件 hello.world 和 goodbye.world 可以包括文件名作为命令行参数:

$ cat hello.world goodbye.world

Hello World !

Good Bye World!

$

Cat 还可以在输出时显示文件的行编号。有两个命令可以执行此操作,如帮助文档中所示:

-b, --number-nonblank number nonempty output lines, overrides -n

-n, --number number all output lines

如果我将-b命令与hello.world文件一起使用,输出将如下编号:

$ cat -b hello.world

1 Hello World !

$

在上面的示例中,有一个空行。我们可以使用-n参数确定出现此空行的原因:

$ cat -n hello.world

1 Hello World !

2

$

现在我们看到有一个额外的空行。这两个参数在最终输出而不是文件内容上运行,因此如果我们对两个文件使用-n选项,编号将按以下方式计算行:

$ cat -n hello.world goodbye.world

1 Hello World !

2

3 Good Bye World!

4

$

另一个有用的选项是-s for squeeze-blank。该参数告诉cat将重复的空行输出减少到一行。这在查看具有大量空行的文件时很有用,因为它有效地适应了屏幕上的更多文本。假设我有一个文件,其中有三行由几个空行隔开,例如在本例中, greetings.world:

$ cat greetings.world

Greetings World!

Take me to your Leader!

We Come in Peace!

$

使用-s选项可以节省屏幕空间:

$ cat -s greetings.world

Greetings World!

Take me to your Leader!

We Come in Peace!

$

Cat通常用于将一个文件的内容复制到另一个文件。你可能会问,“为什么不用cp?” 这是我如何创建一个名为both.files的新文件,其中包含hello和goodbye文件的内容:

$ cat hello.world goodbye.world > both.files

$ cat both.files

Hello World!

Good Bye World!

$

zcat

cat命令的另一个变体称为zcat。此命令能够显示已使用Gzip压缩的文件,而无需使用gunzip命令解压缩文件。顺便说一下,这也保留了磁盘空间,这就是压缩文件的全部原因!

该用zcat命令是有点更令人兴奋的,因为它可以为系统管理员查看系统日志文件,节省大量的时间。

我们在哪里可以找到压缩日志文件?在大多数Linux系统上查看/var/log。在我的系统上,/var/log包含几个文件,例如syslog.2.gz和syslog.3.gz。这些文件是日志管理系统的结果,它可以旋转和压缩日志文件以节省磁盘空间并防止日志增长到无法管理的文件大小。没有zcat,我必须先使用gunzip命令解压缩这些文件,然后才能查看它们。很幸运,我可以使用zcat:

$ cd /var/log

$ ls *.gz

syslog.2.gz syslog.3.gz

$

$ zcat syslog.2.gz |more

Jan 30 00:02:26 workstation systemd[1850]: Starting GNOME Terminal Server...

Jan 30 00:02:26 workstation dbus-daemon[1920]: [session uid=2112 pid=1920] Successful

ly activated service 'org.gnome.Terminal'

Jan 30 00:02:26 workstation systemd[1850]: Started GNOME Terminal Server.

Jan 30 00:02:26 workstation org.gnome.Terminal.desktop[2059]: # watch_fast: "/org/gno

me/terminal/legacy/" (establishing: 0, active: 0)

Jan 30 00:02:26 workstation org.gnome.Terminal.desktop[2059]: # unwatch_fast: "/org/g

nome/terminal/legacy/" (active: 0, establishing: 1)

Jan 30 00:02:26 workstation org.gnome.Terminal.desktop[2059]: # watch_established: "/

org/gnome/terminal/legacy/" (establishing: 0)

--More--

如果我们想要不间断地审查它们,我们也可以将这两个文件传递给zcat。由于日志轮换的工作原理,您需要以相反的顺序传递文件名以保留日志内容的时间顺序:

$ ls -l *.gz

-rw-r----- 1 syslog adm 196383 Jan 31 00:00 syslog.2.gz

-rw-r----- 1 syslog adm 1137176 Jan 30 00:00 syslog.3.gz

$ zcat syslog.3.gz syslog.2.gz |more

该cat命令看似简单却是非常有用。我建议您查看cat和zcat命令的手册页(man cat),以了解有关如何使用它的更多信息。您还可以使用--help参数快速概述命令行参数。

linux cat 压缩文件,Linux cat和zcat命令可能比你意识到的更有用相关推荐

  1. linux复制压缩文件,Linux如何复制,打包,压缩文件

    linux远程复制和压缩文件的命令 1.linux导出指定数据库表 mysqldump  127.0.0.1  -uname -ppwd  databasename  tablename>/ho ...

  2. linux lzo 压缩文件,Linux常用压缩和解压命令

    .tar 解包 tar xvf filename.tar .tar 打包 tar cvf filename.tar dirname .gz 解压1 gunzip filename.gz .gz 解压2 ...

  3. linux bzip2压缩文件,Linux系统中安装使用Bzip2来压缩文件的方法讲解

    安装 Bzip2命令如下: 复制代码代码如下: make -f Makefile-libbz2_so && make && make install && ...

  4. linux解压该文件,linux上解压缩文件

    linux下解压缩文件 Linux下有很多压缩文件格式,在此将一些常用的解压缩命令摘录如下,以供参考. 1   .tar 解包:tar xvf FileName.tar 打包:tar cvf  Fil ...

  5. linux中如何压缩目录文件,如何在Linux中压缩文件和目录

    Zip是使用最广泛的存档文件格式,支持无损数据压缩. 压缩文件是一种数据容器,其中包含一个或多个压缩文件或目录.与未压缩的文件相比,压缩文件占用的磁盘空间更少,可以更快地从一台计算机传输到另一台计算机 ...

  6. linux 下vim文件乱码 cat文件正常处理方法

    linux 下vim文件乱码 cat文件正常处理方法 服务器支持中文字符集,cat和其他查看文件命令现在正常,vim还是出现了中文乱码问题, 1.查看文件编码格式 vim 文件 :set fileen ...

  7. linux压缩文件的类型,linux下压缩文件的类型(转)

    linux下压缩文件的类型(转) (2012-03-08 16:18:30) 标签: 杂谈 Linux下有相当多的压缩命令,初学的我们开始总是摸不清头脑,我们知道在Linux下的后缀名是没有什么很特殊 ...

  8. linux 解压tar.jz,linux系统压缩文件和解压缩命令

    linux系统压缩文件和解压缩命令 tar命令 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName gz命令 解压1:gunzip Fi ...

  9. linux将一段时间内文件压缩,在 Linux 上压缩文件的 5 种方法

    在 Linux 上压缩文件的 5 种方法时间:2020-05-07 11:18    浏览次数: 发布者:润天教育    来源:金信润天 0 在 Linux 上有不少用于压缩文件的命令.最新最有效的一 ...

  10. Linux查询压缩文件行数,linux命令行快速统计文件(压缩文件)的行数

    统计(文件|压缩文件)的行数 zcat file.gz | sed -n '$='                                         #迅速.直接打印出多少行.-n 取消 ...

最新文章

  1. 贝叶斯定理——数学之美
  2. 用神经网络分类原子和圆
  3. 前后端分离的跨域解决方案
  4. 【PAT乙级】1087 有多少不同的值 (20 分)
  5. 苹果cms对接影视小程序源码完整源码
  6. Qt窗口部件——QWidget
  7. layui 自动渲染_Layui表格自动渲染
  8. 2. Zend_Controller 快速入门
  9. Transcad学习记
  10. PicoNeo开发中遇到的问题(一)
  11. python贷款_Python贷款逾期分析
  12. Mars3D开发基础学习:三维场景 Map
  13. 全球开发者各出奇招:我们想这样适配iPhone X
  14. 怎么看自己的操作系统?
  15. Python 每日一记217根据词频生成词云图
  16. Android小程序-简易计算器的实现
  17. hive使用适用场景_大数据入门:Hive应用场景
  18. SQL DXP 6.6.x 高级版--最新版
  19. 教你做一个送别人女友的网页相册(一)(HTML+CSS+JS实现)
  20. Oracle使用纪要

热门文章

  1. pnpm : 无法加载文件 C:\Users\86183\AppData\Roaming\npm\pnpm.ps1,因为在此系统上禁止运行脚本。
  2. QQ在线等级算法实现
  3. linux中gnuplot给定文本,Gnuplot (三)输出图片/字体支持、eps/png/pdf/enhanced文本
  4. 根据两点的经纬度求方位角和距离
  5. 相控阵天线(三):直线阵列天线低副瓣综合(切比雪夫、泰勒分布、SinZ-Z和Villeneuve分布、含python代码)
  6. 报纸样式网页html css,报纸杂志HTML模板
  7. LeetCode刷题系列之数组--0704.二分查找(JAVA版本)
  8. Windows 系统服务优化指南
  9. 手把手带你实现 Docker 部署 Redis 集群
  10. python直接使用大括号生成_Python 解析式、生成器