Linux - 路径的表示

本文深入探讨Linux中路径管理的核心概念,包括绝对路径与相对路径的区别及应用实例,帮助开发者准确理解和运用Linux路径知识。
       一般情况下,在用shell的时候,或者你通过什么方式调用你的应用程序的时候,都要写明被调用的程序路径。路径分为绝对路径和相对路径。

绝对路径
      在Linux中,绝对路径是从 / (也被称为根目录)开始的,比如/usr、/etc/X11。如果一个路径是从/开始的,它一定是绝对路径,这样就好理解了。

  [root@localhost ~]# cd /usr/share/doc/      注:使用绝对路径进入doc目录
      [root@localhost doc]# pwd                        注:判断用户当前所处的位置                    
      /usr/share/doc                                          注:位于/usr/share/doc


相对路径
      在Linux中相对路径的使用相对于绝对路径来说是比较复杂的,在Linux路径中经常会一些特殊符号,这些符号是用来表示相对路径的。

   .   表示用户所处的当前目录
    ..  表示上级目录
 ~  表示当前用户自己的home目录
 ~USER 表示用户名为USER的家目录,这里的USER是在/etc/passwd中存在的用户名

   使用“../”来表示上一级目录,“../../”表示上上级的目录,以此类推。


使用举例
例1: 
  c:/website/web/index.htm
  c:/website/img/photo.jpg
         
    在此例中index.htm中链接photo.jpg
      正确写法:使用“../img/photo.jpg”的相对路径来定位文件 

例2: 
  c:/website/web/xz/index.htm
  c:/website/img/images/photo.jpg
          
   在此例中index.htm中链接photo.jpg
     正确写法:可以使用../../img/images/photo.jpg的相对路径来定位文件

例3:
  c:/website/web/index.htm
  c:/website/web/photo.jpg
          
    在此例index.htm中链接photo.jpg
      正确写法:使用./photo.jpg的相对路径来定位文件 

例4:
     在本地硬盘有如下两文件,它们要互做超链接
     G:\site\index.htm
     G:\site\web\article\01.htm
     
     index.htm链接到01.htm
     正确的链接应该是:<a href=web/article/01.htm>链接文字</a>,
     
     01.htm要想链接到index.htm
     正确的链接应该是:<a  href=../../index.htm>返回首页</a>注:这里的../表示向上一级。

