Linux和windows下命令使用

本文介绍了在Linux和Windows操作系统下的一些常用命令,包括在Linux中查看进程ID、显示线程、检查socket错误、配置IP地址,以及使用tcpdump抓包等;而在Windows下,重点介绍了类似于Linux grep功能的过滤命令以及Notepad++的列选操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux下命令

1.查看进程id

ps -elf | grep name

2.显示进程下所有线程

方法一:PS

在ps命令中,“-T”选项可以开启线程查看。下面的命令列出了由进程号为的进程创建的所有线程。
ps -T -p

方法二: Top

top命令可以实时显示各个线程情况。要在top输出中开启线程查看,请调用top命令的“-H”选项,该选项会列出所有Linux线程。在top运行时,你也可以通过按“H”键将线程查看模式切换为开或关。
top -H -p

3.查看系统socket是否出错

cat /proc/net/snmp
查看InErrors是否在出现问题的期间有增长
UdpLite: InDatagrams NoPorts InErrors OutDatagrams RcvbufErrors SndbufErrors InCsumErrors
UdpLite: 0 0 0 0 0 0 0

4.查看网卡带宽和网卡收发包情况

4.1带宽
先ifconfig获取网卡信息如eth0
然后ethtool eth0 (看到speed那一行)
4.2收发包情况
ethtool -S eth0
这样就可以查看网卡的收发包的信息,并会看到是不是一些相关的error包
关注的是error相关的项,所以可以使用这个命令来看error的项:
ethtool -S eth0 |grep error
如果这几项有非零的,就需要注意了

5.查看socket缓冲大小

cat /proc/sys/net/core/rmem_max
cat /proc/sys/net/core/wmem_max

6.修改socket缓冲大小

echo 8000000 > /proc/sys/net/core/rmem_max
echo 8000000 > /proc/sys/net/core/wmem_max

7.查看当前目录下所有文件和目录的大小

du -sh *

8.查看磁盘使用情况

df -h

9.linux下tcpdump抓包

抓所有的包
tcpdump -i eth0 -s 0 -w recv.pcap
指定网卡
tcpdump -i any -s 0 -w recv.pcap
指定目的端口
tcpdump -i any -s 0 dst port 3200 -w recv.pcap
指定源端口
tcpdump -i any -s 0 src port 3200 -w recv.pcap
不抓包,在命令行显示收发情况
tcpdump -i eth0 -s 0

10.配置ip地址

配置IP地址
[root@localhost ~]# ifconfig eth0 192.168.120.56
[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0
[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255

11.发包工具显示文件损坏

修复办法
发包工具显示文件损坏

tcprewrite --dlt=enet --enet-dmac=52:54:00:11:11:11 --enet-smac=52:54:00:22:22:22 --skip-soft-errors --skipbroadcast --infile=1m30fps.pcap --outfile=1m30fps2.pcap

12.动态库路径设置

只对当前shell有效,关闭shell或者退出当前用户则环境变量配置及无效了。
export LD_LIBRARY_PATH=/root/code/opencv/opencv-3.2.0/build/build/lib
#LD_LIBRARY_PATH=<动态库所在位置>

13.android查看进程调用栈

debuggerd -b pid

14. x86 Linux查看进程堆栈

pstack pid

15.进程或线程调度情况

cat /proc/pid/sched
nr_switches 总的调度次数
nr_voluntary_switches 自愿调度
nr_involuntary_switches 非自愿调度

16.查看gcc编译器宏定义

gcc -E -dM - </dev/null

输出内容是宏定义,代码中可以根据特定编译器的特定宏来进行处理

17.gdb 调试程序

gdb 调试程序

  1. gdb 调试当前正在运行的程序
    gdb attach pid
    或者 gdb、进入之后attach pid
    当attach进程时,会停止进程的运行,这时使进程继续运行需要使用continue/c命令

  2. gdb 启动程序
    gdb filename
    run

  3. gdb 运行脚本启动的程序
    gdb /usr/bin/sh 或者 gdb /usr/bin/bash
    (根据脚本第一行是#!/bin/sh还是 #!)
    run filename (如:run start.sh)

18.nm查看库符号

nm [-DTt] lib.so| grep 符号
-D 显示动态符号而不是普通符号
-d 显示普通符号
-T 打印动态符号表入口地址
-t 打印符号表入口地址
具体可以man nm


Windows下命令

1.过滤特定内容类似Linux下的grep

netstat -a | findstr 192.168.38.31
–也可使用find命令,注意参数加双引号!
netstat -a | findstr “192.168.38.31”

Notepad++

Notepad++中列选(竖选)

1.按住Alt键,然后用鼠标进行区选,就可以列选了
2.使用Alt + Shift + 方向键就可以列选了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值