Linux基礎命令---eject

一生有你llx發表於2018-10-22

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



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29270124/viewspace-2216979/,如需轉載,請註明出處,否則將追究法律責任。

相關文章