• 技术文章 >运维 >linux运维

    linux可以导出文件内容吗

    藏色散人藏色散人2023-03-13 11:05:44原创86

    linux可以导出文件内容,在linux中可以用cat命令导出文件内容;cat命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,其使用语法是“cat [xuanxiang] [wenjian]”。

    本教程操作环境:linux5.9.8系统、Dell G3电脑。

    linux可以导出文件内容吗?

    可以。

    Linux 中 用cat 输出文件内容

    功能:把一个或者多个文件(或者标准输入)连接在一起,并标准输出。(Concatenate FILE(s), or standard input, to standard output.)

    cat命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示。它常与重定向符号配合使用。cat是Concatenate的缩写。

    Linux 有三个特别文件,分别
    -标准输入 即 STDIN , 在 /dev/stdin
    一般指键盘输入, shell里代号是 0
    -标准输出 STDOUT, 在 /dev/stdout
    一般指终端(terminal), 就是显示器, shell里代号是 1
    -标准错误 STDERR, 在 /dev/stderr
    也是指终端(terminal), 不同的是, 错误信息送到这里
    shell里代号是 2
    语法:cat   [选项]   [文件]
    短选项长选项涵义
    -A--show-all等于-vET
    -b--number-nonblank对非空输出行编号
    -e 等于-vE
    -E--show-ends在每行结束处显示"$"
    -n--number对输出的所有行编号
    -s--squeeze-blank不输出多行空行
    -t 与-vT 等价
    -T--show-tabs将跳格字符显示为^I
    -v--show-nonprinting使用^ 和M- 引用,除了LFD和 TAB 之外
    输出文件内容 
    
    显示文件FILE的内容 cat FILE 
    
    显示文件FILE的内容加上行号,需要加上参数-n。行号从1开始。使用-n参数时,所有空行也会显示行号 cat -n FILE 
    
    忽略掉空行,用-b cat -b FILE 
    
    当遇到有连续两行以上的空白行,就代换为一行的空白行,可以使用-s参数 cat -s FILE 
     保存内容 
    
    将标准输入保存到文件FILE中,如果文件已经存在,则覆盖掉原来的 cat >FILE 
    
    将标准输入追加到文件FILE末尾 cat >>FILE  
     合并文件 
      
    将两个文件FILE1和FILE2的内容合并为一个文件FILE cat FILE1 FILE2 >FILE

    cat 使用实例

    从标准输入创建文件 
    [root@web setup]# code>cat >1.txt 
    Hello 
    Bash 
    Linux 
    键盘(快捷键)Ctrl+D 保存文件 
     
    [root@web setup]# ls -l 1.txt 
    -rw-r--r-- 1 root root 17 11-02 21:32 1.txt 
    [root@web setup]# cat 1.txt   显示1.txt文本内容。标准输出 
    Hello 
    Bash 
    Linux 
    [root@web setup]# cat <1.txt 
    Hello 
    Bash 
    Linux 
    [root@web setup]# 
     
     
     使用heredoc来生成文件 
    注意:粗体部分、here doc可以进行字符串替换 
    [root@web setup]# cat >2.txt <<EOF 
    > Hello 
    > Bash 
    > Linux 
    > PWD=$(pwd) 
    > EOF 
     
    [root@web setup]# ls -l 2.txt 
    -rw-r--r-- 1 root root 33 11-02 21:35 2.txt 
    [root@web setup]# cat 2.txt 
    Hello 
    Bash 
    Linux 
    PWD=/root/setup  
    [root@web setup]# 
     
     
     输出行号 
    [root@web setup]# cat -n 1.txt 
         1  Hello 
         2  Bash 
         3  Linux 
    [root@web setup]# nl 1.txt 
         1  Hello 
         2  Bash 
         3  Linux 
    [root@web setup]# 
     
     
     在bash脚本中把文件内容加载到变量中 
    [root@web ~]# TEXT=$(cat .bash_profile) 
    [root@web ~]# 
    [root@web ~]# echo "$TEXT" 
    # .bash_profile 
     
    # Get the aliases and functions 
    if [ -f ~/.bashrc ]; then 
            . ~/.bashrc 
    fi 
     
    # User specific environment and startup programs 
     
    PATH=$PATH:$HOME/bin 
     
    export PATH 
    unset USERNAME 
    [root@web ~]#

    heredoc文档

    在linux shell脚本中我们经常见到类似于cat << EOF的语句,不熟悉的童鞋可能觉得很奇怪:EOF好像是文件的结束符,用在这里起到什么作用?EOF是“end of file”,表示文本结束符。

    <<EOF
    (内容)
    EOF

    • EOF在这里没有特殊的含义,你可以使用FOE或OOO等(当然也不限制在三个字符或大写字符)。
    • 可以把EOF替换成其他东西,意思是把内容当作标准输入传给程
    • 结合这两个标识,即可避免使用多行echo命令的方式,并实现多行输出的结果。

    接下来,简单描述一下几种常见的使用方式及其作用:

    • cat <<EOF,以EOF输入字符为标准输入开始
    • cat >filename,创建文件,并把标准输入输出到filename文件中,以ctrl+d作为输入。
    • cat >filename <<EOF,以EOF作为输入结束,和ctrl+d的作用一样。
    # cat >test.sh <<EOF
    > #!/bin/bash
    > #you Shell script writes here.
    > EOF

    其他写法

    1、追加文件
    # cat <<EOF >>test.sh

    2、追加文件,换一种写法
    # cat >>test.sh <<EOF

    3、EOF只是标识,不是固定的。这里的“HHH”就代替了“EOF”的功能。结果是相同的。
    # cat <<HHH >iii.txt
    > sdlkfjksl
    > sdkjflk
    > asdlfj
    > HHH

    4、非脚本中。如果不是在脚本中,我们可以用Ctrl+D输出EOF的标识
    # cat >iii.txt
    skldjfklj
    sdkfjkl
    kljkljklj
    kljlk
    Ctrl+D

    相关推荐:《Linux视频教程

    以上就是linux可以导出文件内容吗的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:linux
    上一篇:linux用户内存会限制吗 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • linux有垃圾产生吗• python在linux哪个文件夹• linux 可以重置系统时间吗• linux用户内存会限制吗
    1/1

    PHP中文网