2024-09-01
Linux运维
00
  1. /bin:包含系统启动和基本维护所需的二进制可执行文件。

  2. /boot:包含用于系统引导的文件,包括内核文件和引导加载程序。

  3. /dev:包含与设备相关的文件,如硬盘驱动器、键盘等。

  4. /etc:包含系统全局配置文件,如网络设置、用户帐户和打印机设置等。

  5. /home:包含每个用户的主目录。

  6. /lib:包含系统运行所需的共享库。

  7. /media:用于挂载外部存储设备(例如 USB 驱动器)的目录。

  8. /mnt:也用于挂载文件系统,通常是管理员暂时使用的目录。

  9. /opt:用于安装第三方软件的目录。

  10. /proc:包含系统内存中运行进程的信息。

  11. /root:超级用户(root 用户)的主目录。

  12. /run:包含在系统运行过程中需要访问的临时文件。

  13. /sbin:包含系统管理命令,例如网络管理和磁盘分区。

  14. /srv:用于存储网站数据或其他服务数据的目录。

  15. /sys:包含设备驱动程序的信息。

  16. /tmp:用于存储临时文件的目录。

  17. /usr:用于存储用户应用程序和共享资源的目录树。

  18. /var:包含系统日志、邮件、数据库和其他变化频繁的文件。

以下是作为 Linux 用户经常需要使用或者配置的一些文件:

  1. ~/.bashrc:Bash shell 的配置文件。可以在其中定义别名、修改环境变量、设置命令提示符等。

  2. ~/.bash_profile:登录 shell 的启动文件。可以在其中加载 ~/.bashrc,以便每次打开终端时都应用相同的配置。

  3. ~/.profile:类似于 ~/.bash_profile,但适用于所有 shell。

  4. ~/.ssh/config:OpenSSH 客户端的配置文件。可以在其中指定主机和用户别名、设置 SSH 代理和端口转发等。

  5. ~/.gitconfig:Git 的全局配置文件。可以在其中设置用户名、电子邮件地址、编辑器等。

  6. ~/.vimrc:Vim 编辑器的配置文件。可以在其中启用语法高亮、设置缩进、定义键盘映射等。

  7. ~/.tmux.conf:Tmux 终端复用器的配置文件。可以在其中设置快捷键、调整窗格大小、定义状态栏等。

  8. /etc/fstab:文件系统表,用于指定系统启动时要自动挂载的文件系统。

  9. /etc/hosts:包含本地主机名与 IP 地址的映射。可以在其中添加自定义主机名,以便轻松访问其他计算机。

  10. /etc/resolv.conf:DNS 解析器的配置文件。可以在其中指定 DNS 服务器和搜索域。

作为一名 C++ 开发者,以下是需要注意的 Linux 目录和环境变量:

  1. /usr/include:包含系统标准头文件。例如,<stdio.h> 和 <stdlib.h>。

  2. /usr/lib:包含共享库文件。可以使用 -l 标志指定要链接的库名称,例如,-lm 表示链接数学库 libm.so

  3. /usr/local/include 和 /usr/local/lib:可以将自定义头文件和共享库安装在该目录下,以便它们可以被全局访问。

  4. $PATH 环境变量:定义了 shell 用于查找可执行文件的目录。可以使用 echo $PATH 命令查看当前设置。可以通过将路径添加到 PATH 变量中来添加新目录,例如:export PATH=$PATH:/opt/myapp/bin

  5. $LD_LIBRARY_PATH 环境变量:定义了共享库文件的搜索路径。可以使用 ldd 命令查看程序所依赖的共享库。可以使用 export LD_LIBRARY_PATH=/usr/local/lib 将路径添加到 LD_LIBRARY_PATH 变量中。

  6. $CPLUS_INCLUDE_PATH 环境变量:与 C++ 头文件的搜索路径有关。可以使用 echo $CPLUS_INCLUDE_PATH 命令查看当前设置。可以使用 export CPLUS_INCLUDE_PATH=/usr/local/include 将路径添加到 CPLUS_INCLUDE_PATH 变量中。

  7. /usr/bin/g++:默认情况下,C++ 编译器位于此目录下。可以使用 g++ 命令编译源代码并生成可执行文件。可以通过 -I 标志指定头文件搜索路径,例如:g++ -c main.cpp -I/usr/local/include

  8. /usr/share/doc/gcc-x.x.xx:包含 GCC 编译器的文档和示例。可以使用 info gcc 命令或浏览器打开 /usr/share/doc/gcc-x.x.xx/html/index.html 查看文档。

  9. ~/.bashrc:可以在其中添加别名、环境变量、函数等,以提高工作效率。可以使用 nano ~/.bashrc 命令编辑文件,并使用 source ~/.bashrc 命令使更改立即生效。

当编译 C++ 程序时,如果使用了共享库文件,那么编译器需要知道这些库的位置才能将其链接到可执行程序中。以下是一些方法,可以让编译器找到共享库:

  1. 使用 -L 标志:可以使用 -L 标志告诉编译器在哪些目录中查找共享库。例如,g++ main.cpp -L/path/to/lib 将在 /path/to/lib 目录下查找共享库。

  2. 使用 -l 标志:可以使用 -l 标志指定要链接的共享库名称。例如,-lmylib 表示链接名为 libmylib.so 的库。

  3. 使用环境变量 LD_LIBRARY_PATH:可以设置 LD_LIBRARY_PATH 环境变量,以便在运行时找到共享库。例如,在 bash shell 中,可以使用 export LD_LIBRARY_PATH=/path/to/lib 命令设置该变量,使编译器和程序都能够找到共享库。

  4. 在默认搜索路径中安装共享库:可以将共享库安装在默认的系统搜索路径(如 /usr/lib)或其他标准搜索路径(如 /usr/local/lib)。这样,编译器会在这些目录中自动查找共享库。

总的来说,最常用的方法是通过 -L 和 -l 标志指定共享库的位置和名称,或者将共享库安装在默认搜索路径中。如果您需要在非标准目录中使用共享库,则可以使用 LD_LIBRARY_PATH 环境变量,但请注意,这种方法可能会导致不必要的安全风险和依赖问题。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!