linux中创建特殊文件mknod命令用法详解

linux中创建特殊文件mknod命令用法详解: 
函数用途: 
创建特殊文件。 
语法: 
只能由 root 用户或系统组成员运行 
mknod Name { b | c } Major Minor 
创建 FIFO(已命名的管道) 
mknod Name { p } 
描述: 
mknod 命令建立一个目录项和一个特殊文件的对应索引节点。第一个参数是 Name 项设备的名称。选择一个描述性的设备名称。mknod 命令有两种形式,它们有不同的标志。 
mknod 命令的第一种形式只能由 root 用户或系统组成员执行。在第一种形式中,使用了b 或 c 标志。b 标志表示这个特殊文件是面向块的设备(磁盘、软盘或磁带)。c 标志表示这个特殊文件是面向字符的设备(其他设备)。 
第一种形式的最后两个参数是指定主设备的数目,它帮助操作系统查找设备驱动程序代码,和指定次设备的数目,也就是单元驱动器或行号,它们是十进制或八进制的。一个设备的主要和次要编号由该设备的配置方法分配,它们保存在 ODM 中的 CuDvDr 类里。在这个对象类中定义了主要和次要编号以确保整个系统设备定义的一致性,这是很重要的。 
在 mknod 命令的第二种形式中,使用了 p 标志来创建 FIFO(已命名的管道)。 标志b 表示特殊文件是面向块的设备(磁盘、软盘或磁带)。 
c 表示特殊文件是面向字符的设备(其他设备)。 
p 创建 FIFO(已命名的管道)。 
示例(导出数据为dmp格式)#!/bin/ksh 
cd /arch 
mkdir data_exp 
cd data_exp 
mknod exp_pipe0 p 
exp hr/hr file=exp_pipe0 tables=data_history direct=y recordlength=65535 indexes=n triggers=n statistics=none constraints=n query='where id < 10206' log=data_history.log & 
compress < exp_pipe0 > data_history.dmp) 
rm exp_pipe0 
cat *.log | grep ORA_ 
cat *.log | grep EXP_ 
  c.创建虚拟设备(dev),日志记录的时候有的选项可能用到它们。在默认情况下,是使用/dev目录下的文件,但是由于我们需要把DNS限制到一个目录,所以必须完全把/dev下用到的文件(或者说设备)模拟过来才可以。 
   ls -lL /dev/zero /dev/null /dev/random 
  看到类似 
  crw-rw-rw-  1 root   root    1,  3 2003-09-15 /dev/null 
  crw-r--r--  1 root   root    1,  8 2003-09-15 /dev/random 
  crw-rw-rw-  1 root   root    1,  5 2003-09-15 /dev/zero 
  这样的,将其中的1,3这样的数字记录下来,这表示主设备号和次设备号(一般来说主设备号用来区分设备的种类;次设备号则是为了作唯一性区分,标明不同属性——注意,在unix系统中是把设备也当作文件来对待的),在redhat 9下,ls加不加-L参数都无所谓,但是在Solaris下则一定要加上才可以显示。 
  mknod dev/null c 1 3 
  mknod dev/zero c 1 5 
  mknod dev/random c 1 8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值