zoukankan      html  css  js  c++  java
  • 关于tail, head ,less ,more ,cat 之小介------Linux命令

    前言:Linux命令在项目中是经常用,查看日志信息是一个不可缺少的指令。一般都是用Less,more,tail,head,cat 这些命令  目前是足够的。
     
    很久不用就会忘记。现在简单写一写。
    ①tail  用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
    参数设置:
    -f  循环读取
    -q 不显示处理信息
    -v 显示详细的处理信息
    -c  字节数目  显示的字节数目
    -n  行数 显示行数
    -pid=PID 与-f 合用 表示在进行ID,PID死掉之后结束
    -q,-quiet,-silent  从不输出文件名的首部(没太看懂这点是什么意思,还没用过,存疑)
    -s,-sleep-interval=S与-f 合用  表示在每次反复的间隔休眠S秒
     
    实际例子:文件名为b.log
    显示文件末尾最后5行   : tail -n 5 b.log
    循环查看文件: tail -f b.log
    另:ping 192.168.120.204 > test.log & //在后台ping远程主机。并输出文件到test.log;这种做法也使用于一个以上的档案监视。用Ctrl+c来终止。
    从第五行开始显示: tail -n +5 b.log
     
    ②head   用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
    参数设置 :
    -c  数目 文件名  显示前多少字节
    -n  数目 文件名  显示前多少行
    -q  隐藏文件名
    -v 显示文件名
     
    实际例子,文件名为a.log
    显示前5行:head -n 5 a.log
    显示前5个字节:head -c 5 a.log
    显示除了最后5行的行: head -n -5 a.log
    显示除了最后5个字节的字节: head -c -5 a.log
     
    负数则是除去最后几行,几字节,正数则是前面的字节或者行数。
     
    ③less  less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
    参数设置:
    -b <缓冲区大小> 设置缓冲区的大小
    -e  当文件显示结束后,自动离开
    -f  强迫打开特殊文件,例如外围设备代号、目录和二进制文件
    -g  只标志最后搜索的关键词
    -i  忽略搜索时的大小写
    -m  显示类似more命令的百分比
    -N  显示每行的行号
    -o <文件名> 将less 输出的内容在指定文件中保存起来
    -Q  不使用警告音
    -s  显示连续空行为一行
    -S  行过长时间将超出部分舍弃
    -x <数字> 将“tab”键显示为规定的数字空格
    /字符串:向下搜索“字符串”的功能
    ?字符串:向上搜索“字符串”的功能
    n:重复前一个搜索(与 / 或 ? 有关)
    N:反向重复前一个搜索(与 / 或 ? 有关)
    b  向后翻一页
    d  向后翻半页
    h  显示帮助界面
    Q  退出less 命令
    u  向前滚动半页
    y  向前滚动一行
    空格键 滚动一行
    回车键 滚动一页
    [pagedown]: 向下翻动一页
    [pageup]:   向上翻动一页
     
    实际例子: 文件名 c.log
    查看文件  less  c.log
    查看进程信息并且分页显示   ps -ef | less
    查看命令历史记录并且通过分页显示  history | less
    浏览多个文件 less a.log b. log
    注意:
    输入 :n后,切换到 b.log (n是next,下一页)
    输入 :p 后,切换到a.log   (P 是previous,前一个)
    *********************************************************************************************************************
    附加:(此处为网上资料,还未用过,仅供参考)
    1.全屏导航
    ctrl + F – 向前移动一屏
    ctrl + B – 向后移动一屏
    ctrl + D – 向前移动半屏
    ctrl + U – 向后移动半屏
    2.单行导航
    j – 向前移动一行
    k – 向后移动一行
    3.其它导航
    G – 移动到最后一行
    g – 移动到第一行
    q / ZZ – 退出 less 命令
    4.其它有用的命令
    v – 使用配置的编辑器编辑当前文件
    h – 显示 less 的帮助文档
    &pattern – 仅显示匹配模式的行,而不是整个文件
    5.标记导航
    当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:
    ma – 使用 a 标记文本的当前位置
    ‘a – 导航到标记 a 处
     
    *********************************************************************************************************************
     
    ④more 和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。
     
    参数设置:
    +n      从笫n行开始显示
    -n       定义屏幕大小为n行
    +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
    -c       从顶部清屏,然后显示
    -d       提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
    -l        忽略Ctrl+l(换页)字符
    -p       通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
    -s       把连续的多个空行显示为一行
    -u       把文件内容中的下画线去掉
     
     
    Enter    向下n行,需要定义。默认为1行
    Ctrl+F   向下滚动一屏
    空格键  向下滚动一屏
    Ctrl+B  返回上一屏
    =       输出当前行的行号
    :f     输出文件名和当前行的行号
    V      调用Vi编辑器
    !命令   调用Shell,并执行命令
    q       退出more
     
     
    实例1:显示文件中从第3行起的内容
    命令:
    more +3 log2012.log
    输出:
    [root@localhost test]# cat log2012.log
    2012-01
    2012-02
    2012-03
    2012-04-day1
    2012-04-day2
    2012-04-day3
    ======[root@localhost test]# more +3 log2012.log
    2012-03
    2012-04-day1
    2012-04-day2
    2012-04-day3
    ======[root@localhost test]#
    实例2:从文件中查找第一个出现”day3″字符串的行,并从该处前两行开始显示输出
    命令:
    more +/day3 log2012.log
    输出:
    [root@localhost test]# more +/day3 log2012.log
    ...skipping
    2012-04-day1
    2012-04-day2
    2012-04-day3
    2012-05
    2012-05-day1
    ======[root@localhost test]#
    实例3:设定每屏显示行数
    命令:
    more -5 log2012.log
    输出:
    [root@localhost test]# more -5 log2012.log
    2012-01
    2012-02
    2012-03
    2012-04-day1
    2012-04-day2
    说明:
    实例4:列一个目录下的文件,由于内容太多,我们应该学会用more来分页显示。这得和管道 | 结合起来
    命令:
    ls -l  | more -5
    输出:
    [root@localhost test]#  ls -l  | more -5
    总计 36
    -rw-r--r-- 1 root root  308 11-01 16:49 log2012.log
    -rw-r--r-- 1 root root   33 10-28 16:54 log2013.log
    -rw-r--r-- 1 root root  127 10-28 16:51 log2014.log
    lrwxrwxrwx 1 root root    7 10-28 15:18 log_link.log -> log.log
    -rw-r--r-- 1 root root   25 10-28 17:02 log.log
    -rw-r--r-- 1 root root   37 10-28 17:07 log.txt
    drwxr-xr-x 6 root root 4096 10-27 01:58 scf
    drwxrwxrwx 2 root root 4096 10-28 14:47 test3
    drwxrwxrwx 2 root root 4096 10-28 14:47 test4
    说明:
    每页显示5个文件信息,按 Ctrl+F 或者 空格键 将会显示下5条文件信息。
    ⑤cat
    主要有三大功能:
    1.一次显示整个文件:cat filename
    2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
    3.将几个文件合并为一个文件:cat file1 file2 > file
    参数设置:
    -A, --show-all           等价于 -vET
    -b, --number-nonblank    对非空输出行编号

    -e                       等价于 -vE
    -E, --show-ends          在每行结束处显示 $

    -n, --number     对输出的所有行编号,由1开始对所有输出的行数编号
    -s, --squeeze-blank  有连续两行以上的空白行,就代换为一行的空白行

    -t                       与 -vT 等价
    -T, --show-tabs          将跳格字符显示为 ^I

    -u                       (被忽略)
    -v, --show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
     
    实际例子:
    把a.log的文件内容加上行号 输入到b.log
    cat -n a.log b.log  结果是插入到b.log内容的前面
     
    把 a.log 和b.log 的文件内容加上行号(空白行不加)之后将内容附加到 c.log 里。
    cat -b  a.log b.log >  c.log
     
    把 a.log 的文件内容加上行号后输入b.log 这个文件里
    cat -n a.log > b.log
     
    附加说明:
    tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,而 tac 则是由最后一行到第一行反向在萤幕上显示出来!
     
     
  • 相关阅读:
    ARM指令集----寻址方式
    [js] 实现接口
    sublime自定义配置
    [javascript] postmessage
    [javascript] visible - 待写
    [读书笔记]24个比利
    解决div里面img的缝隙问题(转)
    【JAVASCRIPT】React + Redux
    【JAVASCRIPT】React 学习
    代理
  • 原文地址:https://www.cnblogs.com/BeNumberOne/p/6710100.html
Copyright © 2011-2022 走看看