ubuntu查看包,库的详细信息
- 查看所有已安装的包
dpkg -l - 查看某个包的详细信息
dpkg -s pakage - 查看某个库是否安装
ldconfig -p | grep libxx - 查看某个库/文件属于哪个包
安装apt-file,首次运行需apt-file update,更新完后
apt-file search name
errno,perrno,strerrno
errno:在系统出现错误时内核把错误写入到全局变量errno中。在系统调用返回失败时,必须紧接着引用errno变量,避免程序中的下一条系统调用时出错覆盖errno的值。
perror和strerror函数都是用来打印错误提示信息的,它们的原型分别是:
char *strerror(int errnum);
它返回errnum的值所对应的错误提示信息,例如errnum等于12的话,它就会返回"Cannot allocate memory"。
void perror(const char *s);
它先打印s指向的字符串,然后输出当前errno值所对应的错误提示信息,例如当前errno若为12,调用perror(“ABC”),会输出"ABC: Cannot allocate memory"。
Linux下动态链接库加载路径
- ELF可执行文件中动态段DT_RPATH指定;gcc加入链接参数“-Wl,-rpath”指定动态库搜索路径;
- 环境变量LD_LIBRARY_PATH指定路径;
- /etc/ld.so.cache中缓存的动态库路径。可以通过修改配置文件/etc/ld.so.conf 增删路径(修改后需要运行ldconfig命令);
- 默认的 /lib/;
- 默认的 /usr/lib/
linux /proc文件夹
proc被称为虚拟文件系统,它是一个控制中心,可以通过更改其中某些文件改变内核运行状态,它也是内核提供给我们的查询中心,用户可以通过它查看系统硬件及当前运行的进程信息。Linux中许多工具的数据来源正是proc目录中的内容。
/proc目录下常用文件介绍:
- /proc/loadavg 前三列分别保存最近1分钟,5分钟,及15分钟的平均负载。
- /proc/meminfo 当前内存使用信息
- /proc/diskstats 磁盘I/O统计信息列表
- /proc/net/dev 网络流入流出统计信息
- /proc/filesystems 支持的文件系统
- /proc/cpuinfo CPU的详细信息
- /proc/cmdline 启动时传递至内核的启动参数,通常由grub进行传递
- /proc/mounts 系统当前挂在的文件系统
- /proc/uptime 系统运行时间
- /poc/version 当前运行的内核版本号等信息
带数字的文件夹,每个数字对应一个进程的ID号
- cmdline: 包含启动进程时调用的命令行。
- envir: 进程的环境变量。
- status: 进程的状态信息,包括启动进程的用户的用户ID (UID) 和组ID(GID) ,父进程ID (PPID),还有进程当前的状态,比如"Sleelping"和"Running"。
- cw:指向进程当前工作目录的符号链接
- exe:指向运行的进程的可执行程序,
- root:指向被这个进程看作是根目录的目录(通常是"/")。
- fd: 包含指向进程使用的文件描述符的链接。