• cat


    一、简介

    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 
     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 '' '
    '      #将输出格式变的易读
    LANG=C
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
    NOTIFY_SOCKET=/run/systemd/notify
  • 相关阅读:
    MAC OpenGL 环境搭建
    C++中调用OC代码
    XCode快捷键使用
    【iOS】史上最全的iOS持续集成教程 (下)
    【iOS】史上最全的iOS持续集成教程 (上)
    pod 指令无效
    iOS面试题总结(持续更新)
    数据结构与算法思维导图
    Swift编码规范总结
    同步异步执行问题
  • 原文地址:https://www.cnblogs.com/ytdyz/p/12643496.html
Copyright © 2020-2023  润新知