mount -o loop 回环设备相关【10bet】

来源:http://www.chinese-glasses.com 作者:Web前端 人气:96 发布时间:2020-03-16
摘要:d 目录 可以通过下列步骤创建一个虚拟文件系统并通过回环设备挂载: crw-rw-rw-1rootroot1,3Sep1120:33/dev/null /dev/zero设备表现为一个具有无限长度 0 字节的文件。Linux会为读取进程生成足够的

d 目录

可以通过下列步骤创建一个虚拟文件系统并通过回环设备挂载:

crw-rw-rw-1rootroot1,3Sep1120:33/dev/null

/dev/zero 设备表现为一个具有无限长度 0 字节的文件。Linux 会为读取进程生成足够的“0”字节返回。

$cat/dev/random|od-x

这时,你可以在系统中挂载这个光盘而无须插入原始的 CD-ROM 盘片。要挂载在 /mnt/cdrom 目录下:

/dev/pts

% od -t x1 /dev/urandom
0000000 62 71 d6 3e af dd de 62 c0 42 78 bd 29 9c 69 49
0000020 26 3b 95 bc b9 6c 15 16 38 fd 7e 34 f0 ba ce c3
0000040 95 31 e5 2c 8d 8a dd f4 c4 3b 9b 44 2f 20 d1 54
...
在程序中使用 /dev/random 的随机数非常简单。列表 6.1 展示了一个通过从 /dev/random 中读取的字节生成随机数的函数。请记住,/dev/random 会将读操作阻塞直到系统有足够的随机数提供给程序;如果对随机数的质量的要求不那么高而更多要求程序能快速执行,可以用 /dev/urandom 代替。

l 符号链接

mount -o loopback=/dev/loop0 /tmp/cdrom-image /mnt/cdrom

$echo"hahahaha"/dev/pts/0

特殊设备文件 /dev/random 和 /dev/urandom 提供了对 Linux 内核内置的随机数生成器的访问。

000000000000000000000000000000000000000

回环设备的使用与其它任何块设备相同。特别是,你可以在这个设备上创建文件系统并像普通的磁盘一样将它挂载在系统中。这样的一个将全部内容保存在一个普通文件中的文件系统,被称为虚拟文件系统(virtual file system)(译者注:这个用法并不常见。VFS 通常另有所指,如指代 Linux 内核中有关文件系统抽象的代码层次等)。

054772001b9c233878d12fc5cfa569189e1e1f9

这两个设备的区别将在 Linux 用尽已存储的随机数序列时体现出来。如果从 /dev/random 中读取一个很长序列的随机数而不产生任何输入事件(不碰键盘、不移动鼠标或做任何类似的事情),Linux 将会阻塞读取操作。只有当你提供了某些随机性给 Linux 时,系统才会生成更多随机数并返回给程序。

实际上在/dev下还有非常多的特殊文件,但是不一一介绍。以上特殊文件在一定场合下能帮助我们开发或者测试。

/* 返回MIN和MAX之间(包含MIN和MAX)的一个随机整数。从 /dev/random获得 随机性。 */

$echo"bianchengzhuji"/dev/full

程序要获得更好的随机数将依赖于来自于系统外的随机性。Linux 内核捕捉了一个非常好的随机性来源:你!通过测量用户输入事件(如击键或鼠标移动等)之间的时间差,Linux 可以生成一个非常好质量的、无法被预知的随机数序列。你可以通过访问 /dev/random 或 /dev/urandom 读取这个数列。读取得到的数据将是随机生成的字节。

000006039ec2285126c30eaea6715265e4a2dd9

int random_number (int min, int max)
{
   /* 在一个静态变量中存储打开/dev/random的文件描述符。这样我们就不需要在每次调用这个函数时都打开文件。*/
   static int dev_random_fd = -1;
   char* next_random_byte;
   int bytes_to_read;
   unsigned random_value;

来源:公众号【编程珠玑】作者:守望先生ID:shouwangxiansheng

 bytes_to_read -= bytes_read;
     next_random_byte += bytes_read;
   } while (bytes_to_read > 0);

