首页 > 系统相关 >linux

linux

时间:2022-09-23 11:46:42浏览次数:55  
标签:选项 nm 查看 符号 top 线程 linux

查看磁盘空间使用情况
df -h

查看文件夹空间占用情况

du -sh *

查看进程和线程

方法一:PS

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

方法二: Top

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

方法一:PS

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

$ ps -T -p <pid>

“SID”栏表示线程ID,而“CMD”栏则显示了线程名称。

方法二: Top

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

$ top -H

要让top输出某个特定进程<pid>并检查该进程内运行的线程状况:

$ top -H -p <pid>

方法三: Htop

一个对用户更加友好的方式是,通过htop查看单个进程的线程,它是一个基于ncurses的交互进程查看器。该程序允许你在树状视图中监控单个独立线程。

要在htop中启用线程查看,请开启htop,然后按<F2>来进入htop的设置菜单。选择“设置”栏下面的“显示选项”,然后开启“树状视图”和“显示自定义线程名”选项。按<F10>退出设置。

 

替换命令

egrep -o '0x........' test.txt | xargs -I '{}' sed -i 's/{})/{}/g' test.txt
egrep -o '0x........' test.txt | xargs -I '{}' sed -i 's/({}/{}/g' test.txt
这两行都执行下,test.txt 替换为你的文件名

 

 

nm -s libtran_lsw_bcm.so |grep test_run

https://www.cnblogs.com/itech/archive/2012/09/16/2687423.html
Linux的nm查看动态和静态库中的符号
功能
列出.o .a .so中的符号信息,包括诸如符号的值,符号类型及符号名称等。所谓符号,通常指定义出的函数,全局变量等等。

 

 

查看符号定义

使用
nm [option(s)] [file(s)]

有用的options:

-A 在每个符号信息的前面打印所在对象文件名称;
-C 输出demangle过了的符号名称;
-D 打印动态符号;
-l 使用对象文件中的调试信息打印出所在源文件及行号;
-n 按照地址/符号值来排序;
-u 打印出那些未定义的符号;
常见的符号类型:

A 该符号的值在今后的链接中将不再改变;
B 该符号放在BSS段中,通常是那些未初始化的全局变量;
D 该符号放在普通的数据段中,通常是那些已经初始化的全局变量;
T 该符号放在代码段中,通常是那些全局非静态函数;
U 该符号未定义过,需要自其他对象文件中链接进来;
W 未明确指定的弱链接符号;同链接的其他对象文件中有它的定义就用上,否则就用一个系统特别指定的默认值。
注意几点:

-C 总是适用于c++编译出来的对象文件。还记得c++中有重载么?为了区分重载函数,c++编译器会将函数返回值/参数等信息附加到函数名称中去形成一个mangle过的符号,那用这个选项列出符号的时候,做一个逆操作,输出那些原始的、我们可理解的符号名称。
使用 -l 时,必须保证你的对象文件中带有符号调式信息,这一般要求你在编译的时候指定一个 -g 选项,见 Linux:Gcc。
使用nm前,最好先用Linux:File查看对象文件所属处理器架构,然后再用相应交叉版本的nm工具。


举例
更详细的内容见man page。这里举例说明:

nm -u hello.o
显示hello.o 中的未定义符号,需要和其他对象文件进行链接.
nm -A /usr/lib/* 2>/dev/null | grep "T memset"
在 /usr/lib/ 目录下找出哪个库文件定义了memset函数.

 

 

反汇编

objdump -D xxx.o > dp.txt

sudo service smb start

 

标签:选项,nm,查看,符号,top,线程,linux
From: https://www.cnblogs.com/hicpp/p/16722155.html

相关文章

  • linux python连接oracle数据库
    最近公司要求在linux下对Mysql,Oracle进行增加用户,用户改密等操作。Mysql数据库实现起来比较简单,这个Oracle让我头疼了一阵。于是从网上查阅资料,经自己的测试以后终于成功,现......
  • Linux(CentOS) Mysql 8.0.30 安装(多源安装)
    Linux(CentOS)Mysql8.0.30安装(多源安装)安装命令根据实际部署情况修改调整,CentOS一般选择通用版本RedHatEnterpriseLinux7本文档使用wget下载,也可以自主下载......
  • Windows10内置Linux子系统(WSL)Vmmem内存占用过大问题
    按下Windows+R键,输入%UserProfile%并运行进入用户文件夹新建文件.wslconfig,然后记事本编辑输入以下内容并保存,memory为系统内存上限,这里我限制最大2gb[wsl2......
  • Linux删除指定时间之前的文件
    要求:归删除/var/svn/svnbackup目录下创建时间为7天之前,并且文件以new开头的的所有文件或文件夹;示例:find/var/svn/svnbackup-name"new_*"-mtime-7-execrm-rf......
  • mac免密登录linux
    思路:在本地生成公钥和私钥,然后将公钥放到linux的root(也就是~)目录下的.ssh文件夹下(隐藏文件夹),如何没有则生成一个。在Mac客户端命令行生成公钥和私钥#cd~/.ssh......
  • Linux下批量将tab替换为空格
    网上找到命令,实测有效记录一下find.-typef-execsed-i.orig's/\t/   /g'{}+如果是所有的c文件find.–name*.c-execsed-i.orig's/\t/   /g'{}+......
  • linux vmware
      VMforLinux版本的安装步骤:下面链接下载VM程序包:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html安装VMwareWorkstationf......
  • 尝试阅读理解一份linux shell脚本
    以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16721350.html从头一二去阅读语法和命令说明,对于脚本小白来......
  • linux开放端口并测试
    开放端口操作开放端口先开启防火墙(才能用开启端口的命令)systemctlstartfirewalld.service开放端口firewall-cmd--zone=public--add-port=5672/tcp--permanen......
  • 深度探索Linux操作系统:系统构建和原理解析 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1_uwibH1Qn6lc3O5D2B_7IA点击这里获取提取码 ......