表示
Windows 作業系統
大家都知道,在我們平時使用計算機時要找到需要的檔案就必須知道檔案的位置,而表示檔案的位置的方式就是路徑。舉一個例子,現在有一個頁面 index.htm, 在這個頁面中連線有一張圖片 photo.jpg。 它們的絕對路徑如下:
c:/website/index.htm
c:/website/img/photo.jpg
如果你使用絕對路徑 c:/website/img/photo.jpg, 那么在自己的計算機上將一切正常, 因為確實可以在指定的位置即 c:/website/img/photo.jpg 上找到photo.jpg 檔案。
絕對路徑就是你的主頁上的檔案或目錄在硬碟上真正的路徑。比如,你的
Perl 程式是存放在 c:/apache/cgi-bin 下的,那么 c:/
apache/cgi-bin 就是 CGI-BIN 目錄的絕對路徑(如果你不清楚目錄的絕對路徑,可以問你主頁提供商,也可以用最後的程式自己來檢測)。
假設你的 Perl 程式是放在 c:/apache/cgi-bin 下的,如果你要表示這個目錄的絕對路徑,除了上面說的 c:/apache/cgi-bin 外,你還可以用 . 來表示,因為你的程式就在當前目錄下的。其實這個問題和 DOS 下的 CD 命令類似的,你如果在 c:\windows\system32目錄下,現在要轉換到c:windows 下,那么你可以用絕對路徑命令:cd c:\windows,也可以用絕對路徑的相對表示命令:cd..
要注意的是,如果你用的是 PWS 或 IIS WEB 伺服器,那么路徑必須用絕對路徑來表示,而不能用
相對路徑來表示。
相對路徑:是從當前路徑開始的路徑,如當前路徑為C:\windows
要描述上述路徑,只需輸入入system32\cmd.exe 。
實際上,嚴格的相對路徑寫法應為.\system32\cmd.exe其中,.表示當前路徑,在通常情況下可以省略,只有在特殊的情況下不能省略。
假如當前路徑為c:\program files要調用上述命令,則需要輸入..\windows\system32\
cmd.exe其中,..為父目錄。當前路徑如果為c:\program files\common files則需要輸入..\..\windows\system32\cmd.exe另外,還有一種不包含盤符的特殊絕對路徑,形如\windows\system32\cmd.exe無論當前路徑是什麼,會自動地從當前盤的根目錄開始查找指定的程式。
LINUX作業系統
LINUX系統中 絕對路徑 以“/”為起始 例:/home/user1/abc.txt
相對路徑為 : home/user1/abc.txt
OS X作業系統
滑鼠右鍵點擊檔案,選擇顯示簡介可以查看檔案所在的目錄,這和windows上點擊路徑蘭結果一致,但使用起來不太方便,因為這隻顯示了檔案所在目錄的路徑,檔案的絕對路徑還需要加上檔案名稱
將檔案拖入瀏覽器,檔案路徑會顯示在地址欄
打開文本terminal程式,將檔案拖進去,路徑會自動列印出來
在應用程式資料夾里打開Automator,選擇檔案選單,新建一個服務
在左側操作欄找到拷貝至剪貼簿操作,拖到右側,有兩個地方需要修改,“服務”收到選定為檔案或資料夾,位於Finder,cmd+s保存,命名為Copy path,在Finder上隨便找一個檔案,滑鼠點擊右鍵,看看服務選項里是不是出現了Copy path選項,點擊之後檔案路徑就被複製到了剪貼簿
絕對路徑和相對路徑的比較
網路套用中絕對路徑的優點:
1、防止網站被惡意抄襲,使用絕對路徑,如果有人抄襲採集你的內容,裡面的連結還會指向你的網站。有些抄襲的比較懶,連裡面的連結一起抄了過去。
2、如果站長不能做301轉向,因而有網址規範化的問題,使用絕對路徑有助於連結指向選定的URL版本。
3、就算網頁被移動位置,裡面的連結還是指向正確的URL。
絕對路徑的缺點:
1、除非連結是動態插入的,不然沒辦法在測試伺服器上進行測試。因為裡面的連結將直接指向真正的域名URL,而不是測試伺服器中的URL。
2、除非連結是動態插入的,不然移動內容頁面將很困難。因為內容頁面位置發生變化,在其他頁面上的連結卻可能無法跟著變化,還指向原來的已經硬編碼的絕對路徑。