Linux常用命令(持续更新......)

(1)查看80端口是否被占用    :netstat -anp|grep 80 

(2)统计80端口的连接数:netstat -nat|grep -i "80"|wc -l

(3)netstat命令各个参数说明如下:
  -t : 指明显示TCP端口
  -u : 指明显示UDP端口
  -l : 仅显示监听套接字
  -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
  -n : 不进行DNS轮询,显示IP(可以加速操作)

(4)netstat命令

netstat   -n   以数字形式显示地址和端口号

netstat   -b  显示在创建每个连接或侦听端口时涉及的可执行程序

netstat    -a  显示所有连接和侦听端口

netstat    -s  显示每个协议的统计。默认情况下,显示IP、TCP、UDP 的统计;

netstat    -nat|grep -i "80"|wc –l       统计端口80的连接数

(5)抓包

tcpdump  -iany tcp port 8000        对tcp端口为8000的进行抓包

(6)统计http的连接数

ps -ef|grep httpd|wc –l

(7)统计连接上的

netstat -na|grep ESTABLISHED|wc –l

(8)查询TCP连接数以及查看TCP状态

netstat -ant|awk'/^tcp/{++S[$NF]}END{for(a in S)print(a,S[a])}'

LAST_ACK 14

SYN_RECV 348

ESTABLISHD 70

FIN_WAIT_1 30

FIN_WAIT_2 33

TIME_WAIT 18122

(9)多线程调试死锁

第一种情况:通过core文件调试死锁

   ulimited -c unlimted(打开core)

   ./a.out(编译时加调试选项 -g)

   gdb./a.out core.xxx

   thread apply all bt(查看死锁位置)

第二种情况:gdb attach pid

   ./a.out (-g)

   ps -ef|grep a.out(找到其线程pid)

   gdb a.out 1234(进入pid = 1234的gdb)

   info threads(查看线程)

   thread1(2)  (进入某个线程)

   bt (打印某个线程堆栈)

(10)gdb调试

gcc -g text.c -o text

gdb -q text

list(显示代码)

search str(查找字符串)

break n(下断点)

info breakpoint(查看断点信息)

print(打印)

(11)找文件

第一种:find: find -name text.file

第二种:locate:locate text.file

第三种:(找一个带有关键字的文件)find -r "sun"/root/

(12)删重复行: sort -n sun.txt|uniq

(13)查看后10行:tail -n 10 filename

(14)权限改变:chmod              owner/group/others     r:4 w:2 x:1

(15)编译连接:

    gcc -E a.c -o a.i 预编译

    gcc -S a.i -o a.s编译

    gcc -c a.s -o a.o汇编

    gcc -o a.o a.out链接

(16)查看系统磁盘的使用情况:df -lh

(17)查看系统位数:uname -a

(18)查看系统版本配置文件:cat/proc/version

(19)内存泄漏:mtrace

(20)cpu状态指令:

    mpstat    多cpu 查看特定cpu

    iostat     对系统具体分析 监视系统输入输出设备和cpu使用情况

    top  动态查看系统整体运行情况

(10)遇到大文件无法操作的情况,解决办法:想办法把大文件切割为小文件去处理。
split命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等。
用法:

解释:把大文件Max.date分成若干个4G的文件,分割后的文件命名为min.date00,min.date01,min.date02……..min.date??,直到按4G大小分割完成。

你可能感兴趣的:(Linux,Linux)