linux系统命令
man
参考链接:
- 《Linux c编程:一站式学习》
Man Page
是 Linux 开发中最常用的参考手册,由很多页面组成,这些页面被组织成若干个部分,FHS(Filesystem Hierarchy Standard)标准规定了各部分的含义,如下:
section | 描述 |
---|---|
1 | 用户命令,例如 ls |
2 | 系统调用,例如 _exit |
3 | 库函数,例如 printf |
4 | 特殊文件,例如 null,描述了设备文件 /dev/null 和 /dev/zero 的作用 |
5 | 系统配置文件的格式,例如 passwd 描述了系统配置文件 /etc/passwd 的格式 |
6 | 游戏 |
7 | 其他选项,例如 bash-builtins 描述了 bash 的各种内建命令 |
8 | 系统管理命令,例如 ifconfig |
有个问题就是,在使用man
的时候,最好带着section
编号,有些比较特殊,比如printf
,直接使用man printf
,看到的内容是第一个section
的命令printf
,要查看位于第三个 section 的 printf 函数应该输入man 3 printf
,要查看哪些页面的主题包含 printf 关键字,可以输入man -k printf
命令搜索。
这个东西我发现还是挺重要的,在写代码或者敲命令的时候,能擅用帮助手册,看的明白,能极大的提高工作效率。
ldd
命令介绍
参考链接:
ldd
命令用于打印程序或者库文件所依赖的共享库列表。
参数:
–version:打印版本号并退出 -v,–verbose:详细信息模式,打印出所有相关信息 -u,–unused:打印未使用的直接依赖 -d,–data-relocs:执行重定位和报告任何丢失的对象 -r,–function-relocs:执行数据对象和函数的重定位,并且报告任何丢失的对象和函数
创建一个共享函数库
共享函数库和动态函数库是一个东西,在 Linux 上叫共享对象库(后缀.so
),在 Windows 上叫动态加载函数库(后缀.dll
)。
主程序test.c
:
1 |
|
头文件Add.h
:
1 |
|
共享库源文件Add.c
:
1 |
|
首先使用gcc -fPIC -shared -o test_add.so Add.c
命令生成共享连接库。在将test.c
编译时,使用gcc test.c -o test ./test_add.so
告诉test
,test_add()
函数是动态链接库。现在就可以执行了。
1 |
|
linux系统命令
https://ahtoh.cn/2022/10/08/linux系统命令/