zoukankan      html  css  js  c++  java
  • Liunjx 文件

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

    1.命令格式:

    cat [选项] [文件]...

    2.命令功能:

    cat主要有三大功能:

    1.一次显示整个文件:cat filename

    2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.

    3.将几个文件合并为一个文件:cat file1 file2 > file

    3.命令参数:

    -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 之外

     

     

     

     

     

          less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

    1.命令格式:

    less [参数]  文件 

    2.命令功能:

    less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

    3.命令参数:

    -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]:   向上翻动一页

     

    4.使用实例:

    实例1:查看文件

    命令:

    less log2013.log

       输出:

     

    实例2:ps查看进程信息并通过less分页显示 

    命令:

     ps -ef |less

       输出:

                    

     

    实例3:查看命令历史使用记录并通过less分页显示

    命令:

     history | less

    输出:

             [root@localhost test]# history | less

        22  scp -r tomcat6.0.32 root@192.168.120.203:/opt/soft

        23  cd ..

        24  scp -r web root@192.168.120.203:/opt/

        25  cd soft

        26  ls

        27  scp -r jdk1.6.0_16/ root@192.168.120.203:/opt/soft

        28  clear

        29  vim /etc/profile

        30  vim /etc/profile

        31  cd tomcat6.0.32/bin/

        32  ls

        33  ./shutdown.sh

        34  ./startup.sh

        35  vim startup.sh

       36  ls

        37  echo $JAVA_HOME

        38  java

        39  ls

        40  ls

        41  clear

        42  cd /opt

        43  ls

        44  cp apache-tomcat-6.0.32.tar.gz soft/

        45  ls

        46  rm -f apache-tomcat-6.0.32.tar.gz 

        47  ls

        48  cd soft

        49  ls

        50  tar -vzf apache-tomcat-6.0.32.tar.gz 

        51  tar -vzfx apache-tomcat-6.0.32.tar.gz 

        52  tar -zxvf apache-tomcat-6.0.32.tar.gz 

        53  ls

        54  cd apache-tomcat-6.0.32

        55  ls

        56  cd ..

        57  mv apache-tomcat-6.0.32 tomcat6.0.32

        58  ls

        59  cd tomcat6.0.32/

        60  ls

     

    实例5:浏览多个文件 

    命令:

    Less log2013.log log2014.log

    输出:

        说明:

    输入 :n后,切换到 log2014.log

    输入 :p 后,切换到log2013.log

     

    5.附加备注

    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 ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。

    1.命令格式:

    more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ] 

    2.命令功能:

    more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。

    3.命令参数:

    +n      从笫n行开始显示

    -n       定义屏幕大小为n行

    +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示  

    -c       从顶部清屏,然后显示

    -d       提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能

    -l        忽略Ctrl+l(换页)字符

    -p       通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似

    -s       把连续的多个空行显示为一行

    -u       把文件内容中的下画线去掉

    4.常用操作命令:

    Enter    向下n行,需要定义。默认为1行

    Ctrl+F   向下滚动一屏

    空格键  向下滚动一屏

    Ctrl+B  返回上一屏

    =       输出当前行的行号

    :f     输出文件名和当前行的行号

    V      调用vi编辑器

    !命令   调用Shell,并执行命令 

    q       退出more

    5.命令实例:

    实例1:显示文件中从第3行起的内容

    命令:

    aijian.shi@U-aijian-shi:~/ALM$ cat test.log                   #显示所有日志内容
    aijian.shi@U-aijian-shi:~/ALM$ more +3 test.log               #从第三行开始显示日志内容

    输出:

    复制代码
     1 aijian.shi@U-aijian-shi:~/ALM$ cat test.log
     2 2016-8-1 aijian.shi
     3 2016-8-2 yafang.wei
     4 2016-8-3 hong.zhan
     5 2016-8-4 yuyan.zhang
     6 2016-8-5 senlin.zhao
     7 2016-8-6 yanbin.liu
     8 2016-8-7 hui.liu
     9 2016-8-8 yanhua.liu
    10 2016-8-9 baoixn.cui
    11 2016-8-10 ge.song
    12 2016-8-11 zhongjun.zhen
    13 2016-8-12 qiu.liao
    aijian.shi@U-aijian-shi:~/ALM$ more +3 test.log
    2016-8-3 hong.zhan
    2016-8-4 yuyan.zhang
    2016-8-5 senlin.zhao
    2016-8-6 yanbin.liu
    2016-8-7 hui.liu
    2016-8-8 yanhua.liu
    2016-8-9 baoixn.cui
    2016-8-10 ge.song
    2016-8-11 zhongjun.zhen
    2016-8-12 qiu.lia
    复制代码

    实例2.将日志内容设置为每屏显示4行

    命令:

    aijian.shi@U-aijian-shi:~/ALM$ more -4 test.log

    输出:

    复制代码
     1 aijian.shi@U-aijian-shi:~/ALM$ more -4 test.log
     2 2016-8-1 aijian.shi
     3 2016-8-2 yafang.wei
     4 2016-8-3 hong.zhan
     5 2016-8-4 yuyan.zhang
     6 
     7 ...skipping one line              #这里使用ctrl+F或者空格键来滚屏
     8 2016-8-6 yanbin.liu
     9 2016-8-7 hui.liu
    10 2016-8-8 yanhua.liu
    11 2016-8-9 baoixn.cui
    12 
    13 ...skipping one line
    14 2016-8-11 zhongjun.zhen
    15 2016-8-12 qiu.liao
    复制代码

    实例3.从文件中查找第一个出现"liu"字符串的行,并从该处前两行开始显示输出

    命令:

    aijian.shi@U-aijian-shi:~/ALM$ more +/liu test.log

     

    输出:

    复制代码
     1 aijian.shi@U-aijian-shi:~/ALM$ more +/liu test.log
     2 
     3 ...skipping
     4 2016-8-4 yuyan.zhang
     5 2016-8-5 senlin.zhao
     6 2016-8-6 yanbin.liu
     7 2016-8-7 hui.liu
     8 2016-8-8 yanhua.liu
     9 2016-8-9 baoixn.cui
    10 2016-8-10 ge.song
    11 2016-8-11 zhongjun.zhen
    12 2016-8-12 qiu.liao
    复制代码

    实例4.当一个目录下的文件内容太多,可以用more来分页显示。这得和管道 | 结合起来

    命令:

    aijian.shi@U-aijian-shi:~/ALM$ cat test.log | more -5   #“|”表示管道,作用是可以将前面命令的输出当做后面命令的输入

    输出:

    复制代码
     1 aijian.shi@U-aijian-shi:~/ALM$ cat test.log | more -5
     2 2016-8-1 aijian.shi
     3 2016-8-2 yafang.wei
     4 2016-8-3 hong.zhan
     5 2016-8-4 yuyan.zhang
     6 2016-8-5 senlin.zhao
     7 
     8 ...skipping one line
     9 2016-8-7 hui.liu
    10 2016-8-8 yanhua.liu
    11 2016-8-9 baoixn.cui
    12 2016-8-10 ge.song
    13 2016-8-11 zhongjun.zhen
    14 --more--
     
     
     

    tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. 

    1.命令格式;

    tail[必要参数][选择参数][文件]   

    2.命令功能:

    用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

    3.命令参数:

    -f 循环读取

    -q 不显示处理信息

    -v 显示详细的处理信息

    -c<数目> 显示的字节数

    -n<行数> 显示行数

    --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束. 

    -q, --quiet, --silent 从不输出给出文件名的首部 

    -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒 

    4.使用实例:

    实例1:显示文件末尾内容

    命令:

    tail -n 5 log2014.log

    输出:

    [root@localhost test]# tail -n 5 log2014.log 

    2014-09

    2014-10

    2014-11

    2014-12

    ==============================[root@localhost test]#

    说明:

    显示文件最后5行内容

     

    实例2:循环查看文件内容

    命令:

    tail -f test.log

    输出:

    [root@localhost ~]# ping 192.168.120.204 > test.log &

    [1] 11891[root@localhost ~]# tail -f test.log 

    PING 192.168.120.204 (192.168.120.204) 56(84) bytes of data.

    64 bytes from 192.168.120.204: icmp_seq=1 ttl=64 time=0.038 ms

    64 bytes from 192.168.120.204: icmp_seq=2 ttl=64 time=0.036 ms

    64 bytes from 192.168.120.204: icmp_seq=3 ttl=64 time=0.033 ms

    64 bytes from 192.168.120.204: icmp_seq=4 ttl=64 time=0.027 ms

    64 bytes from 192.168.120.204: icmp_seq=5 ttl=64 time=0.032 ms

    64 bytes from 192.168.120.204: icmp_seq=6 ttl=64 time=0.026 ms

    64 bytes from 192.168.120.204: icmp_seq=7 ttl=64 time=0.030 ms

    64 bytes from 192.168.120.204: icmp_seq=8 ttl=64 time=0.029 ms

    64 bytes from 192.168.120.204: icmp_seq=9 ttl=64 time=0.044 ms

    64 bytes from 192.168.120.204: icmp_seq=10 ttl=64 time=0.033 ms

    64 bytes from 192.168.120.204: icmp_seq=11 ttl=64 time=0.027 ms

     

    [root@localhost ~]#

    说明:

    ping 192.168.120.204 > test.log & //在后台ping远程主机。并输出文件到test.log;这种做法也使用于一个以上的档案监视。用Ctrl+c来终止。 

     

    实例3:从第5行开始显示文件

    命令:

    tail -n +5 log2014.log

    输出:

    [root@localhost test]# cat log2014.log 

    2014-01

    2014-02

    2014-03

    2014-04

    2014-05

    2014-06

    2014-07

    2014-08

    2014-09

    2014-10

    2014-11

    2014-12

    ==============================

    [root@localhost test]# tail -n +5 log2014.log

    2014-05

    2014-06

    2014-07

    2014-08

    2014-09

    2014-10

    2014-11

    2014-12

    head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。 

    1.命令格式:

    head [参数]... [文件]...  

    2.命令功能:

    head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。 

    3.命令参数:

    -q 隐藏文件名

    -v 显示文件名

    -c<字节> 显示字节数

    -n<行数> 显示的行数

    4.使用实例:

    实例1:显示文件的前n行

    命令:

    head -n 5 log2014.log

    输出:

    [root@localhost test]# cat log2014.log 

    2014-01

    2014-02

    2014-03

    2014-04

    2014-05

    2014-06

    2014-07

    2014-08

    2014-09

    2014-10

    2014-11

    2014-12

    ==============================

    [root@localhost test]# head -n 5 log2014.log 

    2014-01

    2014-02

    2014-03

    2014-04

    2014-05[root@localhost test]#

     

    实例2:显示文件前n个字节

    命令:

    head -c 20 log2014.log

    输出:

    [root@localhost test]# head -c 20 log2014.log

    2014-01

    2014-02

    2014

    [root@localhost test]#

     

    实例3:文件的除了最后n个字节以外的内容 

    命令:

    head -c -32 log2014.log

    输出:

    [root@localhost test]# head -c -32 log2014.log

    2014-01

    2014-02

    2014-03

    2014-04

    2014-05

    2014-06

    2014-07

    2014-08

    2014-09

    2014-10

    2014-11

    2014-12[root@localhost test]#

     

    实例4:输出文件除了最后n行的全部内容

    命令:

    head -n -6 log2014.log

    输出:

    [root@localhost test]# head -n -6 log2014.log

    2014-01

    2014-02

    2014-03

    2014-04

    2014-05

    2014-06

    2014-07[root@localhost test]#

  • 相关阅读:
    Android开发-API指南-服务
    Android开发-API指南-<uses-sdk>
    User Experience Questionnaire (UEQ)
    Git Remote (转)
    Start and Stop Bitbucket Server
    Bitbucekt Reference
    JIRA reference
    Glassfish 4 修改server.log 等配置
    SVN Trunk Tag Branch
    设置eclipse的Maven插件引入依赖jar包后自动下载并关联相应的源码(转)
  • 原文地址:https://www.cnblogs.com/zqxqx/p/7966956.html
Copyright © 2011-2022 走看看