p 管道

   /*通过运算,使随机数保持在正确范围内。*/
   return min + (random_value % (max - min + 1));
}
回环设备(loop-back devices)

0547620237b9a816348cb2a19724486028a3573

因为映像位于磁盘上,这个文件系统的速度将远胜于直接挂载自实际光驱的时候。请注意多数光盘使用的文件系统类型都是   iso9660。

/dev/zero

接下来要做的仅仅是将这个设备复制为一个文件——得到的文件将是被存在硬盘上的、这个 CD-ROM 内容的完整映像。例如:

这么几种文件。

可以通过下列步骤创建一个虚拟文件系统并通过回环设备挂载:

/dev/null

例如,你可以尝试利用 cp 命令这样写入 /dev/full:

c 字符设备

这时,你可以在系统中挂载这个光盘而无须插入原始的 CD-ROM 盘片。要挂载在 /mnt/cdrom 目录下:

$ls-al/dev/null

例如,尝试用 od 命令我们在这里使用 od 代替行为相当接近的、B.4 中的 hexdump 命令,因为 hexdump 会在没有数据时直接退出,而 od 会等待更多的输入。指定的 -t x1 擦书会提示 od 以十六进制格式输出文件内容。输出 /dev/random 的内容。每行输出将显示 16 个随机的字节。

文件简单介绍几种字符设备文件,它能在我们功能测试的时候提供很好的帮助。

/dev/full

00000002b07daac42f4e1fdfb622098870ee0af

#include <assert.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h>

$tty

回环设备的使用与其它任何块设备相同。特别是,你可以在这个设备上创建文件系统并像普通的磁盘一样将它挂载在系统中。这样的一个将全部内容保存在一个普通文件中的文件系统,被称为虚拟文件系统(virtual file system)(译者注:这个用法并不常见。VFS 通常另有所指,如指代 Linux 内核中有关文件系统抽象的代码层次等)。

/dev/random可以提供随机数据流,它保证数据的随机性,但是读取时会造成等待,例如

随机数设备

所以如果你有不需要的数据可以尽情的往这里写。

特殊设备
Linux 同时提供了多个并不对应于硬件的设备文件。这些设备的主设备号都是 1;这个主设备号对应于 Linux 内核的内存设备而非任何设备驱动。

$cat/dev/zero|od-x

回环设备( 'loopback device')允许用户以一个普通磁盘文件虚拟一个块设备。设想一个磁盘设备,对它的所有读写操作都将被重定向到读写一个名为 disk-image 的普通文件而非操作实际磁盘或分区的轨道和扇区。(当然,disk-image 必须存在于一个实际的磁盘上,而这个磁盘必须比虚拟的磁盘容量更大。)回环设备允许你这样使用一个普通文件。

$echo"shouwangxiansheng"/dev/null

回环设备以 /dev/loop0、/dev/loop1 等命名。每个设备可虚拟一个块设备。注意只有超级用户才有权限设置回环设备。

/dev/pts/0

/dev/null 文件,null 设备,是一个经常被用到的设备。它有两个用途;通常而言,你至少熟悉其中一个用途:

它的结果最前面是-,因此它是普通文件。

% ./hexdump /dev/zero
0x000000 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x000010 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x000020 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x000030 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
...
当您确信它将会无休止的继续运行下去请按下 Ctrl+C。

/dev/urandom

如果系统中有一个 IDE 接口的 CD-ROM 驱动器,使用前面说过的设备名如 /dev/hda。如果 CD-ROM 是 SCSI 接口的话,设备文件名可能是 /dev/scd0 之类。系统中也可能包含一个符号链接 /dev/cdrom 指向实际的光驱。请参考 /etc/fstab (译者注: 手册)查看系统实际使用的光驱对应的设备。

总结

回环设备(loop-back devices) 

本文由10bet发布于Web前端,转载请注明出处:mount -o loop 回环设备相关【10bet】

关键词:

最火资讯