码迷,mamicode.com
首页 > 其他好文 > 详细

cat

时间:2020-06-07 14:49:23      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:sys   file   back   sock   output   清空文件   input   程序   std   

一、简介

1.concatenate   /k?n‘kæt?ne?t/  拼接

2.cat不会改变原文件的任何数据,只是根据用户提供的选项,在stdout中生成一个修改过的输出。

 

二、技巧

1.stdin ——> 文件(拼接数据)

[root@localhost 1]# echo "I Love U,too" | cat - test.txt 
I Love U,too
I Love U!
[root@localhost 1]# cat test.txt 
I Love U!         

说明:

  (1)cat不会改变原文件的任何数据

  (2)本例中,-被作为stdin文本的文件名

2.文件 ——> stdout(读取文件)

[root@localhost 1]# cat file1 file2 file3
1`
2`
3`

说明:

  (1)可打印多个文件内容 

3.连续的空白行 ——> 一行空白行(压缩)

[root@localhost 1]# cat file1
1`



2`
[root@localhost 1]# cat -s file1
1`

2`

说明:

  (1)cat -s将连续的空白行压缩成一行空白输出(consecutive)

4.显示制表符和行号

[root@localhost 1]# cat -T file1
1`^I
hello world!
[root@localhost 1]# cat -n file1
     1    1`    
     2    hello world!

说明:

  (1)cat -T将制表符tab记为^I

  (2)cat -n在输出的每一行内容之前加上行号

5.创建文件

[root@localhost 1]# ll
total 0
[root@localhost 1]# cat “i am handsome” > newfile.txt
[root@localhost 1]# ll
total 4
-rw-r--r-- 1 root root 14 Apr  6 18:23 newfile.txt

说明

  (1)cat在打开输入文件之前,会先创建新的输出文件,且可以重定向至该文件。

6.清空文件

[root@localhost 1]# echo i love u > newfile.txt 
[root@localhost 1]# cat newfile.txt > newfile.txt 
cat: newfile.txt: input file is output file
[root@localhost 1]# ll
total 0
-rw-r--r-- 1 root root 0 Apr  6 18:28 newfile.txt

说明:

  (1)cat不允许使用输入文件作为重定向输出文件(有报错)此时会清空文件所有内容!!!

[root@localhost 1]# echo i love u > newfile.txt 
[root@localhost 1]# cat newfile.txt | cat -n > newfile.txt 
[root@localhost 1]# ll
total 0
-rw-r--r-- 1 root root 0 Apr  6 18:30 newfile.txt

说明:

  (1)cat利用管道符可以执行输入文件作为重定向输出文件(无报错)此时会清空文件所有内容!!!

7.查看文件信息

 7.1查看系统的发行版本

[root@localhost linux]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.5 (Maipo)

7.2查看登陆的欢迎信息

[root@localhost linux]# cat /etc/issue
\S
Kernel \r on an \m

 7.3查看当前支持的shell

[root@localhost linux]# cat /etc/shells 
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh

 7.4查看某个进程的环境变量

[root@localhost linux]# ps -aux     #查看所有程序的PID
[root@localhost linux]# pgrep httpd   #查看某个程序的PID
9416
9420
9421
9422
9423
9424
[root@localhost linux]# cat /proc/9416/environ                #格式就是cat /proc/$UID/environ,查看某个进程的环境变量
LANG=CPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/binNOTIFY_SOCKET=/run/systemd/notify[root@localhost linux]# 
[root@localhost linux]# cat /proc/9416/environ | tr \0 \n‘      #将输出格式变的易读
LANG=C
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
NOTIFY_SOCKET=/run/systemd/notify

 

cat

标签:sys   file   back   sock   output   清空文件   input   程序   std   

原文地址:https://www.cnblogs.com/ytdyz/p/12643496.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!