Linux基礎命令---eject

eject

    eject指令允許在軟件控制下彈出可移動媒體(通常是光盤、軟盤、磁帶或Jaz或ZIP磁盤)。該命令還可以控制一些由某些設備支持的自動彈出功能的多光盤轉換器,並關閉一些光盤驅動器的盤。

    對應於<name>的設備被彈出。名稱可以是一個設備文件或掛載點,可以是一個完整的路徑,也可以是前面省略的“/dev”、“/media”或“/mnt”。如果未指定名稱,則使用默認名稱“cdrom”。    

    根據設備是CD ROM、SCSI設備、可移動軟盤還是磁帶,有四種不同的彈出方法。默認情況下,彈出將按順序嘗試所有四種方法,直到成功爲止。如果該設備目前已安裝,則在彈出前將其卸載。

    此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、語法

     eject  -h

    eject [-vnrsfmqp]  [<name>]

    eject [-vn]  -d

    eject [-vn]  -a  on|off|1|0 [<name>]

    eject [-vn]  -c  slot [<name>]

    eject [-vn]  -i  on|off|1|0 [<name>]

    eject [-vn]  -t  [<name>]

    eject [-vn]  -T  [<name>]

    eject [-vn]  -x  <speed> [<name>]

    eject [-vn]  -X  [<name>]

    eject -V

 

2、選項列表

選項

說明

-h | --help

顯示簡單的幫助文檔

-V | --version

顯示命令版本信息,然後退出

-v | --verbose

執行指令的時候顯示詳細信息,可以在命令行看到指令在幹什麼

-d | --default

顯示默認的設備名字(cdrom)

-a on|1|off|0

這個選項控制自動彈出模式,只有某些設備才支持。如果是能這個開關,設備在關閉的時候會自動彈出。

-c <slot> | --changerslot

使用此選項,可以從ATAPI/IDE CD-ROM轉換器中選擇CD插槽。使用此特性需要Linux2.0或更高版本。當一個更改請求工作的時候,無法使用CD-ROM驅動器(掛載的數據CD或播放音樂CD)。還請注意,轉換器的第一個插槽稱爲0,而不是1。

-i on|1|off|0

此選項可以鎖定彈出按鈕,使其不工作。當啓用時,當按下按鈕時,驅動器將不會彈出。這是有用的,當您攜帶筆記本電腦在一個袋子或箱子,不希望它彈出,如果該按鈕是無意中按下。

-t | --trayclose

有了這個選項,驅動器被賦予一個CD-ROM托盤關閉命令。並非所有設備都支持此命令。

-T | --traytoggle

如果CD-ROM托盤已經打開,那麼它將關閉;如果CD-ROM托盤已經關閉,那麼它將彈出。並非所有設備都支持此命令,因爲它使用了上面的CD-ROM托盤關閉命令。

-x <speed> | --cdspeed

使用此選項,CDROM驅動器可以進行選擇速度。速度參數是一個指示所需速度的數字(例如,8表示8X速度),或0表示最大數據速率。並非所有設備都支持此命令,而且您只能指定驅動器能夠達到的速度。每次媒體更改時,此選項將被清除。此選項可以單獨使用,也可以與-t和-c選項一起使用。

-X | --listspeed

顯示cdrom的可用速度。使用此選項,將探測CD-ROM驅動器以檢測可用的速度。輸出一個速度列表,可用作-x選項的參數。這隻適用於Linux2.6.13或更高版本,在以前的版本上只報告最高速度。還請注意,某些驅動器可能無法正確報告速度,因此選項不適用於它們。

-n | --noop

顯示所選的設備,但是不執行任何操作

-r | --cdrom

彈出 cdrom設備

-s | --scsi

彈出SCSI設備

-f | --floppy

彈出 floppy設備

-q | --tape

彈出 磁帶設備

-p | --proc

允許使用/proc/mounts代替/etc/mtab

-m | --no-umount

此選項允許eject與自動掛載可移動媒體的設備驅動程序一起工作,因此這些設備必須總是已掛載的。該選項告訴eject不要嘗試卸載給定的設備,即使它是根據/etc/mtab或/proc/掛載安裝的。

 

3、example

功能

指令

彈出默認設備

eject

彈出一個名字爲cdrom的設備或者掛載點

eject cdrom

使用設備名來彈出

eject /dev/cdrom

使用掛載點彈出

eject /mnt/cdrom

