Linux Commands Examples

A great documentation place for Linux commands

eject

eject removable media


see also : mount - umount

Synopsis

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


add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!

examples

0

Eject the default device:

eject

Eject a device or mount point named cdrom:

eject cdrom

Eject using device name:

eject /dev/cdrom

Eject using mount point:

eject /mnt/cdrom/

Eject 4th IDE device:

eject hdd

Eject first SCSI device:

eject sda

Eject using SCSI partition name (e.g. a ZIP drive):

eject sda4

Select 5th disc on multi-disc changer:

eject -v -c4 /dev/cdrom

Turn on auto-eject on a SoundBlaster CD-ROM drive:

eject -a on /dev/sbpcd


0
source
            
sudo eject /dev/dvd
0
source
            
eject /dev/sr0
0
source
            
while [ 1 = 1]
do
eject
eject -t
0
source

Ejecting SATA device in Linux

The solution is to spin down the drive via software before turning it off and unplugging it. The best way to do this is with a utility called scsiadd. This program can add and remove drives to Linux’s SCSI subsystem. Additionally, with fairly modern kernels, removing a device will issue a stop command, which is exactly what we’re looking for.

Run:

$ sudo scsiadd -p

which should print something like:

Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: SAMSUNG HD300LJ  Rev: ZT10
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
  Vendor: LITE-ON  Model: DVDRW LH-20A1L   Rev: BL05
  Type:   CD-ROM                           ANSI  SCSI revision: 05
Host: scsi5 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: WDC WD10EACS-00Z Rev: 01.0
  Type:   Direct-Access                    ANSI  SCSI revision: 05

Identify the drive you want to remove and then issue:

$ sudo scsiadd -r host channel id lun

substituting the corresponding values from the scsiadd -p output. For example, if I wanted to remove “WDC WD10EACS-00Zâ€, I would run:

$ sync & sudo scsiadd -r 5 0 0 0

If everything works, scsiadd should print:

Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: SAMSUNG HD300LJ  Rev: ZT10
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
  Vendor: LITE-ON  Model: DVDRW LH-20A1L   Rev: BL05
  Type:   CD-ROM                           ANSI  SCSI revision: 05

You can double-check the end of dmesg. You should see:

[608188.235216] sd 5:0:0:0: [sdb] Synchronizing SCSI cache
[608188.235362] sd 5:0:0:0: [sdb] Stopping disk
[608188.794296] ata6.00: disabled

At this point, the drive is removed from Linux’s SCSI subsystem and it should not be spinning. It’s safe to unplug and turn off.

0
source

Cannot mount USB after unsafe eject

Depending on what you want to do, you have a few options.

You can erase the content of the device and start again:

sudo mkfs.vfat -I /dev/sdb
sudo hdparm -z /dev/sdb
mkdir /tmp/x
sudo mount /dev/sdb /tmp/x

You can try checking the file system on /dev/sdb1, but based on comments from the op, it looks like it's a cdrom image, so it's read-only.

description

Eject allows removable media (typically a CD-ROM, floppy disk, tape, or JAZ or ZIP disk) to be ejected under software control. The command can also control some multi-disc CD-ROM changers, the auto-eject feature supported by some devices, and close the disc tray of some CD-ROM drives.

The device corresponding to <name> is ejected. The name can be a device file or mount point, either a full path or with the leading "/dev", "/media" or "/mnt" omitted. If no name is specified, the default name "cdrom" is used.

There are four different methods of ejecting, depending on whether the device is a CD-ROM, SCSI device, removable floppy, or tape. By default eject tries all four methods in order until it succeeds.

If the device is currently mounted, it is unmounted before ejecting.

command line options

-h

This option causes eject to display a brief description of the command options.

-v

This makes eject run in verbose mode; more information is displayed about what the command is doing.

-d

If invoked with this option, eject lists the default device name.

-a on|1|off|0

This option controls the auto-eject mode, supported by some devices. When enabled, the drive automatically ejects when the device is closed.

-c <slot>

With this option a CD slot can be selected from an ATAPI/IDE CD-ROM changer. Linux 2.0 or higher is required to use this feature. The CD-ROM drive can not be in use (mounted data CD or playing a music CD) for a change request to work. Please also note that the first slot of the changer is referred to as 0, not 1.

-i on|1|off|0

This option controls locking of the hardware eject button. When enabled, the drive will not be ejected when the button is pressed. This is useful when you are carrying a laptop in a bag or case and don’t want it to eject if the button is inadvertently pressed.

-t

With this option the drive is given a CD-ROM tray close command. Not all devices support this command.

-T

With this option the drive is given a CD-ROM tray close command if it’s opened, and a CD-ROM tray eject command if it’s closed. Not all devices support this command, because it uses the above CD-ROM tray close command.

-x <speed>

