1. 程式人生 > >徹底理解斜槓和反斜槓的區別

徹底理解斜槓和反斜槓的區別

## 前言 鑑於在Windows(開發環境)和Linux(部署環境)之中的路徑(斜槓和反斜槓)經常會進行混淆,所以專門寫一篇筆記來進行區分。大部分是按照部落格園那位老兄的思路進行編寫,並且結合另外一些人的想法,進行了整理和排版。 ![](http://img.linzworld.cn/img/20201009104022.png) ## 理解 先講講我的理解:**Windows由於自身的限制,在所有人都用正斜槓"/"的情況下,帶了個壞頭,用了反斜槓"\",萬惡之源。就像是Windows的第一個字母W的第一個筆畫,反斜槓\的寫法,倒退的作用。** 知乎上不同人的理解。 1. ” "/" 英文是forward slash, "\\" 是backward slash, 形象些比喻的話,“/"是一個人站立著向前傾倒->, 而"\\"是一個人站立著向後傾倒。“ ![img](https://images2015.cnblogs.com/blog/763943/201612/763943-20161214114849308-125765483.png) 2. 知乎使用者:“在絕大多數地方,用的都是/(slash),包括Mac/Linux,也包括URL。你唯一需要記住的是,**Microsoft這個怪雞在自己的作業系統裡面偏要用\(backslash),使得自己與眾不同**。 3. 評論區人才:“正斜槓/是一撇,反斜槓\是一捺”。 4. 我的理解:Windows由於自身的限制,帶了個壞頭,用了反斜槓,萬惡之源。就像是Windows的第一個筆畫,反斜槓的寫法,倒退的作用。 ## 不同作業系統的區別 1. Unix使用斜槓/作為路徑分割符,而Web應用最先是使用在Unix系統上面,所以目前所有的網路地址都採用斜槓/作為分隔符。Linux又稱升級版的Unix,所以路徑這方面跟Unix是大同小異的。 2. Windows由於**使用斜槓/作為DOS命令提示符的引數標誌了**,為了不混淆,所以採用反斜槓\作為路徑分隔符。所以目前**Windows系統上的檔案瀏覽器都是用反斜槓\作為路徑分隔符**。隨著發展,DOS系統已經被淘汰了,命令提示符也用得很少,**斜槓和反斜槓在大多數情況下可以互換**,沒有影響。 DOS命令提示符示例:dir /a (列出當前目錄所有檔案和目錄) ![](http://img.linzworld.cn/img/20201009010315.png) ## 結論 1. **統一用正斜槓"/",Windows和Linux都能識別**。 2. 網路路徑(瀏覽器位址列網址)使用 正斜槓/; ![](http://img.linzworld.cn/img/20201009012301.png) 3. Windows檔案瀏覽器上使用 反斜槓\; ![](http://img.linzworld.cn/img/20201009012222.png) 4. Windows本地路徑既能使用正斜槓,也能使用反斜槓。 5. 出現在htm url()屬性中的路徑,指定的路徑是網路路徑,所以必須使用 正斜槓/; ```html // 如果url後面用反斜槓,就不會顯示任何背景 ``` 6. 出現在普通字串的路徑,如果代表的是Windows檔案路徑,則使用 正斜槓/和 反斜槓\是一樣的;如果代表的是網路檔案路徑,則必須使用 正斜槓/; ```html // 本地檔案路徑,/ 和 \ 是等效的
// 網路檔案路徑,一定要使用 斜杆/ ``` 7. 單獨的一個反斜槓"\\"在程式設計中通常用於轉義字元,如\0表示“空字元”\r表示“回車”,\n表示“換行”等;所有通常要用到反斜槓時,要**用兩個反斜槓"\\\\"來表示一個反斜槓“\\”的含義**。 8. 而"\\\\"則表示反斜槓\的轉義字元,在程式設計中常用於表示反斜槓\不是普通的字元,而是路徑的分隔符。如用一個字串儲存儲存檔案的路徑時,路徑為F:\caffe\Temp\image.jpg;則用字串儲存時,應該寫為str=F:\\caffe\\Temp\\image.jpg;因為若不這樣表示,則反斜槓\將會當作普通字元,而非路徑的分隔符,可能與後面的字母對應上,發生了轉義字元的作用。 ## 參考資料 [正斜槓/和反斜槓\的區別 - 阿瑪尼迪迪 - 部落格園](https://www.cnblogs.com/codingmengmeng/p/6179822.html) [(2條訊息) 正斜槓和反斜槓的區別-CSDN論壇](https://bbs.csdn.net/topics/35