午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

/dev/tty文件在Unix操作系統(tǒng)中的妙用

瀏覽:35日期:2024-06-14 13:04:12

在Unix系統(tǒng)中,文件是其中最重要的資源。如標(biāo)準(zhǔn)輸出文件、標(biāo)準(zhǔn)輸入文件、標(biāo)準(zhǔn)錯(cuò)誤文件等等。不過(guò)這些文件普通用戶與系統(tǒng)工程師都需要用到。而在實(shí)際工作中,對(duì)于系統(tǒng)工程師來(lái)說(shuō),還需要掌握/dev/tty這個(gè)文件。

這個(gè)文件顧名思義,主要用來(lái)表示用戶的終端,但是它跟普通的終端又有差異。普通的終端是指一些硬件設(shè)備,如顯示器等等。通常情況下,標(biāo)準(zhǔn)輸出或者標(biāo)準(zhǔn)錯(cuò)誤流的文件都會(huì)輸出到終端中。但是,這些標(biāo)準(zhǔn)的輸入輸出往往不能夠輸入到/dev/tty文件中。而是需要通過(guò)重定向功能,把一些命令的輸出重定向到這個(gè)文件中。另外需要說(shuō)明的是,普通終端的話往往是每個(gè)用戶之間相互獨(dú)立的。也就是說(shuō),每個(gè)用戶的輸出彼此之間是互不干涉的。在用戶A的終端中不能夠看到用戶B的終端信息。但是/det/tty這個(gè)文件由其特殊性。這個(gè)終端文件可以由各個(gè)用戶共享。正是因?yàn)檫@個(gè)文件有這方面的特殊性,為此在實(shí)際工作中系統(tǒng)工程師經(jīng)常需要用到這個(gè)文件。

一、系統(tǒng)工程師常見需求描述及實(shí)現(xiàn)方案。

利用這個(gè)特殊文件,可以幫助系統(tǒng)工程師解決很多實(shí)際問(wèn)題。

1、利用這個(gè)文件來(lái)屏蔽不需要的結(jié)果信息。通常情況下,為了提高與用戶溝通界面的友好性,往往會(huì)在腳本程序中,利用echo命令向用戶顯示一些提示信息。如一個(gè)簡(jiǎn)單的計(jì)算器腳本程序,會(huì)提示用戶輸入相關(guān)的參數(shù),如“Put one number等等。有時(shí)候,還會(huì)在程序的開頭顯示一大堆的程序說(shuō)明。這毋庸置疑,可以提高腳本程序的可讀性。即方便了用戶的使用,而且別的系統(tǒng)工程師借助這些說(shuō)明也可以順利對(duì)其進(jìn)行功能上的調(diào)整與擴(kuò)展。不過(guò)這也會(huì)贊成一些工作上的困擾。如當(dāng)系統(tǒng)工程師調(diào)試腳本程序的時(shí)候,這些顯示的提示信息反而會(huì)增加系統(tǒng)工程師的困擾,會(huì)增加他們的閱讀量。因?yàn)榇藭r(shí)用戶終端上顯示的將士全部的信息,即包括對(duì)于應(yīng)用程序沒(méi)有實(shí)際價(jià)值的提示信息,也包括一些應(yīng)用程序執(zhí)行過(guò)程中的錯(cuò)誤信息。這顯然會(huì)給系統(tǒng)工程師閱讀錯(cuò)誤信息帶來(lái)一定的麻煩。另外如筆者談過(guò),系統(tǒng)工程師可以通過(guò)重定向符號(hào)把這個(gè)終端輸出的信息重定向到一個(gè)文件中。可是此時(shí)這個(gè)文件中也會(huì)顯示全部的信息。而這些信息大部分是系統(tǒng)工程師不需要看到的。系統(tǒng)工程師可能只需要一些相關(guān)的參數(shù)以及具體的執(zhí)行結(jié)果。如10*10=100。就這么簡(jiǎn)單,而不需要看到一大堆的提示說(shuō)明。而且如果這個(gè)文件中帶有這么多的無(wú)用信息,對(duì)于其他腳本程序來(lái)調(diào)用這個(gè)文件也不是很方便。遇到這種情況時(shí)該如何處理呢?其實(shí)系統(tǒng)工程師可以輕松的通過(guò)/dev/tty文件來(lái)過(guò)濾這些無(wú)用的提示信息。如只需要把腳本程序的運(yùn)行結(jié)果通過(guò)重定向服務(wù)重定向到/dev/tty文件中。在這個(gè)重定向的過(guò)程中,Unix系統(tǒng)的shell會(huì)采取一定的內(nèi)部處理機(jī)制,會(huì)忽略掉echo等命令。也就是說(shuō),只要把命令的標(biāo)準(zhǔn)輸出重定向到這個(gè)文件中,則利用echo命令設(shè)置的一些提示信息都會(huì)被忽略掉。此時(shí)在這個(gè)文件中,存儲(chǔ)的只有一些必要的運(yùn)行信息,如錯(cuò)誤或者警告信息等等。

2、當(dāng)作其他命令的參數(shù)。/dev/tty文件不僅可以用作終端設(shè)備來(lái)管理,而且這個(gè)文件還可以被用來(lái)當(dāng)作其他命令的參數(shù)。因?yàn)橐粋€(gè)終端就相當(dāng)于一個(gè)文件,為此在一些命令中如tee命令就可以拿這個(gè)文件當(dāng)作參數(shù)。Tee命令是一個(gè)分流命令,其主要用途就是把一個(gè)輸入流的一個(gè)副本保存到另外一個(gè)文件中。有時(shí)候這個(gè)特性非常有用。如現(xiàn)在系統(tǒng)工程師需要利用who命令來(lái)顯示Unix系統(tǒng)的當(dāng)前登錄用戶。同時(shí)希望把這個(gè)顯示結(jié)果保存到一個(gè)特定的文件中。如果沒(méi)有tee這個(gè)命令的話,則需要通過(guò)兩個(gè)步驟才能夠完成。首先需要利用who命令在當(dāng)前終端中顯示相關(guān)的結(jié)果。然后再利用who >重定向符號(hào)把這個(gè)命令的顯示結(jié)果保存到一個(gè)特定的文件中。如果一開始就采用who >進(jìn)行重定向的話,則在用戶終端將不會(huì)顯示任何信息。因?yàn)槠渲苯影呀Y(jié)果保存到了一個(gè)文件中。而現(xiàn)在系統(tǒng)工程師即希望把命令的結(jié)果輸出到終端中,同時(shí)保存到一個(gè)文件中,就需要利用tee命令,如who | tee userinfo.txt。(注意,如果利用了tee命令的話,在可以不再使用重定向符號(hào))。到這里為止沒(méi)有涉及到/dev/tty這個(gè)文件。who | tee userinfo.txt這個(gè)命令的顯示結(jié)果,只會(huì)顯示當(dāng)前登錄的用戶明細(xì),而不會(huì)顯示當(dāng)前有多少個(gè)用戶登錄到系統(tǒng)中。可能或許有人回說(shuō)只要數(shù)一下就可以了呀。確實(shí)數(shù)數(shù)的話可以實(shí)現(xiàn),但是計(jì)算機(jī)不會(huì)自己數(shù)呀。如果其他腳本程序需要用到當(dāng)前登錄用戶的總數(shù)而不需要明細(xì),那么該如何處理呢?此時(shí)就需要利用/dev/tty文件作為參數(shù)了。如可以使用who | tee /dev/tty |wc –l 命令。這個(gè)命令可以把當(dāng)前用戶的明細(xì)以及總共的用戶數(shù)量顯示出來(lái)。以上這個(gè)命令其實(shí)我們可以分為四個(gè)步驟。第一步系統(tǒng)先執(zhí)行who命令;第二步tee命令把who命令執(zhí)行對(duì)結(jié)果保存到/dev/tty文件中;第三步wc命令會(huì)統(tǒng)計(jì)/dev/tty文件中的行數(shù)。由于一個(gè)終端對(duì)相當(dāng)于一個(gè)文件,故利用wc命令可以統(tǒng)計(jì)出當(dāng)前系統(tǒng)登錄用戶的數(shù)量。第四步再把這個(gè)統(tǒng)計(jì)的結(jié)果顯示在終端上。所以說(shuō),把/dev/tty文件當(dāng)作其他命令的一個(gè)參數(shù),一個(gè)一起組合以實(shí)現(xiàn)一些比較復(fù)雜的功能。

二、/dev/tty文件使用的注意點(diǎn)。

在使用這個(gè)文件中,特別需要關(guān)注的是其權(quán)限文件。默認(rèn)情況下,普通用戶也可以實(shí)現(xiàn)這個(gè)文件,從而可能造成一定的安全隱患。如現(xiàn)在系統(tǒng)中有兩個(gè)普通用戶sa01與sa02。而他們兩個(gè)都是通過(guò)遠(yuǎn)程終端連入到Unix操作系統(tǒng)中。此時(shí)假設(shè)用戶sa01知道用戶sa02的用戶名以及登錄密碼。那么就可以假冒用戶sa02的身份,把一些命令的執(zhí)行結(jié)果重定向到/dev/tty文件中。同時(shí)利用tee命令進(jìn)行分流。此時(shí)對(duì)于用戶sa02時(shí),因?yàn)槠鋱?zhí)行相關(guān)的命令在終端上仍然可以正常顯示,不會(huì)產(chǎn)生什么懷疑。但是這個(gè)用戶其可能不知道,自己執(zhí)行命令的結(jié)果已經(jīng)保存到/dev/tty文件中。而其他用戶就可以通過(guò)這個(gè)文件來(lái)顯示在其用戶終端上所顯示的信息。這顯然會(huì)導(dǎo)致用戶SA02信息的泄漏,給其帶來(lái)一定的損失。

 /dev/tty這個(gè)文件可以有多個(gè)用戶同時(shí)使用,而且相互之間不會(huì)發(fā)生沖突。這個(gè)特性可以幫助系統(tǒng)工程師實(shí)現(xiàn)很多有用的功能。但是毋庸置疑的是,也造成了一定的安全隱患。為此對(duì)于大部分情況下,Unix系統(tǒng)工程師要對(duì)這個(gè)文件進(jìn)行一定的權(quán)限限制,如只有系統(tǒng)工程師(不一定是特權(quán)用戶)才可以使用這個(gè)文件。從而防止非法攻擊者利用這個(gè)文件來(lái)獲取其攻擊所必要的信息。

另外需要注意的是命令 >/dev/tty與命令> file連個(gè)命令其最終的結(jié)果有可能相同,也有可能不同。前者在把命令的顯示結(jié)果保存到/dev/tty文件中的時(shí)候,會(huì)過(guò)濾掉echo等命令設(shè)置的信息。而后者這個(gè)命令這會(huì)把顯示的結(jié)果一五一十的照搬到file文件中去。也就是說(shuō),如果在命令或者腳本程序中沒(méi)有echo等類似的命令設(shè)置信息的話在,則這兩個(gè)命令重定向文件后所保存文件的內(nèi)容是一致的。但是如果在命令或者腳本程序中有類似的提示命令的話,則兩個(gè)文件的顯示結(jié)果則會(huì)不同。為此系統(tǒng)工程師就需要根據(jù)自己的實(shí)際需要,來(lái)選擇合適的重定向文件,看看有否必要采用/dev/tty文件。筆者的態(tài)度是,只有在確實(shí)有必要的情況下,才能夠使用/dev/tty文件。因?yàn)檫@個(gè)文件是比較稀缺的,只由在缺其不可的情況下,才啟用這個(gè)文件。

標(biāo)簽: Unix系統(tǒng)
主站蜘蛛池模板: 91最新国产 | 色呦呦中文字幕 | 国产传媒一区 | 国产 夫妻 视频 绿帽 3p | 欧美一区二区在线观看视频 | 国产精品一区二区三区在线播放 | 色五婷婷| 午夜视频h | 国内特级毛片 | 亚洲天堂精品在线观看 | 欧美午夜精品久久久久久浪潮 | 亚洲免费在线播放 | 亚洲www| 欧美一区二区三区久久久 | 日韩中文字幕免费视频 | 欧美一级一区 | 成人av中文字幕 | 亚洲视频色 | 在线观看黄色小视频 | 天堂网视频在线 | 欧美a在线观看 | 国产一区二区高清视频 | 国产a级免费视频 | 国产一二三四视频 | 图片一区二区 | 性色av一区二区 | 国产a毛片 | 国产一级淫片久久久片a级 香港之夜完整在线观看 | 免费在线观看一区 | 亚洲国产精品18久久久久久 | 成人在线免费看 | 一区二区三区免费看 | 成年人黄色一级片 | 久久亚洲国产成人精品性色 | 成人在线黄色 | 成人羞羞国产免费 | 欲色天天 | 日本免费一区二区三区 | 亚洲视频在线一区 | 天堂中文在线观看 | 韩国演艺圈悲惨事件在线 |