linux基础命令

linux基础命令

netstat -tnlp 查看当前机器开放的端口

netstat -tn  统计出tcp协议

netstat -n 当前所有的网络请求,不统计主机名

netstat -tn | grep ':22' | wc -l  统计出当前的连接数

vmstat 1 每隔1秒钟 打印出当前机器的状态


netstat相关参数

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到


wc[选项] 文件…

该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。该命令各选项含义如下:  - c 统计字节数。  

file1 file2  

4 33 file1  

7 52 file2  

11 11 85 total  

省略任选项-lcw,wc命令的执行结果与上面一样

示例:

wc命令用来计算一个文件或者指定的多个文件中的行数,单词数和字符数。如:
wc filename
第一列显示行数,第二列显示单词数,第三列显示字符数。
wc 有四个参数可选,分别是l,c,m,w
wc -l filename 报告行数
wc -c filename 报告字节数
wc -m filename 报告字符数
wc -w filename 报告单词数


top 

ps -ef 查看全局的进程

ps aux 打印进程细节的东西

man ps

date +%H%M%S
215821

每隔1秒,取出2316进程所占CPU和内存占比

for i in $(seq 1 20);do time=$(date +%H:%M:%S);info=$(ps -o %cpu -o %mem 2316 | tail -1);echo $time $info;sleep 1;done


标准输入0   从键盘获得输入   /proc/self/fd/0

标准输出1   输出到屏幕(即控制台) /proc/self/fd/1

错误输出2   输出到屏幕(即控制台) /proc/self/fd/2

curl https://testerhome.com/topics/17870 -vv 2>/dev/null     # /dev/null意为Linux的空设备文件,所有往这个文件写入的内容都将消失,俗称“黑洞”。

2>/dev/null 意思是把错误输入到黑洞

>/dev/null  2>&1 因为默认情况是1,所以等同于1>/dev/null 2>&1,意思就是把标准输出重定向到“黑洞”,还把标准错误2输出重定向到标准输出1

2>&1   >/dev/null 意思是把错误输出2重定向到标准输出1,也就是屏幕,错误打印到屏幕,&表明1这是标准输出,不然就是将2输出到文件1了

time curl https://testerhome.com/topics/17870 &>/dev/null   打印出时间

real 0m0.487s
user 0m0.037s
sys 0m0.004s

将正确的和错误的内容重定向到同一个文件

 1>>pp.txt 2>&1

i=$(ls abc.txt 2>&1)

echo $i

输出:ls: cannot access abc.txt: No such file or directory

重定向操作符">"和">>"区别:

>会先清空文件,再存储 ;>>不清空文件,直接将数据追加到现有文件的后面

outfile

执行command1,从文件infile读取内容,然后将输出写入到outfile中


jobs -l 列出后台并发的任务

df -h 磁盘状况

file 文件    打印文件格式

top -b -d 1 -n 20 -p 29005