<think>我们正在查找aarch64-linux-gnu-gcc在Ubuntu16.04中的安装路径据引用内容,我们知道在Ubuntu16.04中可以通过apt安装交叉编译工具链。安装后,如何查看其安装路径呢?在Linux系统中,通过apt安装的软件,其可执行文件通常存放在系统的特定目录中。常见的存放位置包括:-`/usr/bin`:存放用户安装的可执行文件(通常是没有版本号的主程序符号链接)-`/usr/lib/gcc-cross`:存放交叉编译工具链的特定版本(可能有版本号)具体到aarch64-linux-gnu-gcc,据引用[3]中的安装步骤,我们安装了两个部分:1.安装了特定版本的交叉编译器,例如`gcc-5-aarch64-linux-gnu`,这个包会安装带有版本号的编译器,如`aarch64-linux-gnu-gcc-5`。2.安装了没有版本号的`gcc-aarch64-linux-gnu`包,这个包实际上会创建一个符号链接,指向已安装的某个版本(比如最新安装的版本)的编译器。因此,我们可以通过以下方法查找:方法1:使用`which`命令查找可执行文件的位置在终端中执行:whichaarch64-linux-gnu-gcc方法2:使用`dpkg`查询软件包安装的文件由于我们是通过apt安装的,所以可以使用dpkg来查看软件包安装的文件列表。首先,确定我们安装的软件包名称。据引用[3]:-我们安装了`gcc-5-aarch64-linux-gnu`和`gcc-aarch64-linux-gnu`(以及对应的g++包)-其中,`gcc-aarch64-linux-gnu`是一个元包,它可能只包含一个指向具体版本的符号链接。查询具体包安装的文件:dpkg-Lgcc-5-aarch64-linux-gnu|grepbindpkg-Lgcc-aarch64-linux-gnu|grepbin方法3:直接使用find命令在常见目录中查找find/usr-nameaarch64-linux-gnu-gcc但通常我们不需要这么麻烦,因为安装后,它应该已经在系统的PATH路径中,所以直接使用`which`或`whereis`即可。据经验,交叉编译器的可执行文件通常位于:/usr/bin/aarch64-linux-gnu-gcc(这是符号链接,指向实际版本)/usr/bin/aarch64-linux-gnu-gcc-5(实际的可执行文件,版本号可能不同)另外,交叉编译器相关的库和头文件等可能安装在:/usr/aarch64-linux-gnu/但用户问的是`aarch64-linux-gnu-gcc`这个可执行文件的路径。让我们结合引用[3]中的安装步骤,可以推测:安装后,我们使用`aarch64-linux-gnu-gcc-v`查看版本,这说明该命令已经在PATH中。因此,最直接的方法就是在终端中运行:whichaarch64-linux-gnu-gcc它会输出类似:/usr/bin/aarch64-linux-gnu-gcc然后我们可以通过`ls-l`查看这个路径是符号链接还是真实文件,以及它指向哪里。所以,回答用户的问题:在Ubuntu16.04中,通过apt安装的aarch64-linux-gnu-gcc,其安装路径通常为`/usr/bin/aarch64-linux-gnu-gcc`。我们可以使用`which`命令来确认。如果用户想要知道该编译器实际安装的所有文件路径,则可以使用`dpkg-L`来查看对应软件包安装的文件列表。注意:据引用的安装步骤,用户可能安装了两个包,即`gcc-5-aarch64-linux-gnu`和`gcc-aarch64-linux-gnu`。其中,`gcc-aarch64-linux-gnu`安装的是无版本号的符号链接,而`gcc-5-aarch64-linux-gnu`安装的是实际的可执行文件(带有版本号)。因此,我们可以这样操作:1.查找符号链接的路径(即不带版本号的命令):whichaarch64-linux-gnu-gcc2.查找实际可执行文件的路径(可能被符号链接指向):ls-l$(whichaarch64-linux-gnu-gcc)或者直接查找所有相关文件:dpkg-Lgcc-5-aarch64-linux-gnu|grepbin/aarch64-linux-gnu-gcc但通常,用户只需要知道命令所在的路径,以便在编译脚本中使用,所以`which`命令的输出就是用户想要的。另外,如果用户安装了多个版本,那么可能需要查看具体版本。但引用中没有提到多版本并存的情况,所以默认使用`which`即可。据引用[1]和引用[3],安装后可以使用`aarch64-linux-gnu-gcc-v`查看版本,这也说明该命令已经在PATH中。因此,总结回答:在Ubuntu16.04中,通过apt安装的aarch64-linux-gnu-gcc,其可执行文件通常位于`/usr/bin/aarch64-linux-gnu-gcc`。您可以使用以下命令查看具体路径:whichaarch64-linux-gnu-gcc如果该命令没有输出,则说明可能没有安装或者不在PATH中,但按照引用中的安装步骤,应该是安装成功的。如果用户想要知道该编译器的所有文件安装路径,可以使用dpkg查询安装的包。下面我们按照用户要求生成相关问题:</think>在Ubuntu 16.04系统中,通过`apt`安装的`aarch64-linux-gnu-gcc`交叉编译工具的路径查找方法如下: ### 查找步骤 1. **使用 `which` 命令定位可执行文件** 在终端执行: ```bash which aarch64-linux-gnu-gcc ``` 输出示例: `/usr/bin/aarch64-linux-gnu-gcc` 此路径是编译器的主入口(通常是符号链接)。 2. **查看真实路径(若存在符号链接)** 执行: ```bash ls -l /usr/bin/aarch64-linux-gnu-gcc ``` 输出示例: `lrwxrwxrwx ... /usr/bin/aarch64-linux-gnu-gcc -> aarch64-linux-gnu-gcc-5` 这表示它指向实际版本(如`aarch64-linux-gnu-gcc-5`)。 3. **通过 `dpkg` 查询文件归属(推荐)** 执行: ```bash dpkg -L gcc-aarch64-linux-gnu | grep bin/aarch64 ``` 输出示例: ``` /usr/bin/aarch64-linux-gnu-gcc /usr/bin/aarch64-linux-gnu-gcc-5 ``` 这会列出软件包安装的所有可执行文件路径[^3]。 4. **搜索特定版本路径(如安装多版本)** 若安装了`gcc-5-aarch64-linux-gnu`,执行: ```bash dpkg -L gcc-5-aarch64-linux-gnu | grep bin ``` 输出示例: `/usr/bin/aarch64-linux-gnu-gcc-5` --- ### 典型安装路径总结 | 组件类型 | 路径 | 说明 | |-------------------|---------------------------------------|-------------------------------| | **主编译器** | `/usr/bin/aarch64-linux-gnu-gcc` | 默认调用的符号链接 | | **具体版本编译器**| `/usr/bin/aarch64-linux-gnu-gcc-5` | 实际二进制文件(版本号可能不同) | | **头文件/库文件** | `/usr/aarch64-linux-gnu/include/` | 目标架构的头文件 | | | `/usr/aarch64-linux-gnu/lib/` | 目标架构的库文件 | > **注意**:路径中的版本号(如`-5`)取决于安装时选择的工具链版本[^1][^3]。 --- ### 验证安装 运行版本检查: ```bash aarch64-linux-gnu-gcc -v ``` 输出中的`gcc version`和`Target: aarch64-linux-gnu`可确认工具链配置正确[^1][^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值