linux常用命令

1、lsof使用

lsof -p <pid>

lsof -i:port查看端口port被哪些程序占用了

 

2、在类Unix系统中,/dev/null,或称空设备,是一个特殊的设备文件,它丢弃一切写入其中的 ... 在程序员行话,尤其是Unix行话中, /dev/null 被称为bit bucket或者黑洞。

 

3、获得进程

54440    31336     1  0 13:52 ?        00:00:12 ./redis-server *:6379       

ps -ef | grep redis | grep grep -v | awk '{print $2}'

 

4、获得resident set size(rss)Bytes

cat /proc/31336/stat | awk '{print $24 * 4096}'

 

5、得到private dirty

cat /proc/31336/smaps

http://stackoverflow.com/questions/9922928/what-does-pss-mean-in-proc-pid-smaps

 

6、删远程分支

git push origin :simplify_code_1(注意origin后面有个空格)

 

7、查看/设置磁盘预读

$ sudo blockdev --getss /dev/sda9 

512

$ sudo blockdev --getra /dev/sda9 

256

所以这个机器一次预读128Kb的数据

 

8、Makefile中的特殊符号

$^ : 所有依赖文件的完整路径

$@ : 表示目标

 

9、find指令使用

find [dir] [option] args

find /tmp -iname foo.txt 在/tmp下递归查找名字含有‘foo.txt‘的文件或目录

 

10、dmesg命令

可以用来查看linux服务器是否出现故障,以及用来作为排错的依据,

例如ulimit -c=0,没有开启coredump时,可以通过这个看看是不是有core产生了。

 

11、addr2line

跟dmesg配合可以查在哪一行代码发生了coredump

也可以通过函数地址查函数名

addr2line 0x4BED83 -e objs/nginx -f ngx_worker_process_exit /../src/os/unix/ngx_process_cycle.c:1403

 

12、iperf

iperf -s -p 9999, iperf -c sip -p 9999

------------------------------------------------------------

Server listening on TCP port 9999

TCP window size: 85.3 KByte (default)

------------------------------------------------------------

[  4] local 10.232.129.129 port 9999 connected with 10.125.50.241 port 48270

 

[  4]  0.0-10.0 sec  1015 MBytes    849 Mbits/sec

可以测两端间的最大带宽

 

13.strace -p xxxx(正在运行的进程),strace xxx

列出系统调用,strace -c -p xxxx得到统计

 

14.tcptraceroute

查看到目的地经过的路径

 

15.nc的使用

服务端:nc -l 8888

客户端:nc -s 127.0.0.1 -p 12345 10.125.50.240 8888

然后就可以传数据了

$ echo -n "GET / HTTP/1.0\r\n\r\n" | nc -w 5 www.google.com 80 -v

Connection to www.google.com 80 port [tcp/http] succeeded!

加上-v打印点提示信息

 

port forwarding

 

$ nc -l 8082 | nc remote_host 80
这样搞remote_host 80返回的数据没有给回8082
用pipe可以实现双向数据通道
$ mkfifo backpipe
$ nc -l 8082 0<backpipe | nc remote_host 80 1>backpipe

 

16.使用ssh做socket代理

ssh -N -D 9000 -f root@localhost

 如果不是本地访问需要加上-g,允许远端机器建立连接。不然一有连接进来就发reset包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值