zoukankan      html  css  js  c++  java
  • 第八章 查看文件内容命令

    一、echo      #打印你所要输出的内容 打印变量的值 创建新文件 修改文件 输出加上颜色 脚本中使用的多


    选项:

    -n        #不自动换行

    -e        #支持一些特殊字符的使用

           #换行符

           #tab键


    #所见即所得
    [root@sh-jindada ~]# echo hello
    hello
    [root@sh-jindada ~]# echo hello world
    hello world
    [root@sh-jindada ~]# echo 'hello world'
    hello world


    [root@sh-jindada ~]# echo hello
    hello
    [root@sh-jindada ~]# echo -n hello #输出的时候不自动换行
    hello[root@sh-jindada ~]#

    [root@sh-jindada ~]# echo -e 'hello world' #-e 支持一些特殊字符 换行符
    hello
    world

    [root@sh-jindada ~]# echo -e 'hello world' # tab键
    hello world


    [root@sh-jindada ~]# name=jindada
    [root@sh-jindada ~]# echo $name #打印变量
    jindada

     

    [root@sh-jindada ~]# echo "hello world" > test.txt #创建一个非空文件
    [root@sh-jindada ~]# ll
    total 8
    -rw-------. 1 root root 1497 Jun 9 20:00 anaconda-ks.cfg
    -rw-r--r--. 1 root root 12 Jun 16 10:11 test.txt
    [root@sh-jindada ~]# cat test.txt
    hello world
    [root@sh-jindada ~]#

    #字体颜色

      echo -e "33[30m 黑色字 33[0m"
      echo -e "33[31m 红色字 33[0m"
      echo -e "33[32m 绿色字 33[0m"
      echo -e "33[33m 黄色字 33[0m"
      echo -e "33[34m 蓝色字 33[0m"
      echo -e "33[35m 紫色字 33[0m"
      echo -e "33[36m 天蓝字 33[0m"
      echo -e "33[37m 白色字 33[0m"


    #字背景颜色

      echo -e "33[40;37m 黑底白字 33[0m"
      echo -e "33[41;37m 红底白字 33[0m"
      echo -e "33[42;37m 绿底白字 33[0m"
      echo -e "33[43;37m 黄底白字 33[0m"
      echo -e "33[44;37m 蓝底白字 33[0m"
      echo -e "33[45;37m 紫底白字 33[0m"
      echo -e "33[46;37m 天蓝底白字 33[0m"
      echo -e "33[47;30m 白底黑字 33[0m"

    #最后的控制选项

      33[0m 关闭所有属性
      33[1m 设置高亮度
      33[4m 下划线
      33[5m 闪烁
      33[7m 反显
      33[8m 消隐
      33[30m — 33[37m 设置前景色
      33[40m — 33[47m 设置背景色
      33[nA 光标上移n行
      33[nB 光标下移n行
      33[nC 光标右移n行
      33[nD 光标左移n行
      33[y;xH设置光标位置
      33[2J 清屏
      33[K 清除从光标到行尾的内容
      33[s 保存光标位置
      33[u 恢复光标位置
      33[?25l 隐藏光标
      33[?25h 显示光标

     

    [root@sh-jindada ~]# echo -e "33[31mHello world33[0m"
    Hello world


    [root@sh-jindada ~]# echo -e "33[43;32m 红底白字 33[0m"
    红底白字

     

    二、cat       #显示文件内容 把文件内容全部显示出来 创建新文件 修改文件 合并文件


    选项:

    -n        #显示文件时,显示文件的行号

    -A        #给显示的文件内容的每行结尾加上一个标识符


    [root@sh-jindada ~]# cat test.txt      #显示文件的所有内容
    hello world


    [root@sh-jindada ~]# cat -n test.txt     #显示文件内容时,并显示行号
    1 hello world


    [root@sh-jindada ~]# cat -A test.txt     #给文件每一行的结尾加上标识符 主要是查看每行的最后面是否存在空格或者tab键

    hello world$


    [root@sh-jindada ~]# cat test.txt > test.log     #创建一个非空文件 根据一个文件内容进行创建一个新文件
    [root@sh-jindada ~]# ll
    total 12
    -rw-------. 1 root root 1497 Jun 9 20:00 anaconda-ks.cfg
    -rw-r--r--. 1 root root 12 Jun 16 10:34 test.log
    -rw-r--r--. 1 root root 12 Jun 16 10:11 test.txt
    [root@sh-jindada ~]# cat test.log
    hello world

    #同时查看多个文件

    [root@sh-jindada ~]# cat hosts test.txt
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    hello world


    [root@sh-jindada ~]# cat hosts test.txt > 123.txt #将两个文件合并成一个文件
    [root@sh-jindada ~]# cat 123.txt
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    hello world


    > #先清空文件内容

    >> #追加

    [root@sh-jindada ~]# cat >jindada.txt<<EOF       #从命令行读取输入,直到一个与EOF相同的行结束。标识符限定输入重定向
    > hello world
    > EOF
    [root@sh-jindada ~]# ll
    total 24
    -rw-r--r--. 1 root root 170 Jun 16 10:36 123.txt
    -rw-------. 1 root root 1497 Jun 9 20:00 anaconda-ks.cfg
    -rw-r--r--. 1 root root 158 Jun 16 10:35 hosts
    -rw-r--r--. 1 root root 12 Jun 16 10:38 jindada.txt
    -rw-r--r--. 1 root root 12 Jun 16 10:34 test.log
    -rw-r--r--. 1 root root 12 Jun 16 10:11 test.txt
    [root@sh-jindada ~]# cat jindada.txt
    hello world

     

    三、more       #分页显示文件内容 文件显示完成之后,退出

    [root@sh-jindada ~]# more services

    选项:

    -num       #num是数字 指定一页显示多少行

    +num        #num是数字 指定从第几行开始显示文件内容


    空格或者f键       #向下翻页

    b键          #向上翻页

    回车         #向下一行

    h            #帮助信息

    q            #退出

    /xxx         #搜索你要搜索的内容 搜索出来的内容不会高亮显示

    n            #向下查找 不能向上查找

    =             #显示当前光标所在的行号


    [root@sh-jindada ~]# more -5 services     #指定一页显示多少行
    # /etc/services:
    # $Id: services,v 1.55 2013/04/14 ovasik Exp $
    #
    # Network services, Internet style
    # IANA services version: last updated 2013-04-10
    --More--(0%)

    [root@sh-jindada ~]# more +5 services      #从第几行开始显示

     

    四、 less         #分页显示文件内容 退出之后会把显示的内容收回 文件显示完成之后,不会自动退出,要手动

    选项:

    -N       #显示文件内容的时候,加上行号

    -i       #在搜索的时候,忽略大小写

    空格或者f键       #向下翻页

    b键         #向上翻页

    回车          #向下一行

    q            #退出

    h            #显示帮助

    /xxxx           #搜索指定的内容 会把搜索出来的内容高亮显示

    n           #向下查找

    N           #向上查找


    =            #显示当前页是第几行到第几行 总行数 总字节 显示已经显示多少字节 显示已经查看文件内容的比例


    [root@sh-jindada ~]# less -i services        #忽略大小写 搜索的时候


    [root@sh-jindada ~]# less -N services        #显示文件内容的时候,显示行号

     

    五、head         #显示文件的头部信息,默认显示文件的前十行内容


    选项:

    -n            #取消默认输出

    -c           #显示文件的最前面的字符

    [root@jindada ~]# head passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin

     

    [root@jindada ~]# head -n 2 passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin

    ===

    [root@jindada ~]# head -2 passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin


    [root@jindada ~]# head -20 passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    polkitd:x:999:998:User for polkitd:/:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin


    [root@jindada ~]# head -c5 passwd
    root:[root@jindada ~]#

     

    六、tail         #显示文件的尾部信息,默认显示文件最后10行

    选项:

    -n          #取消默认输出

    -c         #显示最后几个字符

    -f          #实时显示文件的尾部变化信息

    -F          #实时更新文件的内容,当文件不存在,不会退出,会一直尝试读取这个文件,直到文件存在

    [root@jindada ~]# tail passwd
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    polkitd:x:999:998:User for polkitd:/:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin


    [root@jindada ~]# tail -n 1 passwd
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin

    ===

    [root@jindada ~]# tail -1 passwd
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin


    [root@jindada ~]# tail -c5 passwd       #显示最后5个字符,只能看见4个,另外一个是换行符
    ogin
    [root@jindada ~]#


    [root@jindada ~]# tail -f passwd
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    polkitd:x:999:998:User for polkitd:/:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin


    #另外一个窗口进行测试
    [root@jindada ~]# echo 'hello' >> passwd

     

    [root@jindada ~]# tail -f test.log
    tail: cannot open ‘test.log’ for reading: No such file or directory
    tail: no files remaining
    [root@jindada ~]# tail -F test.log
    tail: cannot open ‘test.log’ for reading: No such file or directory

     

    tail: ‘test.log’ has appeared; following end of new file
    test

     七、tailf         #实时更新文件的内容


    tailf ==== tail -f

    当文件内容没有发生变化时,tailf不会去读取磁盘中的信息,减少磁盘的读写 ,tail -f 当文件内容没有发生变化时,会一直向磁盘进行读取


    选项:

    -n            #取消默认输出

     

  • 相关阅读:
    C语言:求n(n<10000)以内的所有四叶玫瑰数。-将字符串s1和s2合并形成新的字符串s3,先取出1的第一个字符放入3,再取出2的第一个字符放入3,
    C语言:找出一个大于给定整数m且紧随m的素数,-求出能整除x且不是偶数的数的个数,
    C语言:将3*4矩阵中找出行最大,列最小的那个元素。-将低于平均值的人数作为函数返回值,将低于平均分的分数放入below数组中。
    C语言:将3*5矩阵中第k列的元素左移到第0列,第k列以后的每列元素依次左移,原来左边的各列依次绕到右边。-在m行m列的二维数组中存放如下规律的数据,
    C语言:将ss所指字符串中所有下标为奇数位置的字母转换为大写-将该字符串中的所有字符按ASCII码值升序排序后输出。-将a所指的4*3矩阵第k行的元素与第0行元素交换。
    C语言:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删去,-将a所指字符串中的字符和b所指字符串中的字符的顺序交叉,-将形参s所指字符串中的所有数字字符顺序前移,
    C语言:将带头节点的单向链表结点域中的数据从小到大排序。-求出单向链表结点(不包括头节点)数据域中的最大值。-将M*N的二维数组中的数据,按行依次放入一维数组,
    C语言:判断字符串是否为回文,-函数fun将单向链表结点数据域为偶数的值累加起来。-用函数指针指向要调用的函数,并进行调用。
    C语言:去除一个字符串中所有的空格。-函数fun传入形参m,求t=1/2-1/3+1/4.....+1/m的值。-判断形参a指定的矩阵是不是“幻方“。
    C语言-对字符串二维数组各个元素进行比较-十进制数转化为其他进制数-进行规则矩阵的输出-190225
  • 原文地址:https://www.cnblogs.com/jhno1/p/13280746.html
Copyright © 2011-2022 走看看