既生“/”,何生“\”斜杠的那些事
2024-06-09 加入收藏
大家好,我是小K,在今天的話題開始之前,我想讓大家猜一個問題:
問題:“/”這是正斜杠,還是反斜杠?
借一位大神的理解來說明:“/”是一個人站立著向前傾倒, 而“\”是一個人站立著向后傾倒。
為什么這倆貨那么像,感覺用途也差不多,就不能統(tǒng)一下?
今天我們一起聊聊他們的前世今生:
正斜杠 “/”
早期的Unix系統(tǒng)設(shè)計中,正斜杠 “/”被選定作為目錄分隔符。
/home/user/documents
這一選擇主要是由于斜杠在ASCII
字符集中位于更容易訪問的位置,
并且早期計算機(jī)系統(tǒng)的鍵盤布局也使其易于輸入。
反斜杠(\)在早期的鍵盤布局中通常需要使用Shift鍵或者位于較不顯眼的位置,這使得它在當(dāng)時的輸入操作中不如斜杠方便。
隨著互聯(lián)網(wǎng)的發(fā)展,蒂姆·伯納斯·李(Tim Berners-Lee
)在設(shè)計URL(統(tǒng)一資源定位符)時也選擇了使用正斜杠 “/”作為路徑分隔符,以保持與Unix文件系統(tǒng)的兼容性。
反斜杠 “\”
然而在MS-DOS系統(tǒng)中,反斜杠“\”被選定為目錄分隔符。
C:\Users\User\Documents
這一選擇的一個原因是當(dāng)時的操作系統(tǒng)需要與CP/M
操作系統(tǒng)兼容,而CP/M
使用反斜杠 “\”作為命令行參數(shù)的前綴。為了避免沖突,MS-DOS選擇了反斜杠作為目錄分隔符。
CP/M(Control Program for Microcomputers)
是由Gary Kildall
在1974年為Intel 8080/85
基于Zilog Z80
微處理器設(shè)計的一種早期操作系統(tǒng)。它在20世紀(jì)70年代末和80年代初非常流行,被廣泛用于早期的微型計算機(jī)上。
實際使用中的區(qū)別
用作目錄分割符
Unix(Linux、macOS和其他類Unix系統(tǒng)中),使用正斜杠 “/”;
/home/user/documents
在Windows操作系統(tǒng)中,使用反斜杠 “\”;
C:\Users\User\Documents
用作運(yùn)算符號
正斜杠 “/”,表示除法,“//”表示取整除;
反斜杠 “\”,表示轉(zhuǎn)義。比如 \n
是換行符。
包裹正則表達(dá)式
在Perl和JavaScript等語言中,正斜杠 “/” 用于包圍正則表達(dá)式。例如:/regex/
。
URL
在URL中,正斜杠 “/”用于分隔協(xié)議、域名和路徑。
https://www.google.com/
資源路徑(坑點?。。?/span>
在使用Windows環(huán)境開發(fā)時,出現(xiàn)在普通字符串的路徑,如果是windows文件路徑,則使用 正斜杠/ 和 反斜杠\ 是一樣的;
如果是網(wǎng)絡(luò)文件路徑,則必須使用 **正斜杠//**。
1 <img src=".\Image/maishu/1.jpg" /> // 本地文件路徑,/ 和 \ 是等效的
2 <img src="./Image\maishu\1.jpg" />
3 <img src="http://www.google.com/maishu/pic/1.jpg" /> // 網(wǎng)絡(luò)文件路徑,一定要使用 斜桿/
最后
**斜杠(/) 和反斜杠(\) **在不同操作系統(tǒng)中被選擇為目錄分隔符,主要原因包括字符在ASCII字符集中的位置、鍵盤布局的便捷性,以及歷史設(shè)計決策和兼容性需求。
我覺得讓大家理解這些背景有助于更好地理解不同操作系統(tǒng)的設(shè)計選擇和使用習(xí)慣。