1、Ubuntu目录

一、/:目录属于根目录,是所有目录的绝对路径的起始点,Ubuntu 中的所有文件和目录都在跟目录下。

二、/etc:(and so on的意思,来源于法语)此目录非常重要,绝大多数系统和相关服务的配置文件都保存在这里,这个目录的内容一般只能由管理员进行修改。像密码文件、设置网卡信息、环境变量的设置等都在此目录中。此目录的 rcn.d 目录中存放不同启动级别所启动的服务,network 目录放置网卡的配置信息等。

三、/home:此目录是所有普通用户的宿主目录所在地,在一般情况下,如果想要对用户进行磁盘限额功能,最好将此目录单独分区。

四、/bin :此目录中放置了所有用户能够执行的命令。

五、/sbin:此目录中放置了一般是只有系统管理有才能执行的命令。

六、/dev:此目录中保存了所有设备文件,例如,使用的分区:/dev/hda\1,/dev/cdrom 等。

七、/mnt:此目录主要是作为挂载点使用。

八、/usr:此目录包含了所有的命令、说明文件、程序库等,此目录下有很多重要的目录,常见的有:/usr/local 这个目录包含管理员自己安装的程序;/usr/share 包含文件的帮助文件;/usr/bin 和/usr/sbin 包含了所有的命令。

九、/var:包含了日志文件、计划性任务和邮件等内容。

十、/lib:包含了系统的函数库文件。

十一、/lost+found:包含了系统修复时的回复文件。

十二、/tmp:包含了临时的文件。

十三、/boot:系统的内核所在地,也是启动分区。

十四、/media:主要用于挂载多媒体设备。

十五、/root:系统管理员的宿主目录。

2、Ubuntu程序目录

在Ubuntu使用记录(常用命令与目录树)中我总结了一些关于Ubuntu/Linux的目录的一些知识,这里回顾一下。

软件主要分为3类,可以用which命令查看,一个软件/命令的位置

①/sbin

表示系统的一些程序,比如shutdown

②/bin

表示一些可以用在bash上面的命令,比如ps,ls等

③/usr/bin

表示其他安装的软件,比如我们需要apt-get install安装的软件,比如firefox,gcc,codeblocks等等

3、库文件

总结自:http://www.cnblogs.com/skynet/p/3372855.html

(1)什么是库

简单说,库就是一些头文件与库文件(可能包括静态库与动态库两种)的集合。

库文件通过头文件向外导出接口,头文件中有函数的声明,库文件中是对应的实现。

(2)位置

①安装的第三方软件

/usr/bin                             可执行文件

/usr/lib                              可执行文件的库文件

/usr/include                     可执行文件的头文件

②安装的第三方库

/usr/local/bin                   安装的库的一些测试程序

/usr/local/lib                    安装的库的库文件

/usr/local/include            安装的库的头文件

(3)静态库

①格式

.a

②加载阶段

编译四大阶段的链接阶段

③本质

一系列目标文件(.o文件)的集合

④特点

程序在运行时与函数库再无瓜葛,移植方便。

浪费空间和资源,所有相关的目标文件与涉及到的函数库被链接合成一个可执行文件。

如果库有更新,且要加载新库,需重新编译整个应用程序。

⑤使用

在Ubuntu/Linux下面,只需在编译的时候指定搜索路径与静态库名

-L         表示要连接的库所在目录

-l          表示链接时需要的静态库(比如libev的静态库文件libev.a在编译的时候,只需要-lev即可)

(4)动态库

①格式

.so

②加载阶段

动态库是在程序运行时,才被加载到内存中。

多个程序如果使用相同的动态库,在内存中只会存在一份拷贝。

③特点

可以实现进程间资源共享,因此也叫坐共享库。

使得程序升级变地简单,只需要更新动态库文件即可。

甚至可以做到链接载入完全由程序员在程序代码中控制(显式调用)。

④使用

由于涉及到编译以及运行两个阶段的库文件查找,所以有两个需要注意的地方。

A。编译阶段

一样的-L和-l

B。运行阶段

由于需要在运行的时候也要找到动态库文件的位置。

这个是在/etc/ld.so.cache文件里面记载的,系统默认在这个文件里面记载有/lib以及/usr/lib

所以,如果你是安装的第三方库,或者是自己生成了一个动态库,你的库文件是在/usr/local/lib中或者其他地方,系统是默认找不到的。

这个时候,编译没有问题,可是一旦运行,系统就会提示找不到某某库文件。

解决办法是修改/etc/ld.so.cache,但是注意,由于这不是一个配置文件,所以不能直接修改。

要通过/etc/ld.so.conf来修改,假设我安装了第三方库libev,库的目录是/usr/local/lib,那么我就要这样做。

$vim /etc/ls.so.conf

另起一行,加上/usr/local/lib

$ldconfig     ,该命令会根据ld.so.conf文件重建ld.so.cache文件,这个时候就能愉快地使用第三方库啦!

⑤补充

ldd命令,ldd 某应用程序

可以查看该应用程序依赖的动态链接库。

