• tail & cut 命令


    最基本的是cat、more和less。
    1. 如果你只想看文件的前5行,可以使用head命令,如:

    head -5 /etc/passwd
    2. 如果你想查看文件的后10行,可以使用tail命令,如:
    tail -2 /etc/passwd 或 tail -n 2 /etc/passwd
    tail -f /var/log/messages
    参数-f使tail不停地去读最新的内容,这样有实时监视的效果 用Ctrl+c来终止!
    3. 查看文件中间一段,你可以使用sed命令,如:
    sed -n '5,10p' /etc/passwd
    这样你就可以只查看文件的第5行到第10行。

    1. 如果你只想看文件的前5行,能使用head命令,如:
    head -5 /etc/passwd
    2. 如果你想查看文件的后10行,能使用tail命令,如:
    tail -10 /etc/passwd
    tail -f /var/log/messages
    参数-f使tail不停地去读最新的内容,这样有实时监视的效果

    tail语法格式:
        tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
        或者
        tail [ -r ] [ -n Number ] [ File ]
    使用说明:
        tail 命令从指定点开始将 File 参数指定的文件写到标准输出。如果没有指定文件,则会使用标准输入。 Number 变量<br />指定将多少单元写入标准输出。 Number 变量的值可以是正的或负的整数。如果值的前面有 +(加号),从文件开头<br />指定的单元数开始将文件写到标准输出。如果值的前面有 -(减号),则从文件末尾指定的单元数开始将文件写到<br />标准输出。如果值前面没有 +(加号)或 -(减号),那么从文件末尾指定的单元号开始读取文件。
    主要参数:
    -b Number 从 Number 变量表示的 512 字节块位置开始读取指定文件。 
    -c Number 从 Number 变量表示的字节位置开始读取指定文件。 
    -f 如果输入文件是常规文件或如果 File 参数指定 FIFO(先进先出),
    那么 tail 命令不会在复制了输入文件的最后的指定单元后终止,而是继续
    从输入文件读取和复制额外的单元(当这些单元可用时)。如果没有指定 File 参数,
    并且标准输入是管道,则会忽略 -f 标志。tail -f 命令可用于监视另一个进程正在
    写入的文件的增长。 
    -k Number 从 Number 变量表示的 1KB 块位置开始读取指定文件。 
    -m Number 从 Number 变量表示的多字节字符位置开始读取指定文件。使用该标志提供在
    单字节和双字节字符代码集环境中的一致结果。 
    -n Number 从首行或末行位置来读取指定文件,位置由 Number 变量的符号(+ 或 - 或无)
    表示,并通过行号 Number 进行位移。 
    -r 从文件末尾以逆序方式显示输出。-r 标志的缺省值是以逆序方式显示整个文件。
    如果文件大于 20,480 字节,那么-r标志只显示最后的 20,480 字节。 -r 标志只有
    与 -n 标志一起时才有效。否则,就会将其忽略。

    input
    tail -b +1 file
    tail -c +1 file
    tail -n +1 file//从开始数第一行的位置


    linux Kill多个进程的妙招

    我是一个工作在Red Hat 7.0下的数据库管理员(DBA)。工作中经常需要Kill多个进程,如果这些进程有共同的特点,就可以用一条命令Kill掉它们。比如清除Oracle数据库的所有远程连接进程:
    ps -efww|grep LOCAL=NO|grep -v grep|cut -9-15|xargs kill -9

    管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。下面说说用管道符联接起来的几个命令:

    “ps -efww”是Red Hat 7.0里查看所有进程的命令。这时检索出的进程将作为下一条命令“grep LOCAL=NO”的输入。

    “grep LOCAL=NO”的输出结果是,所有含有关键字“LOCAL=NO”的进程,这是Oracle数据库中远程连接进程的共同特点。

    “grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。

    “cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。

    “xargs kill -9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -9”命令的参数,并执行该命令。kill -9”会强行杀掉指定进程,这样就成功清除了oracle的所有远程连接进程。其它类似的任务,只需要修改“grep LOCAL=NO”中的关键字部分就可以了。

                                           cut命令

    主要用来提取各种各样的数据。
    cut -cchars file
    如:
    -c5 提取第5个字符
    -c5- 提取第5个字符以后的字符
    -c1,5,12 提取多个字符,中间用“,”符号隔开
    -c5-14 提取第5个字符到第14个字符间的字符

     
    linux中cut命令的用法

    名称:cut

    使用权限:所有使用者

    用法:cut -cnum1-num2 filename

    说明:显示每行从开头算起 num1 到 num2 的文字。

    范例:

    shell>> cat example
    test2
    this is test1
    shell>> cut -c1-6 example ## print 开头算起前 6 个字元
    test2
    this i

    -c m-n 表示显示每一行的第m个字元到第n个字元。例如:

    ---------file-----------
    liubi 23 14000
    ---------file-----------
    # cut -c 1-5,10-14 file
    liubi 14000

    -f m-n 表示显示第m栏到第n栏(使用tab分隔)。例如:
    ---------file-----------
    liubi 23 14000
    ---------file-----------
    # cut -f 1,3 file
    liubi 14000

    -c 和 -f 参数可以跟以下子参数:
    m 第m个字符或字段
    m- 从第m个字符或字段到文件结束
    m-n 从第m个到第n个字符或字段
    -n 从第1个到第n个字符或字段

    我们经常会遇到需要取出分字段的文件的某些特定字段,例如 /etc/password就是通过":"分隔各个字段的。可以通过cut命令来实现。例如,我们希望将系统账号名保存到特定的文件,就可以:
    cut -d: -f 1 /etc/passwd > /tmp/users
    -d用来定义分隔符,默认为tab键,-f表示需要取得哪个字段
    如:
    使用|分隔
    cut -d'|' -f2 1.test>2.test
    使用:分隔
    cut -d':' -f2 1.test>2.test
    这里使用单引号或双引号皆可。

                    cut命令可以从一个文本文件或者文本流中提取文本列
     命令用法:
           cut -b list [-n] [file ...]
           cut -c list [file ...]
           cut -f list [-d delim][-s][file ...]
     
     
    l      上面的-b、-c、-f分别表示字节、字符、字段(即byte、character、field)
    l      list表示-b、-c、-f操作范围,-n常常表示具体数字;
    l      file表示的自然是要操作的文本文件的名称;
    l      delim(英文全写:delimiter)表示分隔符,默认情况下为TAB;
    l      -s表示不包括那些不含分隔符的行(这样有利于去掉注释和标题)
    上面三种方式中,表示从指定的范围中提取字节(-b)、或字符(-c)、或字段(-f)。
    范围的表示方法:
    N
     只有第N项
    N-
     从第N项一直到行尾
    N-M
     从第N项到第M项(包括M)
    -M
     从一行的开始到第M项(包括M)
    -
     从一行的开始到结束的所有项

    一般用netstat -na 来显示所有连接的端口并用数字表示.
      netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。
      该命令(linux下)的一般格式为 :
      netstat [选项]
      命令中各选项的含义如下:
      -a 显示所有socket,包括正在监听的。
      -c 每隔1秒就重新显示一遍,直到用户中断它。
      -i 显示所有网络接口的信息,格式同“ipconfig -e”。
      -n 以网络IP地址代替名称,显示出网络连接情形。
      -r 显示核心路由表,格式同“route -e”。
      -t 显示TCP协议的连接情况。
      -u 显示UDP协议的连接情况。
      -v 显示正在进行的工作。
      -A 显示任何关联的协议控制块的地址。主要用于调试
      -a 显示所有套接字的状态。在一般情况下不显示与服务器进程相关联的套接字
      -i 显示自动配置接口的状态。那些在系统初始引导后配置的接口状态不在输出之列
      -m 打印网络存储器的使用情况
      -n 打印实际地址,而不是对地址的解释或者显示主机,网络名之类的符号
      -r 打印路由选择表
      -f address -family对于给出名字的地址簇打印统计数字和控制块信息。到目前为止,唯一支持的地址簇是inet
      -I interface 只打印给出名字的接口状态
      -p protocol-name 只打印给出名字的协议的统计数字和协议控制块信息
      -s 打印每个协议的统计数字
      -t 在输出显示中用时间信息代替队列长度信息。
      netstat命令的列标题
      Name 接口的名字
      Mtu 接口的最大传输单位
      Net/Dest 接口所在的网络
      Address 接口的IP地址
      Ipkts 接收到的数据包数目
      Ierrs 接收到时已损坏的数据包数目
      Opkts 发送的数据包数目
      Oeers 发送时已损坏的数据包数目
      Collisions 由这个接口所记录的网络冲突数目
     
  • 相关阅读:
    剑指offer——关于排序算法的应用(一):归并排序
    剑指offer——关于排序算法的应用:选择排序和冒泡排序
    剑指offer:将矩阵选择、螺旋输出矩阵——Python之光
    剑指offer:链表——常见的多指针协同操作:
    剑指Offer:编程习惯篇:代码鲁棒性,代码可扩展性——防御性的编程习惯,解决问题时方法分模块考虑
    剑指offer:数字二进制含1个数,快速幂运算:二进制位运算的运用
    剑指offer:斐波那契数列,跳台阶,变态跳台阶——斐波那契数列类题目:
    回溯法实现各种组合的检索:
    剑指offer:二维数组中查找
    jdk生成https证书的方法
  • 原文地址:https://www.cnblogs.com/saintaxl/p/2311299.html
Copyright © 2020-2023  润新知