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信息。

原文地址:https://www.cnblogs.com/koushr/p/5873393.html