ubuntu导入第三方库_1.Ubuntu目录与第三方库相关推荐

  1. ubuntu导入第三方库_ubuntu用户切换、配置Python开发环境与所需的第三方库

    一.用户切换 普通用户切换到root用户 登录ubuntu后,按上组合键CTRL+ALT+T进入终端界面,一般终端界面默认为普通用户权限模式,如何从普通用户进入root用户,有如下方法: 1.按上su ...

  2. linux c c 常用的日志库,mslog: 一款超轻量级的C日志库,无需依赖额外的库,测试或移植过的系统有Linux(ubuntu,centos),Windows以及部分嵌入式设备;...

    mslog 1.综述 ​ 一款超轻量级的C日志库,无需依赖额外的库,库的设计目标为"简洁,可移植性强".测试或移植过的系统有Linux(ubuntu,centos),Windows ...

  3. 【c++开发】C++ Linux Ubuntu imagemagick以及magick++安装;c++调用magick++库;找不到Magick++.h

    ubuntu系统自带的imagemagick没有c++函数库,需要能重新下载一个新一点的库,重新编译并且安装 一.教程 官网详细教程:https://imagemagick.org/script/in ...

  4. #Ubuntu#__装机必备__常用软件和工具库安装

    #Ubuntu#__装机必备__常用软件和工具库安装 一.常用软件与功能库 1. 常用软件: 2. 常用库: 3. 代码管理工具git 4. C++开发: 5. python开发: 6. 其他库: 二 ...

  5. 在Ubuntu下解决E: 无法对目录 /var/lib/apt/lists/ 加锁的问题

    在Ubuntu下解决E: 无法对目录 /var/lib/apt/lists/ 加锁的问题 参考文章: (1)在Ubuntu下解决E: 无法对目录 /var/lib/apt/lists/ 加锁的问题 ( ...

  6. Linux / Ubuntu系统查看磁盘空间及目录容量

    Linux / Ubuntu系统查看磁盘空间及目录容量 常用命令: df -hl 查看磁盘剩余空间 df -h 查看每个根路径的分区大小 参考:https://blog.csdn.net/dta050 ...

  7. ubuntu 14.04 挂载window共享目录

    (1) 先在ubuntu系统里,新建一个目录用于挂载,目录假设为 /mnt/win: sudo mkdir /mnt/win (2)在windows系统,共享出一个文件夹,共享名称假设为www sud ...

  8. ubuntu: /lib/modules/xx/build 目录不存在的解决办法(安装Linux headers失败)

    ubuntu: /lib/modules/xx/build 目录不存在的解决办法 欢迎关注微信公众号<嵌入式大本营>(zjf18770701843) 之前遇到过这个问题,当时费了很大的劲才 ...

  9. 【PX4-AutoPilot教程-0】使用VMware虚拟机导入配置好的Ubuntu系统

    使用VMware虚拟机导入配置好的Ubuntu系统 此教程是根据阿木实验室提供的Ubuntu虚拟机的开发环境配置进行编写的. 阿木实验室[PX4飞控源码和QGC开发环境]内有VMware12,配置好环 ...

最新文章

  1. 弹性布局,自动按比例居中
  2. 【转】java线程系列---Runnable和Thread的区别
  3. xmanager 开启X11转发失败问题解决
  4. java内存模型浅析_浅析java内存模型
  5. Linux下载安装zookeeper
  6. Emacs配置文件(备份用)
  7. java 生成条形码_Springboot生成二维码,怎么搞?
  8. 数据库连接参数设置,用户登录,密码修改,权限设置,金蝶KIS旗舰版安卓盘点机PDA
  9. 使用汉化版srvinstw.exe安装/卸载Windows系统服务
  10. 【好书试读】交互设计沉思录——顶尖设计专家Jon Kolko的经验与心得
  11. Nginx之读写分离
  12. 电脑分区合并——灰色解决方法
  13. uniapp怎么调起摄像头拍视频_uniapp如何实现直播
  14. nvcc --version: nvcc不是内部或外部命令
  15. 比较两个字符串的大小
  16. 关于标准电阻阻值的说明(E6、E12、E24、E48、E96、E192)
  17. python基础-廖雪峰
  18. Java中表头的边框置为实线_table表格设置边框线为单实线
  19. VC MFC C++ IPControl CIPAddressCtrl IP输入控件使用
  20. %2d与%.2d的区别

热门文章

  1. Unity程序框架总结归置系列(3)——事件中心
  2. 海外抖音Tiktok这么火,到底值不值得做?
  3. 基于matlab的傅里叶变换
  4. 解决idea里面Tomcat无论怎么重新启动总是启动原先的项目问题
  5. response.setContentType()与response.setHeader()
  6. Rsync命令参数以及配置使用
  7. android手机时钟、闹钟、计时器、秒表app源码
  8. hive计算指定日期所在周的第一天和最后一天
  9. 【信号处理】基于扩展卡尔曼滤波器和无迹卡尔曼滤波器的窄带信号时变频率估计(Matlab代码实现)
  10. Python爬虫JS解密详解,学会直接破解80%的网站(一)!!!