Linux下的基本命令与gdb调试

15:Linux命令:
一:系统目录结构(文件系统)
1.与Windows相比Linux是一个多用户的,因此强调权限,几个用户几个家目录,
2./bin:可执行程序/命令(二进制可执行程序)
3./boot:内核与系统启动有关的文件
4./home:所有普通用户的家目录
5./etc:系统的配置文件
6./lib:存放库文件
7./proc:是一个虚拟目录,进程在内存中的映像
8./usr:存放系统运行过程中不常改变的文件
9./var:系统运行过程中常改变的文件
10./root:管理员的家目录
11./dev:设备文件
12./mnt:临时挂载点
13./tmp:临时文件夹,所有用户均可访问
二:文件类型
1.-:普通文件
2.d:目录文件
3.l:链接文件
4.P:管道文件
5.c,b:设备文件
6.s:套接字文件
三:权限
1.读权限 r 4
2.写权限 w 2
3.执行权限 x 1
4.无权限 - 0
5.改变权限:chomd,chmod u+x filename ,chmod 766 filename
6.s,t:特殊权限
四:基本命令
1.文件操作命令:cd,ls,pwd,ls,cp,rm,mv,less,cat,more,head,touch,mkdir,vi
重要:tail, vi/vim, find,grep,awk,sed
2.进程操作命令:(1)ps:(2)kill(3)pkill(4)jobs (5)&
3.系统监测命令:(1)top 《Linux高性能服务器编程》17章(2)tcpdump 抓包工具(3)netstat 网络信息统计工具,看tcp状态,查看端口,查看接收/发送缓冲区字节数 netstat -natp (4)lsof:显示某个进程打开的所有文件 lsof -p(5)strace -p pid :跟踪一个进程调用的系统调用(6)ltrace -p pid 跟踪一个进程执行过程中调用的库函数(7)vmstat:输出系统cpu内存的使用情况(8)ifstat:查看网络流量的工具(9)mpstat:查看多个cup的使用情况
4.调试程序命令:(gcc -o name name -g编译之后使用gdb)gdb(1)调试命令:l显示代码,b加断点,r启动,n单步执行,display 持续显示打印信息,p打印某个值变量或地址,c继续执行,遇到断点结束,f推出函数,s进入函数,bt函数调用栈信息, 跟踪子进程(《Linux高性能服务器编程》16章):set follow-fork-mode child (2)attch pid 调试pid对应的进程(3)多线程调试:info thread:显示可调试线程, thrad id:切换到指定线程,进行调试
5.系统管理:useradd:增加用户, userdel/passwd 删除/改密码 , init设置系统运行级别,shutdown -h now 关机 halt init 0 ,iptables -F:关闭防火墙,ipconfig:查看IP地址
6.打包压缩:(1)tar tar zxf xxx.tar.gz
7.Umlit -a 查看系统资源限制, uname:查看操作系统名字和内核版本 ,df -h 查看磁盘各分区使用情况

gdb调试:
Gcc -o 文件名 文件名.c 编译生成可执行文件
Gdb +文件名 启动GDB调试(Gdb -q +文件名 不显示gdb版本信息)

L +行号 显示第几行 l+ 行号,行号 显示区间代码
回车表示重复上一次命令
b + 行号/函数名 在第几行/函数入口处设置断点
Info break 查看断点信息
R 运行程序
s 表示单步调试, 遇到子函数,会进入函数内部调试.
N 单条语句执行 next简写 过程调试, 到下一步. 不管子过程如何都不进入. 直接一次跳过.
C 继续运行程序 continue
P + 变量名 打印某个变量的值
Display +变量名 显示变量
Bt 查看函数堆栈
Finish 退出函数
Info threads:查看正在运行程序的线程信息

猜你喜欢

转载自blog.csdn.net/weixin_43700671/article/details/88975213