zoukankan      html  css  js  c++  java
  • 【Linux常用命令】 cat

    Usage: cat [OPTION] [FILE]...
    Concatenate FILE(s), or standard input, to standard output. 连接文件或标准输入,显示到标准输出

    -A, --show-all equivalent to -vET  显示所有,等同于-vET
    -b, --number-nonblank number nonblank output lines  对非空行进行编号显示
    -e equivalent to -vE  等同于-vE
    -E, --show-ends display $ at end of each line  在每行的结尾处显示$
    -n, --number number all output lines  显示所有输出行的行号(包含空行)
    -s, --squeeze-blank never more than one single blank line   压缩空行,连续的多个空行压缩成一个显示
    -t equivalent to -vT  等同于-vT
    -T, --show-tabs display TAB characters as ^I  显示TAB为字符^I
    -u (ignored)  (忽略)
    -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB   显示非打印字符,使用^和M-表示,除了LFD和TAB
    --help display this help and exit  显示帮助和退出
    --version output version information and exit 输出版本信息和退出

    With no FILE, or when FILE is -, read standard input. 如果没有FILE,或当FILE是-时,读取标准输入

    Examples:
    cat f - g Output f's contents, then standard input, then g's contents.  输出:文件f的内容,然后标准输入,然后文件g的内容。
    cat Copy standard input to standard output.  复制标准输入到标准输出。

    Report bugs to <bug-coreutils@gnu.org>.

    -------------------------------------------------------------------------------------------------------------------

    cat主要用途:

    1. 显示文件内容到标准输出。

    cat time_test.c

     1 [loong@localhost ~]$ cat time_test.c 
    2 #include <stdio.h>
    3 #include <time.h>
    4
    5
    6 int main() {
    7 time_t biggest = 0x7FFFFFFF;
    8
    9
    10
    11 printf("biggest = %s \n", asctime(gmtime(&biggest)));
    12 return 0;
    13 }

    其中可以添加OPTIONS,来添加要显示的内容,如行号、非可见字符(TAB),或每行结尾处显示$等。参见上面的USAGE。

    2. 创建新文件,并输入文件内容。(注:只能顺序输入) ps:只能创建新文件,不能编译已有文件。

    cat > test.txt

    其实是利用>重定向标准输出到文件test.txt。

     1 [loong@localhost ~]$ cat > test.txt
    2 this is a test for cat command.^[[D
    3 a
    4 b
    5 cc
    6 de
    7 [loong@localhost ~]$ cat test.txt
    8 this is a test for cat command.
    9 a
    10 b
    11 cc
    12 de

     其中^[[D是向左的箭头,本想回退一格编辑,但很可惜只能顺序输入。如果你command拼写错误,如多写了一个m,则只能删除到错误出,重新输入后面的内容。

    另外,如何结束输入呢???

    在linux下:

    ctrl+d:代表输入完成或者注销
    ctrl+c:中断当前程序
    ctrl+z:将作业放置到后台(暂停)

    所以,此处应使用CTRL+D,结束输入。

    3. 将几个文件合并成一个文件。

    cat b.txt a.txt > c.txt

    1 [loong@localhost ~]$ cat > a.txt
    2 this is file 1.
    3 [loong@localhost ~]$ cat > b.txt
    4 this is file 2.[loong@localhost ~]$ cat a.txt
    5 this is file 1.
    6 [loong@localhost ~]$ cat b.txt
    7 this is file 2.[loong@localhost ~]$ cat b.txt a.txt > c.txt
    8 [loong@localhost ~]$ cat c.txt
    9 this is file 2.this is file 1.

    注:文件b.txt少输入了一个回车ENTER,所以文件c.txt输出为一行。

    另外可以添加一些OPTIONS使用,如下:

    $ cat -n a.txt c.txt > d.txt 将a.txt和c.txt加上行号,合并到d.txt中。 

    1 [loong@localhost ~]$ cat -n a.txt c.txt > d.txt
    2 [loong@localhost ~]$ cat d.txt
    3 1 this is file 1.
    4 2 this is file 2.this is file 1. 

    参考:http://linux.chinaunix.net/techdoc/system/2007/11/16/972467.shtml

  • 相关阅读:
    VM VirtualBox安装Centos6.5
    桥接
    程序员工作心法
    策略模式-鸭子怎么飞-实例
    策略模式-用什么方式去上班呢 实例
    观察者模式-订报纸,语音呼叫系统实例
    门面(Facade)模式--医院,保安系统实例
    Promise实例的resolve方法
    Promise实例的any方法
    Promise实例的race方法
  • 原文地址:https://www.cnblogs.com/xlmeng1988/p/cat.html
Copyright © 2011-2022 走看看