??????? 美國Linux服務(wù)器系統(tǒng)的文件類型分很多個(gè)不同類型,但是有部分美國Linux服務(wù)器用戶們不太了解這些文件類型的分類,本文小編就來介紹下美國Linux服務(wù)器系統(tǒng)其中幾個(gè)文件類型。
??????? 1、管道文件
??????? 管道分為匿名管道和命名管道,管道都是一端寫入、另一端讀取,屬于單方向數(shù)據(jù)傳輸,數(shù)據(jù)也都是直接在美國Linux服務(wù)器內(nèi)存中傳輸?shù)模艿朗沁M(jìn)程間通信的一種方式,例如父進(jìn)程寫,子進(jìn)程讀。
??????? 在美國Linux服務(wù)器shell中匿名管道就是一個(gè)管道符號(hào)“|”,例如ls | grep xxx,其中l(wèi)s對(duì)應(yīng)的進(jìn)程是這個(gè)獨(dú)立進(jìn)程組中的父進(jìn)程,grep對(duì)應(yīng)的進(jìn)程是子進(jìn)程,父進(jìn)程寫子進(jìn)程讀。在編程語言中,匿名管道是通過創(chuàng)建兩個(gè)美國Linux服務(wù)器文件句柄或文件描述符來實(shí)現(xiàn)的,一個(gè)文件句柄用于寫數(shù)據(jù),例如A寫入端,數(shù)據(jù)寫入A將自動(dòng)推入B中,另一個(gè)文件句柄用于讀數(shù)據(jù)。
??????? 對(duì)于命名管道,即有名稱的管道,命名管道將文件保留在美國Linux服務(wù)器文件系統(tǒng)中,它也稱為FIFO。雖然命名管道文件保留在文件系統(tǒng)中,但是這個(gè)文件只是使用命名管道的一個(gè)入口,在使用命名管道傳輸數(shù)據(jù)的時(shí)候,仍然是在美國Linux服務(wù)器內(nèi)存中進(jìn)行的,也就是說并不會(huì)因?yàn)楸A粼谖募到y(tǒng)上命名管道的效率就低了。
??????? 在shell中可以使用mknod命令或mkfifo命令創(chuàng)建命名管道,美國Linux服務(wù)器在寫某些特殊需求的shell腳本時(shí),命名管道非常有用。一般的管道都是單向通信的,無法實(shí)現(xiàn)雙向通信的功能,也就是只能一邊寫一邊讀,不能兩邊都能讀、寫。如果要實(shí)現(xiàn)雙向通信,可以創(chuàng)建兩根管道,或者使用更方便的套接字。
??????? 2、套接字Socket
??????? 套接字用來實(shí)現(xiàn)兩端通信,正如上面分析的,可以實(shí)現(xiàn)美國Linux服務(wù)器雙向管道的進(jìn)程間通信功能。不僅如此,套接字還能通過網(wǎng)絡(luò)實(shí)現(xiàn)跨主機(jī)的進(jìn)程間通信功能。套接字需要成對(duì)才有意義,也就是分為兩端,每一端都有用于讀、寫的文件描述符,相當(dāng)于兩根美國Linux服務(wù)器雙向通信的管道。
??????? 套接字根據(jù)協(xié)議族的方式分為兩大類:網(wǎng)絡(luò)套接字和Unix Domain套接字。當(dāng)然從美國Linux服務(wù)器協(xié)議族往下,套接字可細(xì)分為很多種類型,例如INET套接字可以分為TCP套接字、UDP套接字、鏈路層套接字、Raw套接字等等。其中網(wǎng)絡(luò)套接字是網(wǎng)絡(luò)編程的基礎(chǔ)和核心。
??????? 3、Unix Domain套接字
??????? 對(duì)于單機(jī)美國Linux服務(wù)器的進(jìn)程間通信,使用Unix Domain套接字比Inet套接字更好,因?yàn)閁nix Domain套接字沒有網(wǎng)絡(luò)通信組件,也就是少了很多網(wǎng)絡(luò)功能,更加輕量。
??????? Unix Domain套接字有兩個(gè)美國Linux服務(wù)器文件句柄,這兩個(gè)文件句柄都是同時(shí)可讀、可寫的句柄。進(jìn)程1向A寫入數(shù)據(jù),將自動(dòng)推送到B上,進(jìn)程2可從B上讀取從A寫入的數(shù)據(jù),同理進(jìn)程2向B中寫入數(shù)據(jù)將自動(dòng)推送到A上,進(jìn)程1可從A上讀取從B寫入的數(shù)據(jù)。
??????? 在編程語言中,創(chuàng)建Unix Domain Socket自然有對(duì)應(yīng)的函數(shù)輕松創(chuàng)建。對(duì)于bash shell,可以通過美國Linux服務(wù)器nc命令來創(chuàng)建,或者干脆使用兩個(gè)命名管道來實(shí)現(xiàn)對(duì)應(yīng)的功能。
??????? 4、網(wǎng)絡(luò)套接字
??????? 對(duì)于美國Linux服務(wù)器跨網(wǎng)絡(luò)的進(jìn)程間通信,需要使用網(wǎng)絡(luò)套接字。每個(gè)網(wǎng)絡(luò)套接字都由5部分組成,它們稱為套接字的5元組。格式如下:
protocol-協(xié)議 src_addr-源地址 src_port-源端口 dest_addr-目標(biāo)地址 dest_port-目標(biāo)端口
??????? 每端套接字在美國Linux服務(wù)器內(nèi)核空間都有兩個(gè)buffe,每一端都有recv buffer和send buffer。進(jìn)程1向自己的套接字的send buffer寫入數(shù)據(jù),將發(fā)送到對(duì)端的recv buffer中,然后對(duì)端的進(jìn)程2就可以從recv buffer中讀取數(shù)據(jù)。
??????? 但是在真正可以讀、寫網(wǎng)絡(luò)套接字之前,網(wǎng)路套接字還需要一些設(shè)置。美國Linux服務(wù)器服套接字創(chuàng)建socket函數(shù),創(chuàng)建后就會(huì)有一個(gè)文件句柄或文件描述符供讀、寫操作,還要綁定地址和監(jiān)聽端口,客戶端則只需要?jiǎng)?chuàng)建套接字后,直接使用connect函數(shù)向服務(wù)端套接字發(fā)起連接請(qǐng)求即可。
??????? 5、塊設(shè)備和字符設(shè)備
??????? 塊設(shè)備是硬件設(shè)備,通過隨機(jī)訪問固定大小的數(shù)據(jù)塊來區(qū)分。固定大小的chunk稱為塊block。美國Linux服務(wù)器最常見的塊設(shè)備是硬盤,但也存在許多其他塊設(shè)備,如軟盤驅(qū)動(dòng)器、藍(lán)光閱讀器和閃存。注意,這些都是掛載美國Linux服務(wù)器文件系統(tǒng)的設(shè)備,文件系統(tǒng)就像是塊設(shè)備的通用語言。
??????? 字符設(shè)備通過連續(xù)的流數(shù)據(jù)訪問,一個(gè)字節(jié)接著一個(gè)字節(jié)。美國Linux服務(wù)器典型的字符設(shè)備是終端和鍵盤。區(qū)分塊設(shè)備和字符設(shè)備最簡單的方法是看數(shù)據(jù)訪問的方式。能隨機(jī)訪問獲取數(shù)據(jù)的是塊設(shè)備,必須按字節(jié)順序訪問的是字符設(shè)備。
??????? 以上內(nèi)容就是部分美國Linux服務(wù)器系統(tǒng)文件類型的介紹,希望能幫助到有需要的美國Linux服務(wù)器用戶們。
??????? 現(xiàn)在夢(mèng)飛科技合作的美國VM機(jī)房的美國Linux服務(wù)器所有配置都免費(fèi)贈(zèng)送防御值 ,可以有效防護(hù)網(wǎng)站的安全,以下是部分配置介紹:
CPU | 內(nèi)存 | 硬盤 | 帶寬 | IP | 價(jià)格 | 防御 |
E3-1230v3 | 16GB | 500GB?SSD | 1G無限流量 | 1個(gè)IP | 900/月 | 免費(fèi)贈(zèng)送1800Gbps?DDoS防御 |
E3-1270v2 | 32GB | 500GB?SSD | 1G無限流量 | 1個(gè)IP | 1250/月 | 免費(fèi)贈(zèng)送1800Gbps?DDoS防御 |
E3-1275v5 | 32GB | 500GB?SSD | 1G無限流量 | 1個(gè)IP | 1350/月 | 免費(fèi)贈(zèng)送1800Gbps?DDoS防御 |
Dual?E5-2630L | 32GB | 500GB?SSD | 1G無限流量 | 1個(gè)IP | 1450/月 | 免費(fèi)贈(zèng)送1800Gbps?DDoS防御 |
??????? 夢(mèng)飛科技已與全球多個(gè)國家的頂級(jí)數(shù)據(jù)中心達(dá)成戰(zhàn)略合作關(guān)系,為互聯(lián)網(wǎng)外貿(mào)行業(yè)、金融行業(yè)、IOT行業(yè)、游戲行業(yè)、直播行業(yè)、電商行業(yè)等企業(yè)客戶等提供一站式安全解決方案。持續(xù)關(guān)注夢(mèng)飛科技官網(wǎng),獲取更多IDC資訊!