##查看端口占用情况##
- lsof -i 所有端口情况
lsof -i:8080 端口8080的占用情况 - netstat -tunlp 所有端口情况
netstat -tunlp |grep 8080 端口8080的占用情况
lsof:
losf : list open files 是一个列出当前系统打开文件的工具,
lsof命令需要访问核心内存和各种文件,所以需要root用户执行。
用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。
语法: lsof (参数)
- a:列出打开文件存在的进程;
-c<进程名>:列出指定进程所打开的文件;
-g:列出GID号进程详情;
-d<文件号>:列出占用该文件号的进程;
+d<目录>:列出目录下被打开的文件;
+D<目录>:递归列出目录下被打开的文件;
-n<目录>:列出使用NFS的文件;
-i<条件>:列出符合条件的进程。(4、6、协议、:端口、 @ip )
-p<进程号>:列出指定进程号所打开的文件;
-u:列出UID号进程详情;
-h:显示帮助信息;
-v:显示版本信息。
lsof -i:9006
netstat:
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
也就是字面意思:网络状态相关的信息
语法: netstat (参数)
- -a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
netstat -tunlp |grep 9006
grep:
grep:文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
- 语法:grep [-acinv] [–color=auto] ‘搜寻字符串’ filename
- -a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 ‘搜寻字符串’ 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行!
–color=auto :可以将找到的关键词部分加上颜色的显示喔!
- -a :将 binary 文件以 text 文件的方式搜寻数据
ps:
ps命令就是最基本进程查看命令,显示进程号,进程的状态
- 语法:ps [参数]
- a 显示所有进程
-a 显示同一终端下的所有程序
-A 显示所有进程
c 显示进程的真实名称
-N 反向选择
-e 等于“-A”
e 显示环境变量
f 显示程序间的关系
-H 显示树状结构
r 显示当前终端的进程
T 显示当前终端的所有程序
u 指定用户的所有进程
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
-C<命令> 列出指定命令的状况
–lines<行数> 每页显示的行数
–width<字符数> 每页显示的字符数
–help 显示帮助信息
–version 显示版本显示
top:
top:性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.就是进程消耗资源的情况
- 语法:top(选项)
- -b:以批处理模式操作;
-c:显示完整的治命令;
-d:屏幕刷新间隔时间;
-I:忽略失效过程;
-s:保密模式;
-S:累积模式;
-i<时间>:设置间隔时间;
-u<用户名>:指定用户名;
-p<进程号>:指定进程;
-n<次数>:循环显示的次数。
- -b:以批处理模式操作;
find 与 xargs:
find命令在目录结构中搜索文件,并执行指定操作。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
- 语法:find pathname -options [-print ] [-exec -ok command ] {};
-pathname:find命令所查找的目录路径。.来表示当前目录,/用来表示系统根目录
-print:find命令将匹配的文件输出到标准输出
-exec command {}: 将查到的文件执行command操作,{}和;之间有空格
-ok 和 -exec 相同,只不过在操作前要询用户
-name filename:查找名为filename的文件
-perm:按执行权限来查找
-user:按文件属主来查找
-group:按组来查找
-mtime -n +n:按文件更改时间来查找文件,-n指yn天以内,+n指n天以前
-atime -n +n:按文件访问时间来查看
-ctime -n +n:按文件创建时间来查找文件,-n 指n天以内,+n指n天以前
-nogroup:查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser:查无有效属主的文件,即文件的属主在/etc/passwd中不存在
-type: b/d/c/p/l/f:查找是块设备、目录、字符设备、管道、符号链接、普通文件
-size:查找文件长度为n字节的文件
-mount:查文件时不跨越文件系统mount点
在查找/etc/目录下以host开头的文件并输出
[root@ping ~]# find /etc -name "host*" -print
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/host.conf
在查找rootl目录下查找以一个字母和一个数字开头的文件并输出
[root@ping ~]# find ~ -name "[a-z][0-9].conf" -print
/root/a9.conf
xargs:
xargs命令应该紧跟在管道操作符后面,以标准输入作为主要的源数据流。
给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。
xargs也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。
之所以要用到xargs,是因为由于很多命令不支持使用管道|来传递参数,例如:
find /sbin -perm +700 |ls -l //这个命令是错误,因为标准输入不能作为ls的参数
find /sbin -perm +700 |xargs ls -l //这样才是正确的
- 语法:xargs [选项] [command]
–0:如果输入的stdin含有特殊字符,例如反引号`、反斜杠\、空格等字符时,xargs可以将它还原成一般字符。为xargs的默认选项。
-e ,-E ,–eof=:eof是end of file string的意思。flag可以是一个字符串或者是由空格分隔的多个字符串,当xargs分析到这个flag时,就会停止工作。见示例2。
-p:当每次执行一个argument的时候询问一次用户。
-n :表示命令在执行的时候一次使用的argument的个数,由num指定,默认是用所有的参数。
-t:表示先打印命令,然后再执行。
-a :从文件中读入作为sdtin。
-i,-I:其中-I某些Linux版本不支持。将xargs的输出每一项参数,单独赋值给后面的命令,参数需要用{}代替。见示例3。
-r:或者–no-run-if-empty,当xargs的输入为空的时候则停止xargs,不用再去执行后面的命令了,-r是xargs的默认选项。
-s :命令行的最大字符数,指的是xargs后面那个命令的最大命令行字符数,包括命令、空格和换行符。每个参数单独传入xargs后面的命令。见示例4。
-L <line_num>:设置标准输入中最大的行数作为命令每一次执行的参数。见示例5。
-d , --delimiter=: xargs处理标准输入默认是按换行符和空格作为分隔符,输出arguments的分隔符是空格,这里修改xargs处理标准输入时的分隔符。
-x:eXit的意思,主要是配合-s使用,当命令行字符数大于-s指定的数值时,退出xargs。
-P:修改最大的进程数,默认是1,为0时候为as many as it can。该选项比较少用,目前还不清楚该用法。
find && xargs:
在使用find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现 溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令一起使用。find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。
实例1: 用grep命令在所有的普通文件中搜索hostname这个词:
命令:find . -type f -print | xargs grep "hostname"
实例2: 查找系统中的每一个普通文件,然后使用xargs 命令来测试它们分别属于哪类文件
命令: find . -type f -print | xargs file