zoukankan      html  css  js  c++  java
  • linux路径问题

    在 Linux 中,简单的理解一个文件的路径,指的就是该文件存放的位置,例如,在《Linux文件系统的层次结构》中提到的 /home/cat 就表示的是 cat 文件所存放的位置。只要我们告诉 Linux 系统某个文件存放的准确位置,那么它就可以找到这个文件。

    指明一个文件存放的位置,有 2 种方法,分别是使用绝对路径和相对路径。

    我们知道,Linux 系统中所有的文件(目录)都被组织成以根目录“/”开始的倒置的树状结构,如下图所示。



                                          Linux系统文件组织结构示意图


    绝对路径一定是由根目录 / 开始写起。例如,使用绝对路径的表示方式指明 bin 文件所在的位置,该路径应写为 /usr/bin,测试代码如下:

    [root@localhost ~]# bin
    bash: bin: command not found   <-- 没有找到
    [root@localhost ~]# /usr/bin
    bash: /usr/bin: is a directory   <-- 是一个文件

    可以看到,如果仅传递给 Linux 系统一个文件名,它无法找到指定文件;而当将 bin 文件的绝对路径传递 Linux 系统时,它就可以成功找到。

    和绝对路径不同,相对路径不是从根目录 / 开始写起,而是从当前所在的工作目录开始写起。使用相对路径表明某文件的存储位置时,经常会用到前面讲到的 2 个特殊目录,即当前目录(用 . 表示)和父目录(用 .. 表示)。

    举个例子,当我们使用 root 身份登录 Linux 系统时,当前工作目录默认为 /root,如果此时需要将当前工作目录调整到 root 的子目录 Desktop 中,当然可以使用绝对路径,示例代码如下:

    [root@localhost ~]# pwd     <-- 显示当前所在的工作路径
    /root
    [root@localhost ~]# cd /root/Desktop
    [root@localhost Desktop]# pwd
    /root/Desktop

    注意,这里所使用的 pwd 和 cd 命令,目前只需知道它们的功能即可,具体用法会在后续文章中作详细讲解。

    可以看到,通过使用绝对路径,我们成功地改变了当前工作路径。但除此之外,使用相对路径的方式会更简单。因为目前处于 /root 的位置,而 Desktop 就位于当前目录下,所以:

    [root@localhost ~]# pwd    <-- 显示当前所在的工作路径
    /root
    [root@localhost ~]# cd ./Desktop
    [root@localhost Desktop]# pwd
    /root/Desktop

    此代码中,./Desktop 表示的就是 Destop 文件相对于 /root 所在的路径。

    再举一个例子,如果以 root 身份登录 Linux 系统,并实现将当前工作目录由 /root 转换为 /usr 目录,有以下 2 种方式:

    #使用绝对路径
    [root@localhost ~]# pwd <-- 显示当前所在的工作路径
    /root
    [root@localhost ~]# cd /usr
    [root@localhost ~]# pwd
    /usr
    #使用相对路径
    [root@localhost ~]# pwd <-- 显示当前所在的工作路径
    /root
    [root@localhost ~]# cd ../usr <-- 相对 root,usr 位于其父目录 /,因此这里要用到 ..
    [root@localhost ~]# pwd
    /usr

    总之,绝对路径是相对于根路径 / 的,只要文件不移动位置,那么它的绝对路径是恒定不变的;而相对路径是相对于当前所在目录而言的,随着程序的执行,当前所在目录可能会改变,因此文件的相对路径不是固定不变的。

  • 相关阅读:
    Web API 强势入门指南
    毫秒必争,前端网页性能最佳实践
    Windbg Extension NetExt 使用指南 【3】 ---- 挖掘你想要的数据 Managed Heap
    Windbg Extension NetExt 使用指南 【2】 ---- NetExt 的基本命令介绍
    Windbg Extension NetExt 使用指南 【1】 ---- NetExt 介绍
    WCF : 修复 Security settings for this service require Windows Authentication but it is not enabled for the IIS application that hosts this service 问题
    透过WinDBG的视角看String
    Microsoft Azure Web Sites应用与实践【4】—— Microsoft Azure网站的“后门”
    企业IT管理员IE11升级指南【17】—— F12 开发者工具
    WCF : 如何将NetTcpBinding寄宿在IIS7上
  • 原文地址:https://www.cnblogs.com/qxfy/p/12022221.html
Copyright © 2011-2022 走看看