彈出第4個IDE設備

eject hdd

彈出第一個SCSI設備

eject sda

使用SCSI分區名稱彈出

eject sda4

在多盤交換機上選擇第5盤

eject –v –c4 /dev/cdrom

打開聲音放映機CD-ROM上的自動彈出功能

eject –a on /dev/sbpcd

 

4、說明

     eject指令執行成功之後會返回0,如果失敗就返回1。

eject指令只適用於支持四種彈出方法中的一種或多種方法的設備。這包括大多數光盤驅動器(IDE、SCSI和專有)、一些SCSI磁帶驅動器、Jaz驅動器、ZIP驅動器(並行口、SCSI和IDE版本)和LS 120可移動軟盤。用戶還報告說,在Sun SPARC和Apple Macintosh系統上,軟盤驅動器也取得了成功。如果彈出無法工作,很可能是對設備的內核驅動程序的限制,而不是彈出程序本身的限制。

-r、-s、-f和-q選項允許控制用於彈出的方法。可以指定多個方法。如果沒有指定這些選項,則會嘗試所有四個選項(在大多數情況下,這很好)。

eject並不總是能夠確定設備是否已安裝(例如,它是否有多個名稱)。如果設備名稱是一個符號鏈接,彈出將跟隨該鏈接並使用它所指向的設備。

如果eject確定該設備可以具有多個分區,則它將嘗試在彈出之前卸載該設備的所有已安裝分區。如果卸載失敗,程序將不會嘗試彈出媒體。

你可以彈出一張音頻CD。如果驅動器是空的,一些CDROM將拒絕打開托盤。有些設備不支持托盤關閉命令。

如果啓用了自動彈出功能,則在運行此命令後,驅動器將始終彈出。並不是所有的linux內核CDROM驅動程序都支持自動彈出模式,無法找到自動彈出模式的狀態。

您需要適當的權限才能訪問設備文件。要彈出某些設備(例如SCSI設備),需要以root或setuidroot的形式運行。

用於查找設備的啓發式方法(給定名稱)如下所示。如果名稱以尾隨斜槓結尾,則刪除它(這是爲了支持使用shell文件名完成生成的文件名)。如果名稱以“.”或“/”開頭,則嘗試將其作爲設備文件或掛載點打開。如果失敗,它會嘗試將‘/dev/’、‘/media/’、‘/mnt/’、‘/dev/cdroms’、‘/dev/rdsk/’、‘/dev/dsk/’和最後‘./’放在名稱前面,直到找到可以打開的設備文件或掛載點。安裝設備的程序檢查/etc/mtab。如果失敗,它還會檢查/etc/fSTAB以查找當前未掛載設備的掛載點。

建議創建符號鏈接,如/dev/cdrom或/dev/zip,以便eject可以使用容易記住的名稱來確定合適的設備。

要保存類型,可以爲特定設置工作的彈出選項創建shell別名。

 

5、實例

     1)沒有指定設備類型,直接彈出cdrom。此種情況下會依次嘗試所有的方式,直到彈出爲止。

[root@localhost ~]# eject v     //使用-v來顯示指令執行的過程

eject: using default device `cdrom'

eject: device name is `cdrom'

eject: expanded name is `/dev/cdrom'

eject: `/dev/cdrom' is a link to `/dev/sr0'

eject: `/dev/sr0' is not mounted

eject: `/dev/sr0' is not a mount point

eject: checking if device "/dev/sr0" has a removable or hotpluggable flag

eject: `/dev/sr0' is not a multipartition device

eject: trying to eject `/dev/sr0' using CD-ROM eject command  //嘗試第一種彈出方式

eject: CD-ROM eject command failed

eject: trying to eject `/dev/sr0' using SCSI commands   //嘗試第二種彈出方式

eject: SCSI eject succeeded

     2)使用“-r”選項,彈出cdrom

[root@localhost ~]# mount    //查看是否有光盤掛載

/dev/mapper/VolGroup-lv_root on / type ext4 (rw)

/dev/sr0 on /media/VBox_GAs_5.2.16 type iso9660 (ro,nosuid,nodev,uhelper=udisks,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=0500)

 

[root@localhost ~]# eject -v r    //彈出光盤

eject: using default device `cdrom'

eject: trying to eject `/dev/sr0' using CD-ROM eject command

eject: CD-ROM eject command succeeded

 

 

 

Copyright@david  [email protected]


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章