With this option the drive is given a CD-ROM select speed command. The speed argument is a number indicating the desired speed (e.g. 8 for 8X speed), or 0 for maximum data rate. Not all devices support this command and you can only specify speeds that the drive is capable of. Every time the media is changed this option is cleared. This option can be used alone, or with the -t and -c options.

-X

With this option the CD-ROM drive will be probed to detect the available speeds. The output is a list of speeds which can be used as an argument of the -x option. This only works with Linux 2.6.13 or higher, on previous versions solely the maximum speed will be reported. Also note that some drive may not correctly report the speed and therefore this option does not work with them.

-n

With this option the selected device is displayed but no action is performed.

-r

This option specifies that the drive should be ejected using a CDROM eject command.

-s

This option specifies that the drive should be ejected using SCSI commands.

-f

This option specifies that the drive should be ejected using a removable floppy disk eject command.

-q

This option specifies that the drive should be ejected using a tape drive offline command.

-p

This option allow you to use /proc/mounts instead /etc/mtab. It also passes the -n option to umount(1).

-m

This option allows eject to work with device drivers which automatically mount removable media and therefore must be always mount(1)ed. The option tells eject to not try to unmount the given device, even if it is mounted according to /etc/mtab or /proc/mounts.

-V

This option causes eject to display the program version and exit.

exit status

Returns 0 if operation was successful, 1 if operation failed or command syntax was not valid.

long options

All options have corresponding long names, as listed below. The long names can be abbreviated as long as they are unique.

-h --help
-v --verbose
-d --default
-a --auto
-c --changerslot
-t --trayclose
-T --traytoggle
-x --cdspeed
-X --listspeed
-n --noop
-r --cdrom
-s --scsi
-f --floppy
-q --tape
-V --version
-p --proc
-m --no-unmount

notes

Eject only works with devices that support one or more of the four methods of ejecting. This includes most CD-ROM drives (IDE, SCSI, and proprietary), some SCSI tape drives, JAZ drives, ZIP drives (parallel port, SCSI, and IDE versions), and LS120 removable floppies. Users have also reported success with floppy drives on Sun SPARC and Apple Macintosh systems. If eject does not work, it is most likely a limitation of the kernel driver for the device and not the eject program itself.

The -r, -s, -f, and -q options allow controlling which methods are used to eject. More than one method can be specified. If none of these options are specified, it tries all four (this works fine in most cases).

Eject may not always be able to determine if the device is mounted (e.g. if it has several names). If the device name is a symbolic link, eject will follow the link and use the device that it points to.

If eject determines that the device can have multiple partitions, it will attempt to unmount all mounted partitions of the device before ejecting. If an unmount fails, the program will not attempt to eject the media.

You can eject an audio CD. Some CD-ROM drives will refuse to open the tray if the drive is empty. Some devices do not support the tray close command.

If the auto-eject feature is enabled, then the drive will always be ejected after running this command. Not all Linux kernel CD-ROM drivers support the auto-eject mode. There is no way to find out the state of the auto-eject mode.

You need appropriate privileges to access the device files. Running as root or setuid root is required to eject some devices (e.g. SCSI devices).

The heuristic used to find a device, given a name, is as follows. If the name ends in a trailing slash, it is removed (this is to support filenames generated using shell file name completion). If the name starts with ’.’ or ’/’, it tries to open it as a device file or mount point. If that fails, it tries prepending ’/dev/’, ’/media/’ ,’/mnt/’, ’/dev/cdroms’, ’/dev/rdsk/’, ’/dev/dsk/’, and finally ’./’ to the name, until a device file or mount point is found that can be opened. The program checks /etc/mtab for mounted devices. If that fails, it also checks /etc/fstab for mount points of currently unmounted devices.

Creating symbolic links such as /dev/cdrom or /dev/zip is recommended so that eject can determine the appropriate devices using easily remembered names.

To save typing you can create a shell alias for the eject options that work for your particular setup.


see also

mount , umount , mount, umount
/usr/src/linux/Documentation/cdrom/


author

Eject was written by Jeff Tranter (tranter[:at:]pobox[:dot:]com) and is released under the conditions of the GNU General Public License. See the file COPYING and notes in the source code for details.

The -x option was added by Nobuyuki Tsuchimura (tutimura[:at:]nn.iij4u.or[:dot:]jp), with thanks to Roland Krivanek (krivanek[:at:]fmph.uniba[:dot:]sk) and his cdrom_speed command.

The -T option was added by Sybren Stuvel (sybren[:at:]thirdtower[:dot:]com), with big thanks to Benjamin Schwenk (benjaminschwenk[:at:]yahoo[:dot:]de).

The -X option was added by Eric Piel (Eric.Piel@tremplin-utc.net).

How can this site be more helpful to YOU ?


give  feedback