linux 常用命令<草记>

本文详细介绍了Linux系统下的动态库加载、汇编代码查看、符号信息展示、字符集设置、文本替换、dos换行处理、服务管理、远程调试、rpm包管理、嵌入式程序编译、核心文件崩溃分析等多个关键知识点。

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

1、ldd testApp

libpthread.so.0 =>/lib/libpthread.so.p (0x00aa0000)

libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00310000)

../DLL/libxx.so (0x00111000)  // 相对路径加载的动态库

readelf -d testApp 效果同上

2、objdump -d testApp

显示汇编代码

3、objdump -t testApp 或readelf -s testApp 或 nm testApp

显示符号信息

4、export LANG=zh_CN.utf8

设置字符集

5、locale -a

显示本地字符集

zh_CN.gb2312

zh_CN.utf8

6、关键字替换
:%s/AAA/BBB/g

vi中进行文本内的替换,下边是多文件替换关键字的例子
find . -name "*.cpp" -print |xargs sed -i "s/aa/bb/g"

7、dos换行在linux下是^M,去掉的方法如下:

vim:%s/^M$//g   ;注ctrl +v;ctrl +m打印出来的^M才可以

#cate test.dat | tr -d '/015' >test.out   ;^M (/015)字元去掉,生成test.out

8、service -s 显示所有服务的状态

service sshd status 显示ssh服务的状态

service sshd start 启动ssh服务

service sshd restart 重启ssh服务


service sshd stop 停止ssh服务


9、ulimit -c unlimited ulimit -a
linux 下崩溃产生core文件,用于DBG定位问题

gdb ./test core.2322

bt

10、嵌入式远程调试

1)在嵌入式主机上运行

gdbserver 本机IP:PORTapp

2)在开发机上运行

xxx-gdb app

->target remote 嵌入式IP:PORT

注释:本机IP:PORT  和嵌入式IP:PORT 相同

11、gdb相关命令:

b main        b xx.cpp:333 

l/list 列出源代码

bt  / backtrace查看调用栈

f 1 /frame 1切换调用栈到1

c 继续运行直到断点

kill 结束程序运行

p xxx 查看变量值 p /c a打印字符 p /x a 打印16进制 p /x s 16进制打印字符串s x /64b pbuf

set print elements 0  可以使用set print elements命令来控制显示字符串最多字符数,默认是200.

info locals 显示局部变量

info source 显示源文件信息包括当前目录当前文件

info threads // 查看所有线程

thread 1 // 切换线程
thread all apply bt 显示所有线程的堆栈

11、MOUNT挂载XP下SRC目录到linux系统上面当前目录DSTSRC

1) 共享SRC目录,everyone用户组 完全控制权限保证可写

2) mount -t cifs -o username='域名\用户名',password='密码' xp电脑IP:SRC ./DSTSRC

2.1) mount -t smbfs //用户名:'密码@IP:SRC ./DSTSRC     // 如果没有cifs协议支持可以尝试SMBFS

2.2)mount -t smbfs //用户名@IP:SRC ./DSTSRC  // 如果是公共电脑最好这样,执行后再输入密码
2.3)nfs 挂载 mount -t nfs 10.0.0.1:/home/a/ ./a
编辑10.0.0.1 的/etc/export文件 增加/home/a/目录给外部访问 

12、嵌入式程序编译3步骤

1)./configure --target=/usr/bin/arm-angstro-linux-gnueabi --prefix=/usr/bin/

target指明目标板体系结构,这个可以根据相应嵌入式GCC编译器得到,如arm-angstro-linux-gnueabi-gcc,取-gcc之前的部分即可。

prefix指明make install时,程序安装的位置

2)make

3)make install 




13、rpm管理软件包


rpm -qpl:rpm软件包中包含的文件列表

rpm -i:安装指定的软件包到当前linux系统

rpm -ivh:安装指定的软件包时显示详细的安装信息

rpm -force:强制安装软件包

rpm -e:卸载指定的软件包

rpm -U:升级指定的软件包(如果指定的软件包在系统中没有的话,执行过程等同与安装)

rpm -a:查询所有已安装的软件包

rpm -f:查询包含有文件的软件包

rpm -p:查询软件包文件为package file的软件包

rpm -s:显示包含有文件的软件包

rpm -v:验证软件包
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值