xref: /freebsd/sbin/mknod/mknod.8 (revision d933e97f9d7c919e68dc6aca4a6819a13ab3fbbf)
1.\" Copyright (c) 1980, 1991, 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\" 4. Neither the name of the University nor the names of its contributors
13.\"    may be used to endorse or promote products derived from this software
14.\"    without specific prior written permission.
15.\"
16.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26.\" SUCH DAMAGE.
27.\"
28.\"     @(#)mknod.8	8.2 (Berkeley) 12/11/93
29.\" $FreeBSD$
30.\"
31.Dd October 3, 2016
32.Dt MKNOD 8
33.Os
34.Sh NAME
35.Nm mknod
36.Nd build special file
37.Sh SYNOPSIS
38.Nm
39.Ar name
40.Nm
41.Ar name
42.Op Cm b | c
43.Ar major minor
44.Op Ar owner : Ns Ar group
45.Sh DESCRIPTION
46.Bf -symbolic
47The
48.Nm
49utility is deprecated on modern
50.Fx
51systems.
52.Ef
53.Pp
54The
55.Nm
56utility creates device special files.
57To make nodes manually, the arguments are:
58.Bl -tag -width indent
59.It Ar name
60Device name, for example
61.Pa /dev/da0
62for a SCSI disk or
63.Pa /dev/pts/0
64for pseudo-terminals.
65.It Cm b | c
66Type of device.
67If the
68device is a block type device such as a tape or disk drive which needs
69both cooked and raw special files,
70the type is
71.Cm b .
72All other devices are character type devices, such as terminal
73and pseudo devices, and are type
74.Cm c .
75.It Ar major
76The major device number is an integer number which tells the kernel
77which device driver entry point to use.
78.It Ar minor
79The minor device number tells the kernel which subunit
80the node corresponds to on the device; for example,
81a subunit may be a file system partition
82or a tty line.
83.It Ar owner : Ns Ar group
84The
85.Ar owner
86.Ar group
87operand pair is optional, however, if one is specified, they both must be
88specified.
89The
90.Ar owner
91may be either a numeric user ID or a user name.
92If a user name is also a numeric user ID, the operand is used as a
93user name.
94The
95.Ar group
96may be either a numeric group ID or a group name.
97Similar to the user name,
98if a group name is also a numeric group ID, the operand is used as a
99group name.
100.El
101.Pp
102Major and minor device numbers can be given in any format acceptable to
103.Xr strtoul 3 ,
104so that a leading
105.Ql 0x
106indicates a hexadecimal number, and a leading
107.Ql 0
108will cause the number to be interpreted as octal.
109.Pp
110The
111.Nm
112utility can be used to recreate deleted device nodes under a
113.Xr devfs 5
114mount point by invoking it with only a filename as an argument.
115Example:
116.Pp
117.Dl "mknod /dev/cd0"
118.Pp
119where
120.Pa /dev/cd0
121is the name of the deleted device node.
122.Sh COMPATIBILITY
123The
124.Xr chown 8 Ns - Ns
125like functionality is specific to
126.Fx .
127.Pp
128As of
129.Fx 4.0 ,
130block devices were deprecated in favour of character
131devices.
132As of
133.Fx 5.0 ,
134device nodes are managed by the device file system
135.Xr devfs 5 ,
136making the
137.Nm
138utility superfluous.
139As of
140.Fx 6.0
141device nodes may be created in regular file systems but such
142nodes cannot be used to access devices.
143.Sh SEE ALSO
144.Xr mkfifo 1 ,
145.Xr mknod 2 ,
146.Xr devfs 5 ,
147.Xr chown 8
148.Sh HISTORY
149A
150.Nm
151utility appeared in
152.At v4 .
153