Linux 复习笔记

来源:互联网 发布:好的漫画软件 编辑:程序博客网 时间:2024/06/06 02:35

Linux 常用基本命令:

文件 —— cp  rm  mv  tail  mv  more  find  grep

进程 —— ps  kill  jobs  top

管理 —— useradd  userdel  passwd  shutdown  init  halt  reboot

网络 —— ping  tcpdump  netstat


/*************************************************************************************/


目录结构:

/boot  系统启动所需文件、内核文件

/etc     系统配置

/bin     二进制可执行文件

/lib      库文件

/mnt    临时挂载点

/dev    设备文件

/home 普通用户家目录

/root    管理员目录

/proc    虚拟文件系统、进程信息


/*************************************************************************************/


文件类型:

-   普通文件

d  目录文件

l    符号链接(类似快捷方式)

b   块设备文件 / 二进制文件

c   字符设备文件

p   命名管道文件

s   套接字文件


改变文件权限  chmod   r(4)  w(2)  x(1)

chmod  u+x   file

chmod  777   file


/*************************************************************************************/


gcc / g++:

工具集合的入口,其中会调用其他工具


编译 .c 文件


以 gcc 编译  --  按照C语言编译(以 nm 查看逻辑地址偏移量,函数签名为函数名)

以 g++编译  --  按照Cpp编译(函数签名为_Z3addii)


编译 .cpp 文件

以 gcc 编译  --  按照 Cpp 解析(产生链接错误,因为 gcc 不会主动链接c++标准库,需要手动指定)


以 g++ 编译  --  按照 Cpp 解析,通过 ldd 命令查看所依赖的库


/* gcc不仅仅能编译 .c 文件,同时也能编译 .cpp 文件;但C与C++混合编译时应该使用 g++ 来链接,否则会因为C和C++的编译链接符号不同而链接失败 */


/*****************************************************1********************************/


gdb调试:


l  列出代码

s  进入函数

finish  跳出

n  执行下一步

b  设置断点

p/display  查看变量


x  查看内存

例:x/<n/f/u> <addr>

n表示显示内存的长度——即当前地址向后显示几个地址的长度;

f表示显示的格式——字符串s、十六进制x、十进制d;

u表示将多少字节当做一个值取出来——默认4byte,b单字节、h双字节、w四字节、g八字节


core调试(查看函数崩溃点 / 段错误)

ulimit  -c  ulimited  将core文件大小设为无限大

bt  查看函数调用栈


/*************************************************************************************/


库:

* 预先编译好的方法的集合


共享库(动态库):

gcc -shared -fPIC -o add.o

运行程序中动态装载库,调用其中的方法


静态库:

ar  crv libadd.a add.o

编译完成后将库中包含的所有方法都嵌入程序中


通常将源文件编译成动态/静态库后,使同一个文件分别链接动态/静态库,链接静态库的文件大小会比链接静态库的文件要大一些(假设库中包含大量方法,且程序只调用了部分方法);

* 用nm查看可执行文件中的函数地址


// TODO

动态库 / 静态库的特点

链接 / 装载的过程


/*************************************************************************************/


进程 / 线程:


/*************************************************************************************/


网络:



原创粉丝点击