天天看點

Linux基礎指令---eject

eject

eject指令允許在軟體控制下彈出可移動媒體(通常是CD光牒、軟碟、錄音帶或Jaz或ZIP磁盤)。該指令還可以控制一些由某些裝置支援的自動彈出功能的多CD光牒轉換器,并關閉一些CD光牒驅動器的盤。

對應于的裝置被彈出。名稱可以是一個裝置檔案或挂載點,可以是一個完整的路徑,也可以是前面省略的“/dev”、“/media”或“/mnt”。如果未指定名稱,則使用預設名稱“cdrom”。

根據裝置是CD ROM、SCSI裝置、可移動軟碟還是錄音帶,有四種不同的彈出方法。預設情況下,彈出将按順序嘗試所有四種方法,直到成功為止。如果該裝置目前已安裝,則在彈出前将其解除安裝。

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

1 、文法 eject  -h eject [-vnrsfmqp]  [] eject [-vn]  -d eject [-vn]  -a  on|off|1|0 [] eject [-vn]  -c  slot [] eject [-vn]  -i  on|off|1|0 []    eject [-vn]  -t  [] eject [-vn]  -T  [] eject [-vn]  -x   [] eject [-vn]  -X  [] eject -V 2 、選項清單
選項 說明
-h | --help 顯示簡單的幫助文檔
-V | --version 顯示指令版本資訊,然後退出
-v | --verbose 執行指令的時候顯示詳細資訊,可以在指令行看到指令在幹什麼
-d | --default 顯示預設的裝置名字(cdrom)
-a on|1|off|0 這個選項控制自動彈出模式,隻有某些裝置才支援。如果是能這個開關,裝置在關閉的時候會自動彈出。
-c  使用此選項,可以從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 | --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
功能 指令
彈出預設裝置
彈出一個名字為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指令隻适用于支援四種彈出方法中的一種或多種方法的裝置。這包括大多數CD光牒驅動器(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    // 檢視是否有CD光牒挂載

/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) eject -v  r    // 彈出CD光牒 eject: trying to eject `/dev/sr0' using CD-ROM eject command eject: CD-ROM eject command succeeded

繼續閱讀