Linux常用命令
ip或–inet:此参数的效果和指定”-A inet”参数相同。
列出所有端口 (包括监听和未监听的)
1 | netstat -a #列出所有端口 |
列出所有处于监听状态的 Sockets
1 | netstat -l #只显示监听端口 |
显示每个协议的统计信息
1 | netstat -s 显示所有端口的统计信息 |
在netstat输出中显示 PID 和进程名称
1 | netstat -pt |
netstat -p可以与其它开关一起使用,就可以添加“PID/进程名称”到netstat输出中,这样debugging的时候可以很方便的发现特定端口运行的程序。
显示系统不支持的地址族(Address Families)
1 | netstat --verbose |
显示核心路由信息
1 | netstat -r |
找出程序运行的端口
并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。
1 | netstat -ap | grep ssh |
找出运行在指定端口的进程:
1 | netstat -an | grep ':80' |
通过端口找进程ID
1 | netstat -anp|grep 8081 | grep LISTEN|awk '{printf $7}'|cut -d/ -f1 |
显示网络接口列表
1 | netstat -i |
显示详细信息,像是ifconfig使用netstat -ie。
IP和TCP分析
查看连接某服务端口最多的的IP地址:
1 | netstat -ntu | grep :80 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"\t",i}' | sort -nr |
TCP各种状态列表:
1 | netstat -nt | grep -e 127.0.0.1 -e 0.0.0.0 -e ::: -v | awk '/^tcp/ {++state[$NF]} END {for(i in state) print i,"\t",state[i]}' |
echo
算术表达式展开
echo $((2 + 2))
echo $(($((5**2)) * 3))
花括号展开
echo Front-{A,B,C}-Back # Front-A-Back Front-B-Back Front-C-Back
echo Number_{1..5} # Number_1 Number_2 Number_3 Number_4 Number_5
echo {Z..A} # Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
echo a{A{1,2},B{3,4}}b # aA1b aA2b aB3b aB4b
mkdir {2007..2009}-0{1..9} {2007..2009}-{10..12}
# 创建一系列以数值”年-月”形式命名的目录。通过这种方式,可以使目录名按照 年代顺序排列。
参数展开
echo $USER
命令替换
ls -l $(which cp) # 命令替换允许我们把一个命令的输出作为一个展开模式来使用
file $(ls /usr/bin/* | grep zip) # 管道线的输出结果成为 file 命令的参数列表
ls -l “two words.txt” # 操作有空格的文件名
在双引号中,参数展开、算术表达式展开和命令替换仍然有效
echo “$USER $((2+2)) $(cal)”
dianerta 4 October 2019
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
软件安装
系统自带一些软件包仓库,你也可以安装新的软件包仓库。有时候需要先下载软件仓库才可以安装
基础知识:
https://www.vpser.net/vps-howto
关于ufw
https://www.cnblogs.com/sweet521/p/5733466.html
搜索历史命令
**<font style="color:#F5222D;background-color:#FADB14;">history | less</font>**
**<font style="color:#F5222D;background-color:#FADB14;">history | grep /usr/bin</font>**
安装需要编译的软件
1 | - 编译 |
查找文件
1 | locate bin/zip| grep bin # locate 命令将会搜索它的路径名数据库,输出任一个包含字符串“bin/zip”的路径名 |
xargs
从标准输入接受输入,并把输入转换为一个特定命令的 参数列表
1 | find ~ -type f -name 'foo*' -print | xargs ls -l |
