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/挂載安裝的。 |
功能 | 指令 |
彈出預設裝置 | |
彈出一個名字為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 |
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 |