相對路徑和絕對路徑解析

????????在 Linux/Unix 和文件系統中,絕對路徑相對路徑是描述文件或目錄位置的兩種方式,它們的核心區別在于路徑的起點使用場景。以下是詳細對比:


目錄

1. 定義與起點

2. 符號與語法

3. 使用場景

4. 實際示例

示例 1:定位文件

示例 2:返回上級目錄

示例 3:跨多級目錄

5. 優缺點對比

6. 如何選擇?

用絕對路徑:

用相對路徑:

總結


1. 定義與起點

類型絕對路徑相對路徑
起點根目錄(/開始當前工作目錄開始
示例/home/user/docs/file.txtdocs/file.txt?或?../backup/
特點唯一且完整,不受當前目錄影響依賴當前目錄,更簡潔但需上下文

2. 符號與語法

  • 絕對路徑
    始終以?/?開頭,逐級列出所有父目錄。
    示例:

    /var/log/nginx/access.log   # 根目錄 → var → log → nginx → access.log
  • 相對路徑
    不以?/?開頭,使用以下符號簡化路徑:

    • .:當前目錄(例如?./script.sh)。

    • ..:上級目錄(例如?../config/settings.conf)。

    • 直接寫子目錄或文件名(例如?photos/2024.jpg)。
      示例:

      # 假設當前目錄是 /home/user
      docs/report.txt             # 實際路徑:/home/user/docs/report.txt
      ../../etc/hosts             # 實際路徑:/etc/hosts

3. 使用場景

場景絕對路徑相對路徑
腳本或配置文件明確指定文件位置,避免路徑歧義需謹慎使用(依賴腳本執行的當前目錄)
跨目錄操作直接定位,無需切換目錄需結合?cd?或嵌套路徑
命令行快捷操作路徑較長,但準確性高路徑簡短,適合當前目錄下的快速訪問

4. 實際示例

示例 1:定位文件

  • 假設當前目錄為?/home/user/projects,目標文件路徑為?/home/user/projects/src/app.js

    • 絕對路徑/home/user/projects/src/app.js

    • 相對路徑src/app.js?或?./src/app.js

示例 2:返回上級目錄

  • 從?/home/user/docs?跳轉到?/home/user

    cd ..       # 相對路徑:返回上級目錄
    cd /home/user  # 絕對路徑:直接指定目標

示例 3:跨多級目錄

  • 從?/var/log/nginx?訪問?/etc/nginx/nginx.conf

    cat ../../etc/nginx/nginx.conf   # 相對路徑(向上兩級)
    cat /etc/nginx/nginx.conf        # 絕對路徑

5. 優缺點對比

特性絕對路徑相對路徑
明確性? 唯一確定,不依賴上下文? 依賴當前目錄,可能因目錄變化失效
長度? 路徑較長? 簡潔,適合嵌套目錄操作
可移植性? 硬編碼路徑,更換環境需修改? 更靈活,適合項目內部引用
安全性? 不易被誤操作(路徑明確)? 可能因當前目錄錯誤導致意外覆蓋或刪除文件

6. 如何選擇?

  • 用絕對路徑

    • 在腳本、配置文件或日志中明確指定關鍵文件。

    • 需要跨多個目錄操作時(如從?/tmp?訪問?/usr/local/bin)。

  • 用相對路徑

    • 在項目內部引用資源(如代碼中引用同級目錄的模塊)。

    • 頻繁操作當前目錄的子目錄時(如開發、調試)。


總結

  • 絕對路徑是“完整地址”,相對路徑是“從當前位置出發的路線”。

  • 理解兩者的區別可以避免文件操作中的路徑錯誤,提升效率!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/79777.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/79777.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/79777.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【算法數據結構】leetcode37 解數獨

37. 解數獨 - 力扣(LeetCode) 題目描述: 題目要求每一行 ,每一列,每個3*3 的子框只能出現一次。每個格子的數字范圍1-9. 需要遍歷每個空格填入可能的數字,并驗證符合規則。如果符合就填入,不符…

Vector的學習

vector簡介 vector的相關文檔對于想深入了解的同學可以參考這個文檔進行學習。 vector是表示可變大小數組的序列容器。 就像數組一樣,vector也采用的連續存儲空間來存儲元素。也就是意味著可以采用下標對vector的元素進行訪問,和數組一樣高效。但是又不…

Vue常用指令入門

1. v-for 作用&#xff1a;用于遍歷對象或數組 注意&#xff1a;需要提供key屬性&#xff0c;可以提高性能和避免渲染錯誤&#xff0c;值通常為index或item.id <li v-for"(item, index) in items" :key"index">{{ item }} </li>2. v-if,v-el…

在機器視覺檢測中為何選擇線陣工業相機?

線陣工業相機&#xff0c;顧名思義是成像傳感器呈“線”狀的。雖然也是二維圖像&#xff0c;但極寬&#xff0c;幾千個像素的寬度&#xff0c;而高度卻只有幾個像素的而已。一般在兩種情況下使用這種相機&#xff1a; 1. 被測視野為細長的帶狀&#xff0c;多用于滾筒上檢測的問…

線性DP:最長上升子序列(子序列可不連續,子數組必須連續)

目錄 Q1&#xff1a;簡單遍歷 Q2&#xff1a;變式&#xff08;加大數據量&#xff09; Q1&#xff1a;簡單遍歷 Dp問題 狀態表示 f(i,j) 集合所有以第i個數結尾的上升子序列集合-f(i,j)的值存的是什么序列長度最大值max- 狀態計算 &#xff08;其實質是集合的劃分&#xff09;…

【Web前端技術】第二節—HTML標簽(上)

hello&#xff01;好久不見—— 做出一個屬于自己的網站&#xff01; 云邊有個稻草人-個人主頁 Web前端技術—本篇文章所屬專欄 目錄 一、HTML 語法規范 1.1 基本語法概述 1.2 標簽關系 二、HTML 基本結構標簽 2.1 第一個 HTML 網頁 2.2 基本結構標簽總結 三、網頁開發…

論文降重GPT指令-實側有效從98%降低到8%

步驟1&#xff1a;文本接收 指令&#xff1a; 請用戶提供需要優化的文本內容。 對文本進行初步分析&#xff0c;識別文本的基本結構和風格。 操作&#xff1a; 接收并分析用戶提交的文本。 步驟2&#xff1a;文本優化 2.1 連接詞處理 指令&#xff1a; 刪除或替換連接詞&#x…

Jsp技術入門指南【九】詳細講解JSTL

Jsp技術入門指南【九】詳細講解JSTL 前言一、什么是JSTL&#xff1f;&#xff08;JavaServer Pages Standard Tag Library&#xff09;二、使用JSTL前的準備三、核心標簽庫常用標簽詳解1. <c:out>&#xff1a;輸出內容&#xff08;替代<% %>&#xff09;2. <c:i…

Linux操作系統--進程的創建和終止

目錄 1.進程創建 1.1fork()函數初識 1.2寫時拷貝 1. 提升系統效率 2. 隔離錯誤影響 3. 支持并行計算 2.進程終止&#xff1a; 2.1進程退出場景&#xff1a; 2.2進程常見退出方法&#xff1a; 2.3_exit()系統調用接口 2.4exit函數 2.5return退出 1.進程創建 1.1for…

OSPF綜合實驗——企業邊界路由器、LSA收斂

IP劃分粗略記號&#xff0c;方便后續配置 配置IP和環回--->ISP的IP配置和cheat認證---->配置OSPF和RIP---->企業邊界路由網段匯總---->特殊區域---> 缺省路由&#xff0c;重分發---->nat配置---->實現全網通 路由器配置IP和環回地址 <Huawei>sys…

Java【網絡原理】(4)HTTP協議

目錄 1.前言 2.正文 2.1自定義協議 2.2HTTP協議 2.2.1抓包工具 2.2.2請求響應格式 2.2.2.1URL 2.2.2.2urlencode 2.2.3認識方法 2.2.3.1GET與POST 2.2.3.2PUT與DELETE 2.2.4請求頭關鍵屬性 3.小結 1.前言 哈嘍大家好啊&#xff0c;今天來繼續給大家帶來Java中網絡…

Android學習總結之APK打包流程

一、預處理階段&#xff08;編譯前準備&#xff09; 1. AIDL 文件處理&#xff08;進程間通信基礎&#xff09; 流程&#xff1a; 用于實現 Android 系統中不同進程間的通信&#xff08;IPC&#xff09;。在項目構建時&#xff0c;AIDL 編譯器會將 .aidl 文件編譯為 Java 接口…

BDO分廠積極開展“五個一”安全活動

BDO分廠為規范化學習“五個一”活動主題&#xff0c;按照“上下聯動、分頭準備 、差異管理、資源共享”的原則&#xff0c;全面激活班組安全活動管理新模式&#xff0c;正在積極開展班組安全活動&#xff0c;以單元班組形式對每個班組每周組織一次“五個一”安全活動。 丁二醇單…

【音視頻】FLV格式分析

FLV概述 FLV(Flash Video)是Adobe公司推出的?種流媒體格式&#xff0c;由于其封裝后的?視頻?件體積?、封裝簡單等特點&#xff0c;?常適合于互聯?上使?。?前主流的視頻?站基本都?持FLV。采?FLV格式封裝的?件后綴為.flv。 FLV封裝格式是由?個?件頭(file header)和…

Java表達式1.0

Java開發工具 在當今的Java開發領域&#xff0c;IntelliJ IDEA已然成為了眾多開發者心目中的首選利器&#xff0c;它被廣泛認為是目前Java開發效率最快的IDE工具。這款備受矚目的開發工具是由JetBrains公司精心打造的&#xff0c;而JetBrains公司總部位于風景如畫的捷克共和國首…

Map遍歷

第一種遍歷方式鍵找值&#xff1a; 增強for循環&#xff1a; 通過獲取元素中的鍵&#xff0c;get到對應的值&#xff0c;通過增強for循環獲取集合里的鍵&#xff0c;然后用get方法通過鍵獲取值 代碼演示&#xff1a; import java.text.ParseException; import java.util.*;…

內網穿透服務器—FRP

某天某刻空閑的時候跟同事聊的本地的存儲服務如果我想讓其他公網內的用戶使用&#xff08;這個存儲服務只是一個臨時文件傳遞站&#xff0c;碎文件&#xff0c;安全低的&#xff09;&#xff0c;然后我們就探討到了FRP一個比較久遠的技術&#xff0c;來做內網穿透&#xff0c;下…

力扣每日打卡16 781. 森林中的兔子(中等)

力扣 781. 森林中的兔子 中等 前言一、題目內容二、解題方法1. 哈希函數&#xff08;來自評論區大佬的解題方法&#xff09;2.官方題解2.1 方法一&#xff1a;貪心 前言 這是刷算法題的第十六天&#xff0c;用到的語言是JS 題目&#xff1a;力扣 781. 森林中的兔子 (中等) 一、…

基于深度學習的線性預測:創新應用與挑戰

一、引言 1.1 研究背景 深度學習作為人工智能領域的重要分支&#xff0c;近年來在各個領域都取得了顯著的進展。在線性預測領域&#xff0c;深度學習也逐漸興起并展現出強大的潛力。傳統的線性預測方法在處理復雜數據和動態變化的情況時往往存在一定的局限性。而深度學習憑借…

黑馬點評redis改 part 3

優惠券秒殺 全局唯一id 每個店鋪都可以發布優惠券&#xff1a; 當用戶搶購時&#xff0c;就會生成訂單并保存到tb_voucher_order這張表中&#xff0c;而訂單表如果使用數據庫自增ID就存在一些問題&#xff1a;實際開發中數據庫ID一般不會參與業務邏輯 增加一個訂單號字段就好…