您的位置:首页 > 运维架构 > Linux

linux 常用命令<草记>

2011-11-29 10:32 597 查看
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:验证软件包
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: