新聞中心
在Linux系統(tǒng)中,設(shè)備文件是一個(gè)可以讓用戶和內(nèi)核直接進(jìn)行交互的特殊文件。它們可以是終端、串行接口、USB設(shè)備等等。當(dāng)用戶與設(shè)備進(jìn)行交互時(shí),設(shè)備文件會(huì)被打開(kāi),并保持打開(kāi)狀態(tài),直到用戶將其關(guān)閉為止。然而,在某些情況下,我們需要關(guān)閉設(shè)備文件,這篇文章將介紹如何在Linux上關(guān)閉設(shè)備文件。

10年積累的網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有鳳凰免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
之一步:查找打開(kāi)的設(shè)備文件
在關(guān)閉設(shè)備文件之前,我們需要確定哪些設(shè)備文件已經(jīng)被打開(kāi)。我們可以使用fuser命令來(lái)查看所有正在使用中的設(shè)備文件。比如,我們要查看串口設(shè)備/dev/ttyUSB0是否被打開(kāi):
sudo fuser -v /dev/ttyUSB0
執(zhí)行該命令的輸出應(yīng)該類似于下面的內(nèi)容:
USER PID ACCESS COMMAND
/dev/ttyUSB0: root 1229 F…. bash
從輸出可以看出,設(shè)備文件/dev/ttyUSB0已經(jīng)被shell中的bash進(jìn)程打開(kāi),并且進(jìn)程的PID為1229。
第二步:關(guān)閉設(shè)備文件
一旦我們確認(rèn)了設(shè)備文件被哪個(gè)進(jìn)程打開(kāi)了,我們可以使用命令kill來(lái)關(guān)閉設(shè)備文件。比如,如果我們要關(guān)閉串口設(shè)備/dev/ttyUSB0,我們可以執(zhí)行如下命令:
sudo kill -9 1229
執(zhí)行該命令的輸出應(yīng)該類似于下面的內(nèi)容:
USER PID ACCESS COMMAND
/dev/ttyUSB0: root 1229 F…. bash
USER PID ACCESS COMMAND
/dev/ttyUSB0: root 1229 ..c.. bash
從輸出可以看出,串口設(shè)備/dev/ttyUSB0原來(lái)被bash進(jìn)程打開(kāi),并且進(jìn)程的PID為1229。通過(guò)執(zhí)行kill -9 1229命令,我們成功地關(guān)閉了該設(shè)備文件。
在Linux系統(tǒng)中,設(shè)備文件是一個(gè)非常重要的組成部分。由于設(shè)備文件可以與內(nèi)核直接進(jìn)行交互,因此,在某些情況下,我們可能需要關(guān)閉設(shè)備文件。為了關(guān)閉設(shè)備文件,我們需要首先查找正在使用設(shè)備的進(jìn)程,然后使用kill命令關(guān)閉設(shè)備文件。當(dāng)然,我們?cè)陉P(guān)閉設(shè)備文件之前需要確保不會(huì)對(duì)其他用戶或進(jìn)程造成影響。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來(lái)專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220/dev/null 2>&1″>linux下這個(gè)命令是什么意思mount /dev/sd1 /mnt/u >/dev/null 2>&1
mount /dev/sdb1 掛載U盤(sdb1)到 mnt/下 ;
/mnt/u,mount /dev/sdb1 /mnt/u >/dev/null 2>&1
就是掛載mount /dev/sdb1設(shè)備到/mnt/u 下,其中dev/sdb1為設(shè)備名,/mnt/u 為掛載點(diǎn);>為輸出流重導(dǎo)向,將錯(cuò)誤導(dǎo)到/dev/null 內(nèi),dev/null為linux的“垃圾桶”。2>&1是用來(lái)判斷對(duì)錯(cuò)的!比如你的mnt/u,mount /dev/sdb1 /mnt/u 目錄或設(shè)備不存在或不正確!
祝你成功
來(lái)自:寒楓
mount /dev/sdb1 /mnt/u >/dev/null 2>&1這句話的意思是掛載sdb1(一般為
U盤
設(shè)備)設(shè)備到/mnt/u目錄,并將標(biāo)準(zhǔn)輸出及標(biāo)準(zhǔn)錯(cuò)誤輸出重定向到控設(shè)備文件。
” >/dev/null 2>&1 “常用來(lái)避免shell命令或者程序等運(yùn)行中有內(nèi)容輸出。
說(shuō)明:
(1)mount是磁盤掛載命令,用于掛載設(shè)備到目錄。
(2)>表示重定向到
(3)/dev/null表示linux的空設(shè)備文件
(4)2>&1表示標(biāo)準(zhǔn)錯(cuò)誤輸出重定向等同于標(biāo)準(zhǔn)輸出,這里的2表示標(biāo)準(zhǔn)錯(cuò)誤輸出,&1表示等同于1(標(biāo)準(zhǔn)輸出),因?yàn)橹皹?biāo)準(zhǔn)輸出已經(jīng)重定向到了空設(shè)備文件,所以標(biāo)準(zhǔn)錯(cuò)誤輸出也重定向到空設(shè)備文件。
其中(4)中的數(shù)字2,1說(shuō)明:
0:表示鍵盤輸入(stdin)
1:表示標(biāo)準(zhǔn)輸出(stdout),系統(tǒng)默認(rèn)是1
2:表示錯(cuò)誤輸出(stderr)
>/dev/null意思是吧標(biāo)準(zhǔn)輸出,輸出到/dev/null,/dev/null你可以理解成無(wú)底洞
2>&1意思就是把錯(cuò)誤輸出,輸出到標(biāo)準(zhǔn)輸出用的設(shè)備上,也就是/dev/null
整合意思就是執(zhí)行命令后,把所有的信息都不顯示出來(lái),哪怕是錯(cuò)誤信息也不顯示
你可以看看shell的重定向
mount /dev/sdb1 掛載U盤(sdb1)到 mnt/下 ;
/mnt/u,mount /dev/sdb1 /mnt/u >/dev/null 2>&1
就是掛載mount /dev/sdb1設(shè)備到/mnt/u 下,其中dev/sdb1為設(shè)備名,/mnt/u 為掛載點(diǎn);>為輸出流重導(dǎo)向,將錯(cuò)誤導(dǎo)到/dev/null 內(nèi),dev/null為linux的“垃圾桶”。2>&1是用來(lái)判斷對(duì)錯(cuò)的!比如你的mnt/u,mount /dev/sdb1 /mnt/u 目錄或設(shè)備不存在或不正確
你可以上這個(gè)網(wǎng)站查查
&
mount
如何在Linux下禁用鍵盤,觸摸板,鼠標(biāo)等輸入設(shè)備
都禁用了,你想怎么控制你機(jī)器呢
禁用后依舊可以遠(yuǎn)程管理
xinput 來(lái)禁用/啟用輸入設(shè)備。我經(jīng)常用 synclient 來(lái)關(guān)掉我的觸摸板, 或者用 xinput 來(lái)關(guān)閉我的筆記本鍵盤。
之一步我們需要先拿到設(shè)備的名字或者ID:
$ xinput list
? Virtual core pointerid=2
? ? Virtual core XTEST pointer id=4
? ? USB Optical Mouseid=8
? ? SynPS/2 Synaptics TouchPad id=7
? Virtual core keyboardid=3
? Virtual core XTEST keyboard id=5
? Sleep Button id=9
? Power Button id=10
? Video Bus id=11
? AT Translated Set 2 keyboardid=6
在這里觸摸板的名字是 ‘SynPS/2 Synaptics TouchPad’ ID是 7;
鍵盤的名字是 ‘AT Translated Set 2 keyboard’ ID是 6.
下一步我們要知道設(shè)備都有什么屬性:
$ xinput list-props ‘AT Translated Set 2 keyboard’
Device ‘AT Translated Set 2 keyboard’:
Device Enabled (127): 1
鍵盤只有一個(gè)屬性 ‘Device Enabled’ 他的值是 1,意思就是說(shuō)鍵盤是打開(kāi)狀態(tài)的。
我們來(lái)嘗試關(guān)掉它:
sleep 0.1 ; xinput set-prop ‘AT Translated Set 2 keyboard’ ‘Device Enabled’ 0 ; sleep 5 ; xinput set-prop ‘AT Translated Set 2 keyboard’ ‘Device Enabled’ 1
開(kāi)頭 sleep 0.1 的目的是要留出時(shí)間讓你執(zhí)行當(dāng)前命令時(shí)所敲的回車的按鍵(keypress)事件能夠完成, 我猜測(cè)當(dāng)你按下回車時(shí)命令就會(huì)執(zhí)行并把鍵盤禁用,但雀陵敏是按鍵彈起(keyup)還沒(méi)有被發(fā)送,所以X會(huì)以為你一直按這回車鍵。
另一個(gè)更簡(jiǎn)單的用法是用ID來(lái)進(jìn)行操作,這樣你就不頃枝需要輸入一大長(zhǎng)串的名字了:
sleep 0.1 ; xinput set-prop; sleep 5 ; xinput set-prop
鍵盤的ID是8, 屬性 ‘Device Enabled’ 的ID是127。 當(dāng)你用 list-props 列出設(shè)備屬性時(shí), 在屬性名后面的數(shù)字就是汪亮屬性的ID。 像 ‘Device Enabled’ 的ID總是 127,但是設(shè)備的ID就不一樣,它跟設(shè)備的連接時(shí)間有關(guān),一般越先連接的設(shè)備ID越小,之后會(huì)越來(lái)越大。
關(guān)于linux關(guān)閉設(shè)備文件的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都創(chuàng)新互聯(lián)科技公司主營(yíng):網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、小程序制作、成都軟件開(kāi)發(fā)、網(wǎng)頁(yè)設(shè)計(jì)、微信開(kāi)發(fā)、成都小程序開(kāi)發(fā)、網(wǎng)站制作、網(wǎng)站開(kāi)發(fā)等業(yè)務(wù),是專業(yè)的成都做小程序公司、成都網(wǎng)站建設(shè)公司、成都做網(wǎng)站的公司。創(chuàng)新互聯(lián)公司集小程序制作創(chuàng)意,網(wǎng)站制作策劃,畫冊(cè)、網(wǎng)頁(yè)、VI設(shè)計(jì),網(wǎng)站、軟件、微信、小程序開(kāi)發(fā)于一體。
網(wǎng)頁(yè)題目:如何在Linux上關(guān)閉設(shè)備文件?(linux關(guān)閉設(shè)備文件)
文章分享:http://m.5511xx.com/article/djpssgs.html


咨詢
建站咨詢
