zoukankan      html  css  js  c++  java
  • linux常用基本命令

    覆盖a.txt内容:echo 'abc' > a.txt

    清空a.txt:

    echo '' > a.txt

    echo > a.txt

    往a.txt追加内容:echo 'abc' >> a.txt

    往a.txt追加多行内容:cat << eof >> a.txt      最后输入eof表示追加结束

    一个大于号和两个大于号的应用场景怎么记忆呢?可以这样记。一个大于号,大于号数少,数据量少,表示是覆盖。两个大于号,大于号多,数据量多,表示是追加。

    cat命令不仅可以用于查看文件,追加文件,还可以用于合并文件。

    cat 1.txt 2.txt > 3.txt

    cat *.mp4 > 4.mp4

    有合并就有分割,分割用split命令。

    把一个文件按100M每块分割:split -b 100m a.mp4。b表示byte

    把一个文本文件按10000行每块分割:split -l 10000 3.txt。l表示line

    --additional-suffix用于指定文件块后缀,如--additional-suffix=.mp4。文件块默认没有后缀。

    --numeric-suffixes用于指定文件块起始索引,默认是a,即文件块依次是xa、xb等,可以指定为0,即--numeric-suffixes=0,则文件块依次是x0、x1、x2等。

    split命令最后可以跟一个前缀,否则文件块会采用默认前缀x。

    如上的分割a.mp4,命令可以是split --additional-suffix=.mp4 -b 100m --numeric-suffixes=0 a.mp4 child_a,分割会得到child_a0.mp4、child_a1.mp4等文件。

    查看a.txt内容:more a.txt,less a.txt,most a.txt。most命令得自己安装

    awk: 一个文本分析工具。

    假设a.txt的内容是:

    a aa aaa 1
    b bb bbb 2
    c cc ccc
    d dd ddd 4
    e ee eee 5

    awk有很多内置变量可以使用:

    NF:每行的字段个数。示例:awk '{print "字段数是"NF}' a.txt

    如果想打印每一行的最后一列,则可以awk '{print $NF}' a.txt

    每行的行号,如果读取多个文件,则行号一直累加。使用示例:awk '{print "行号是"NR}' a.txt。

    FNR:每行的行号,读取多个文件时,行号不会累加,每个文件都是从1开始。使用示例:awk '{print "行号是"FNR}' a.txt b.txt。

    FS:指定分隔符,去分隔文件中内容。分隔符默认是空格,如上面NF的例子其实就是用的默认的空格分隔符。现在把a.txt的数据换成:

    a,aa,aaa,1
    b,bb,bbb,2
    c,cc,ccc
    d,dd,ddd,4
    e,ee,eee,5

    如果想用逗号分隔每一行数据,则可以awk 'BEGIN{FS=","} {print $1, $2}' a.txt

    会打印:

    a aa

    b bb

    c cc

    d dd

    e ee 

    注意,BEGIN必须大写,BEGIN是个关键字。$1就是分隔后数组的第一个元素,$2是第二个元素。这里起始索引不是0,是1,因为0还有别的用处。$0表示一行的全部数据,awk 'BEGIN{FS=","} {print $0}' a.txt,会打印如下:

    a,aa,aaa,1

    b,bb,bbb,2

    c,cc,ccc

    d,dd,ddd,4

    e,ee,eee,5

    OFS:指定分隔符,用以在输出时拼接。如上面,我们想输出a+aa+aaa这样的格式,则可以awk 'BEGIN{FS=",";OFS="+"} {print $1, $2, $3}' a.txt,打印如下:

    a+aa+aaa

    b+bb+bbb

    c+cc+ccc

    d+dd+ddd

    e+ee+eee

    grep的使用:根据正则表达式从某个文件、某些文件、某个文件夹中的文件、某些文件夹中的文件查找

    语法:grep [option] pattern file . . .

    从a.txt文件中查找单词"book":grep 'book' a.txt

    从a.txt文件中找到单词"book"及其上面3行:grep -B 3 'book' a.txt。B是before的意思

    从a.txt文件中找到单词"book"及其下面3行:grep -A 3 'book' a.txt。A是after的意思

    从a.txt文件中找到单词"book"及其上下3行:grep -C 3 'book' a.txt。

    除了-A、-B、-C参数外,grep还有很多好用的参数:

    -i,grep默认区分大小写,如果想忽略大小写,则需要用-i选项,如grep -i 'book' a.txt。

    -n,输出行号,如grep -n 'book' a.txt,会把行号打印在每一行内容的前面。

    -c,统计包含匹配的行数,如grep -c 'book' a.txt,只会输出一个数值。

    -v,反向匹配,如grep 'book' a.txt,会找出所有不含book字符串的行。

    -m,后面跟一个整数,表示每个文件只查找多少个匹配就不再往下查找。如grep -m 3 'book' *.txt,假如有a.txt、b.txt两个文件,则会从这两个文件中各找出前3个book所在的行。

    以上命令都可以用cat命令+管道符改写,如grep -i 'book' a.txt可以改写成cat a.txt | grep -i 'book'

    设置一些开机启动项

    其实操作很简单,把启动命令写入/etc/rc.d/rc.local文件,然后给该文件提升权限即可。

    如在/etc/rc.d/rc.local文件中添加

    cd /root/kafka_2.11-2.3.1/bin/
    nohup ./zookeeper-server-start.sh /root/kafka_2.11-2.3.1/config/zookeeper.properties &
    nohup ./kafka-server-start.sh /root/kafka_2.11-2.3.1/config/server.properties &

    之后,chmod +x /etc/rc.local

    查看网络状态

    netstat、nmap

    网络流量监控

    iftop:监控每个端口的流量

    nethogs:监控每个进程的流量

    ifstat:

    iotop:

    free:

    top:

    history:可以查看历史命令。

    curl ipinfo.io:查看本机ip信息。

  • 相关阅读:
    递增三元子序列
    Linux sed 命令
    linux shell中$0,$?,$!等的特殊用法
    ansible-playbook使用
    Linux下通过crontab命令来实现定时任务
    iperf网络性能测试
    OpenStack接口测试工具rally/tempest环境搭建及使用
    Jenkins配置slaver节点
    微信小程序跳转外部链接(h5页面)以及数据交互
    Echarts 系列之折线图、柱状图相关配置
  • 原文地址:https://www.cnblogs.com/koushr/p/5873393.html
Copyright © 2011-2022 走看看