zoukankan      html  css  js  c++  java
  • cat,more,less,head,tail,输出重定向

    对文件和文件夹的操作

    ls ,mkdir,touch ,pwd,cp,mv,rm,ln
    对文件内容进行操作—》看文件里的内容
    cat more less head tail

    vim编辑器概述

    1.新建一个空文件
    # touch liupeng.txt
    2.使用vim编辑器
    1. # vim luyongkang.txt
    2. 按字母i进入插入模式,开始修改文本 (insert)
    3. 输入内容
    4. 按ESC键,进入命令模式 (escape)(逃离)
    5. 输入:wq ,进入末行模式,退出并且保存(written quit)

    #vim  xiyouji.txt  
    如果xiyouji.txt存在,就是打开,如果不存在,vim编辑器会自动帮助我们新建
    cat  用来查看文件里的内容    
    ls 是查看文件夹里的内容

    cat命令

    cat -n 显示文件内容和行号
    -n, –number
    number all output lines

    tac命令

    tac:用来倒序显示cat的结果
    tac liupeng.txt |cat -n 用来倒序显示cat结果且有行号
    | (管道符):将前面一个命令的输出送给后面一个命令作为输入 。借花献佛

    PS:操作系统中进程与进程间的通信方式:

    • 管道
    • 系统IPC(消息队列、信号量、共享存储)
    • SOCKET

    more命令

    用途:全屏方式分页显示文件内容
    交互操作方法:
    按Enter键向下逐行滚动
    按空格键向下翻一屏、按b键向上翻一屏 (back)
    按q键退出 (quit)

    # cat -n messages |more  
    显示行号并且分页

    less命令

    用途:与more命令相同,但扩展功能更多
    交互操作方法:
    与more命令基本类似,但个别操作会有些出入
    【page up】【page down】上翻下翻页

    head命令

    (从开头看)
    用途:查看文件开头的一部分内容(默认为开始10行)
    格式:head -n 数字 文件名

    # head -n 2 messages  
    显示前2行的内容
    # cat -n messages |head -n 3
            等价于
    # head -n 3 messages |cat -n

    tail命令

    用途:查看文件结尾的少部分内容(默认为10行)—->尾10行

    tail  -f  文件名

    tail命令高级用法

    格式:tail -n 数字 文件名
    命令参数:

    • -q 隐藏文件名
    • -v 显示文件名
    • -c<字节> 显示字节数
    • -n<行数> 显示的行数

    例如:

    tail -n +3 /etc/passwd    从第三行开始显示
    tail -n -3  /etc/passwd    显示最后三行
    head -n -3  /etc/passwd   显示除最后三行外的信息
    head -n +3 /etc/passwd   显示前三行

    练习题

    对messages文件进行操作
    1.显示第6行内容
    2.显示第10行到20行的内容
    3.显示第100行到200行的内容

    # cat -n messages |head -6|tail -1
    # cat -n messages |head -20|tail -11
    # cat -n messages |head -200|tail -101

    注意:head -3 等价 head -n 3

    ps aux命令 查看当前系统进

    # ps aux 

    ps 查看当前系统进程信息
    ps - report a snapshot of the current processes.
    -u userlist
    aux 是选项
    ax显示所有的进程

    # ps aux|more 分页显示所有的进程信息

    wc 统计命令

    -c, --bytes
                  print the byte counts
    -m, --chars
                  print the character counts
    -l, --lines
                  print the newline counts

    注意:一个数字、特殊符号、英文字母占1个字节,一个汉字占2-3个字节
    注意中英文输入法

    # ps aux|tail -n +2|wc -l 
    显示当前有多少进程数量

    sed 对文本文件进行处理

    # cat -n messages |sed -n '1,3p'  显示13# cat -n messages |sed -n '1p;3p;5p'
    显示第1行、第3行、第5

    PS:p是输出相关的内容到屏幕上(print)

    小结

    • cat :一瞬间全部显示,有显示行号的功能
    • more less:分页显示
    • head:头10行
    • tail:尾10行,高级功能,可以从第几行开始显示 tail -n +3 messages
      PS:tail -n 3 等价 tail -3

    cat 扩展功能

    >
    输出重定向符号:将本该在屏幕上输出的内容重新定向到一个文件里。(乾坤大挪移)
    如果后面接的文件不存在,则自动建立。如果文件存在,则覆盖替换原来文件里的内容。
    >>
    输出重定向符号(追加):追加到文件的末尾,如果后面接的文件不存在,则自动建立。如果文件存在,则覆盖替换原来文件里的内容。

    # cat wangshuo.txt >ws.txt   
    覆盖
    ②# cat wangshuo.txt  w.txt  >1.txt
    将两个文件合并为一个1.txt文件

    here document <<

    生成一个指定内容的文件,使用here document 和输出重定向功能,例:
    # cat >LP.txt <<EOF
    (新建一个LP.txt文档,并且往里面写入内容,且以EOF结束)
    > wangnan
    > dezhou
    > EOF

    PS:EOF,即 End OF the…,可以用别的字符代替EOF

    怎么写脚本

    (多写点英文注释)

    #vim lp777.sh
    (以下是脚本内容)
    #!/bin/bash
    #author : LP
    #company : chinaitsoft
    #function: create file and dirctory
    #version: 1.0       

    执行脚本:
    # bash lp777.sh

    脚本执行的时候,从文件的第1条命令开始执行,到最后一条命令。
    脚本,即scripts。其实脚本就是一个存放了很多条命令的文件
    执行的顺序是从第1条到最后一条命令。

    练习:

    编辑一个脚本文件create_file.sh实现下面功能:
    1.新建一个文件夹liudehua
    2.进入liudehua目录,新建10个空文件zhangxueyou1 zhangxueyou2
    到zhangxueyou10
    3.生成一个文件叫wangjishun.txt,内容如下:
      wang ji shun   
      18+
      nan
      qilu 
    4.输出wangjishun.txt的内容到屏幕上
    5.输出一行***************在脚本执行的最后一行

    补充小知识

    # [ -d liudehhua ]  
    判断liudehua目录是否存在  
    $? 代表上一条命令的返回值,如果上一条命令执行成功为0,如果非0就表示不成功

    初识if…else…

    if 命令
    then
        命令1
        命令2
        ....
    else
        命令3
        命令4
        ....

    if命令执行成功就是条件成立,不成功就是条件不成立。
    条件成立,则执行then后面的语句命令,如果条件不成立,则执行else后面的语句命令。

    if [ -d  liudehua ]
    then
            echo "liudehua is exist"
    else
            mkdir liudehua
    fi

    例子:

    #!/bin/bash
    #author : LP
    #company : chinaitsoft
    #function: create file and dirctory
    #version: 1.0
    
    #create liudehua directory    ----注释
    if [ -d liudehua ]
    then
        echo "liudehua is exist"
    else
        mkdir liudehua
    fi
    
    cd liudehua
    touch  zhangxueyou{1..10}
    
    #create file wangjishun.txt
    cat >wangjishun.txt  <<EOF
    wang ji shun
    18+
    qilu
    nan
    EOF
    
    cat  wangjishun.txt
    echo "*************************"

    末尾的小总结

    cat more less head tail :看文件里的内容
    which whereis locate :查找系统里的命令文件存放在哪里?

    which命令
    用途:查找可执行文件并显示所在的位置
    —— 搜索范围由 PATH 环境变量指定
    格式:which 命令或程序名

  • 相关阅读:
    grpc(五)
    go的代码库
    grpc(四)
    grpc(三)
    grpc(二)
    grpc(一)
    java的泛型
    如何学习编程语言
    老男孩K8S集群部署(二)
    VMware虚拟机状态正常,但SecureCRT连接时显示超时的解决方法
  • 原文地址:https://www.cnblogs.com/lpeng94/p/12546514.html
Copyright © 2011-2022 走看看