linux的目录(文件夹) 及 静态库 动态库

1、windows中,一个软件一个独立的文件夹(文件夹下有这个软件的可执行程序,库文件,依赖文件,图标,图片,配置文件,帮助文档,小工具,数据文件等)

      linux中,一个软件的可执行文件,可能放在 /usr/bin 下;   库文件、图标等可能放在 /usr/lib/xxx 下;日志信息可能在/var/log; 帮助文件可能放在 /usr/share/man 目录下。

      我们可以使用 whereis 命令来查询一个软件的各部分分别放在哪个目录。

      比如 whereis python3         whereis lua

2、linux的目录结构可以参考 Linux目录详解,软件应该安装到哪个目录_linux安装包放哪个目录-CSDN博客

     linux的目录结构复杂,不直观。

     至少有3套结构类似的目录, (/bin  /sbin   /lib  /lib64)  (/usr/bin  /usr/sbin   /usr/lib  /usr/lib64)  (/usr/local/bin  /usr/local/sbin   /usr/local/lib  /usr/local/lib64)

     可以看到操作系统会去简化。比如 ls -l /bin/      可以看到系统没有去生成这个目录,而是用软连接链到了usr/bin目录     /bin -> usr/bin

      这样一来,就可以看到,操作系统自带的软件,安装在/usr/目录下; 自己安装的软件(包括通过源代码 make install的软件,或者通过包管理器,比如yum install,或apt-get install安装的软件),放在/usr/local/下。 当然,还有一部分软件,喜欢windows的方式,自动安装在opt目录下,如下:

        $ ls opt
        app  baidunetdisk  bugtracker  google  kingsoft  qt5  wine-qq

3、lib目录下,并不是只有动态链接库文件,还有其他文件。

     为啥要有动态链接库呢?  ---节省内存

      为啥要有静态链接库+include文件呢? --不想公开源代码。

      linux下动态与静态链接库的使用及区别   linux下动态与静态链接库的使用及区别-CSDN博客

      链接时,静态库和动态库都需要加上 -l库名称  ;运行时,动态库必须放在操作系统默认的搜索路径下(实际上开发者也可以自己主动到固定位置去加载不同版本的库)

linux下:
静态库:lib库名.a
动态库:lib库名.so(shared object)

window:下
静态库:lib库名.lib
动态库:lib库名.dll(dynamic link library)

很多第三方库,既提供 .a库,也提供.so库,方便开发者使用

​​​​​​​​​​​​​库文件,静态库,动态库,静态库和动态库比较_makefile 动态库 静态库区别-CSDN博客

4、make 和cmake

      编写c代码,一般会用make来管理依赖和模块

      编译Linux内核,用的是一个专用的cmake工具

5、RPM打包原理、示例、详解及备查 RPM打包原理、示例、详解及备查_打包rpm实例-CSDN博客

      RPM的原理及rpm命令常用参数 RPM的原理及rpm命令常用参数_rpm原理-CSDN博客

6、 uid和gid    chmod 命令 set uid ,set gid,sticky bit 说明 https://www.cnblogs.com/jary-wang/p/3149414.html

7、linux 下使用命令行发送消息和弹窗消息 linux下使用命令行发送消息和弹窗消息 - 阅心笔记

     KDE/QT与GNOME/GTK比较 KDE/QT与GNOME/GTK比较_qt kde-CSDN博客

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值