via: http://linoxide.com/linux-command/13-cat-command-examples/
在Linux系统中,大多数配置文件、日志文件,甚至shell脚本都使用文本文件格式,因此,Linux系统存在着多种文本编辑器,但当你仅仅想要查看一下这些文件的内容时,可使用一个简单的命令-cat。
cat手册里这样描述:
cat命令读取文件内容,并输出到标准设备上面
cat是一条linux内置命令. 几乎所有linux发行版都内置(译注:或者说我从未听说过不内置cat命令的发行版)。接下来,让我们开始学习如何使用.
1. 显示文件内容
最简单的方法是直接输入‘cat file_name’.
# cat /etc/issue CentOS release 5.10 (Final) Kernel \r on an \m
2. 同时显示行号
当在读取内容很多的配置文件时,如果同时显示行号将会使操作变简单,加上-n参数可以实现.
# cat -n /etc/ntp.conf 1 # Permit time synchronization our time resource but do not 2 # permit the source to query or modify the service on this system 3 restrict default kod nomodify notrap nopeer noquery 4 restrict -6 default kod nomodify notrap nopeer noquery 5 6 # Permit all access over the loopback interface. This could be 7 # tightened as well, but to do so would effect some of the 8 # administration functions 9 restrict 127.0.0.1 10 restrict -6 ::1
3. 在非空格行首显示行号
类似于-n参数,-b也可以显示行号。区别在于-b只在非空行前显示行号。
#cat -b /etc/ntp.conf 1 # Permit time synchronization our time resource but do not 2 # permit the source to query or modify the service on this system 3 restrict default kod nomodify notrap nopeer noquery 4 restrict -6 default kod nomodify notrap nopeer noquery 5 # Permit all access over the loopback interface. This could be 6 # tightened as well, but to do so would effect some of the 7 # administration functions 8 restrict 127.0.0.1 9 restrict -6 ::1
4. 显示tab制表符
当你想要显示文本中的tab制表位时. 可使用-T参数. 它会在输入结果中标识为 ^I .
# cat -T /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1^I^Ilocalhost.localdomain localhost ::1^I^Ilocalhost6.localdomain6 localhost6
5. 显示换行符
-E参数在每行结尾使用 $ 表示换行符。如下所示 :
# cat -E /etc/hosts # Do not remove the following line, or various programs$ # that require network functionality will fail.$ 127.0.0.1 localhost.localdomain localhost$ ::1 localhost6.localdomain6 localhost6$
6. 同时显示制表符及换行符
当你想要同时达到-T及-E的效果, 可使用-A参数.
# cat -A /etc/hosts # Do not remove the following line, or various programs$ # that require network functionality will fail.$ 127.0.0.1^I^Ilocalhost.localdomain localhost$ ::1^I^Ilocalhost6.localdomain6 localhost6$
7. 分屏显示
当文件内容显示超过了你的屏幕大小, 可结合cat命令与其它命令分屏显示。使用管道符 ( | )来连接。
# cat /proc/meminfo | less # cat /proc/meminfo | more
在less与more显示结果的区别在于less参数可pageup及pagedown上下翻滚。而more仅能使用空格向下翻屏。
8. 同时查看2个文件中的内容
位于/root文件夹里有两个文件取名linux及desktop,每个文件含有以下内容 :
Linux : ubuntu, centos, redhat, mint and slackware
Desktop : gnome kde, xfce, enlightment, and cinnamon
当你想同时查看两文件中的内容时,可按如下方法 :
# cat /root/linux /root/desktop ubuntu centos redhat mint slackware gnome kde xfce enlightment cinnamon
9. 排序显示
类似. 你也可以结合cat命令与其它命令来进行自定义输出. 如结合 sort ,通过管道符对内容进行排序显示。举例 :
# cat /root/linux | sort centos mint redhat slackware Ubuntu
10. 输入重定向
你也可将显示结果输出重定向到屏幕或另一个文件。 只需要使用 > 符号(大于号)即可输出生成到另一个文件。
# cat /root/linux > /root/linuxdistro
以上命令会生成一个与/root/linux内容一模一样的叫linuxdistro的文件.
11. 新建文件
Linux下有多种方法新建文件。其中使用cat就是方法之一.
# cat > operating_system Unix Linux Windows MacOS
当你输入cat > operatingsystem,它会生成一个operatingsystem的文件。然后下面会显示空行。此时你可输入内容。比如我们输入Unix, Linux, Windows 和 MacOS, 输入完成后,按Ctrl-D存盘退出cat。此时你会发现当前文件夹下会生成一个包含你刚才输入内容的叫 operating_system的文件。
12.向文件中追加内容
当你使用两个 > 符时, 会将第一个文件中的内容追加到第二个文件的末尾。 举例 :
# cat /root/linux >> /root/desktop # cat /root/desktop
它会将 /root/linux的内容追加到/root/desktop文件的末尾。
第二个文件的内容将会变成这样:
gnome kde xfce enlightment cinnamon ubuntu centos redhat mint slackware
13. 重定向输入
你可使用 <命令(小于号)将文件输入到cat中.
# cat < /root/linux
上面命令表示 /root/linux中的内容作为cat的输入。屏幕上显示如下 :
ubuntu centos redhat mint slackware
为了更清楚表示它的意义,我们使用以下命令 :
# cat < /root/linux | sort > linux-sort
此命令这样理解: 从/root/linux中读取内容,然后排序,将结果输出并生成linux-sort新文件
然后我们看看linux-sort中的内容 :
centos mint redhat slackware ubuntu
以上是一些cat命令的日常基本应用. 更多相关你可从cat命令手册中学到并记得经常练习它们.
相关推荐
Python_网络数据采集示例__All_Examples_for_a_book_called__PythonScrapingLearning
标题中的"adc.rar_S3C2440 ADC_adc linux_linux adc examples_linux adc_s3c2"表明这是一个关于S3C2440处理器在Linux操作系统下使用ADC(模拟数字转换器)的资源集合,可能包含驱动程序代码、示例应用以及相关的文档...
将ippicv_linux_20151201.tgz替换opencv-3.1.0/3rdparty/ippicv/downloads/linux-*目录下的同名文件 cp protobuf-cpp-3.1.0.tar.gz /home/zhuzhao/opencv/opencv_contrib/modules/dnn/.download/bd5e3eed635a8d32e2b...
a_collection_of_knitr_examples_knitr-examples
UI_automated_testing_framework_(and_examples),_sui_WebAndAppUITesting
Java Management Extensions(JMX)是Java平台上的一个标准技术,用于管理和监控应用程序、服务和设备。JMX允许开发者创建管理接口,以便对运行时的组件进行动态监控和管理。在这个"jmx_examples.rar"压缩包中,包含...
Part 13 Appendixes__________________________________ 674 38页的部份文档 Optimal Flexible Architecture The OFA is a set of recommendations from Oracle Corporation aimed at simplifying management of...
《sigfit_v2019_Examples:深入理解与应用》 sigfit_v2019_Examples是一个压缩包文件,其中包含了sigfit 2019版本的全面示例库,这些示例是为了帮助用户更好地理解和使用sigfit软件而精心设计的。sigfit是一款强大...
ExtAspNet_v2.3.5_examplesExtAspNet_v2.3.5_examplesExtAspNet_v2.3.5_examplesExtAspNet_v2.3.5_examplesExtAspNet_v2.3.5_examplesExtAspNet_v2.3.5_examples
【Telerik UI for WPF 2015_1_0225_examples】是一个针对WPF(Windows Presentation Foundation)平台的Telerik UI组件库的示例代码集合。Telerik是一家知名的软件开发公司,以其丰富的UI控件和开发工具而闻名,尤其...
标题中的“HFC-Examples.zip_HFC_electronics_hfc examples”表明这是一份与HFC(High-Frequency Communication)电子技术相关的示例集合,主要针对H-JTAG(ARM JTAG调试器)使用的文件。H-JTAG是用于ARM处理器的...
描述中的“linux示例代码\examples\i2c\24CXX”进一步证实了这是Linux环境下的I2C驱动程序或应用程序示例,具体是针对24CXX系列的EEPROM。 24CXX系列是Microchip公司生产的一系列I2C接口的EEPROM芯片,如24C02、24C...
animation Examples api Examples axes_grid Examples color Examples event_handling Examples frontpage Examples images_contours_and_fields Examples lines_bars_and_markers Examples misc Examples mplot3d ...
rootroot@cm-System-Product-Name:/home/wwt/linux_r16$ tar zxvf lichee_parrotv1.1_20161202.tar.gz rootroot@cm-System-Product-Name:/home/wwt/linux_r16$ rootroot@cm-System-Product-Name:/home/wwt/linux_...
"LDD3-examples_felltrz_linux_"这个压缩包包含了该书中的实例代码,为读者提供了一个实践和深入理解书中理论的平台。"felltrz"可能是作者的别名或者是对这个特定版本或集合的命名。通过这个压缩包,我们可以学习...
NVIDIA_Jetson_amd_Deepstream_Python_Examples_deepstream-examples
描述中的“Direct FB graphics library for embedded linux development”进一步明确了DirectFB的作用,它是一个图形库,用于嵌入式Linux系统的开发,提供了一种更直接、高效的图形处理方式。在嵌入式系统中,资源...
"QT5-examples"是QT5框架的一部分,提供了丰富的示例代码,帮助开发者理解和学习如何在QT5环境中使用各种功能和组件。 在"examples - 副本.rar"这个压缩包中,包含的是关于QT5的一个特定领域——实时曲线控件的示例...
Learn_OpenCV___C++_and_Python_Examples_learnopencv
FLEX 基础教程代码实例,比较初级好用的代码,很适合初学者