80

I am mounting an ISO file, and looking at this tutorial. They use the command:

$ mount -o loop disk1.iso /mnt/disk

I'm trying to understand the use of -o loop. I have two questions:

  1. When I look at the long man page for mount, it takes time to find that -o option. If I do man mount | grep "-o" I get an error, and when I look in the file I do not find any info that "loop" is a command text for option -o. Where is that documented?

  2. Also, what is the "loop device" concept for mounting?

Vass
  • 5,371

3 Answers3

64

A loop device is a pseudo ("fake") device (actually just a file) that acts as a block-based device. You want to mount a file disk1.iso that will act as an entire filesystem, so you use loop.

The -o is short for --options.

And the last thing, if you want to search for "-o" you need to escape the '-'.

Try:

man mount | grep "\-o"
Klark
  • 816
  • 5
    With GNU grep, grep -e -o (-e says "next thing is the pattern no matter what it looks like) or grep -- -o (-- means stop looking for switches) work too. Of course feel free to use whatever works for you. – ephemient Dec 06 '10 at 00:26
  • 10
    You can also just type: man mount, and then you can use /-o to search for and highlight all instances of "-o" – Josh Dec 07 '10 at 14:21
  • Although this makes sense, it seems that providing the loop option is not required. – sherrellbc Aug 05 '16 at 15:49
46

Traditionally, UNIX systems have had various types of nodes in their filesystems:

  • directory
  • file
  • symlink
  • block device
  • character device
  • FIFO
  • UNIX domain socket

While there are now exceptions, generally block devices containing filesystems are mounted on directories.

Since you want to mount a file, you must first create a loop block device that is backed by the file. This can be done using losetup, but mount -o loop is a shortcut that handles that behind the scenes.

ephemient
  • 15,880
4

Loop device is a device driver that allows you to mount a file that acts as a block device (a loop device is not actually a device type, it's an ordinary file).

For example:

mount -o loop demo.img /mnt/DEMO/
ls -l /mnt/DEMO/

You can now look at the /mnt/DEMO subdirectory for the contents of the demo.