国际访客建议访问 Primers 编程伙伴 国际版站点 > Bash 教程 > mknod 以获得更好的体验。

# Bash 的 mknod 命令

mknod [OPTION]... NAME TYPE [MAJOR MINOR]

!subtitle:功能

创建块设备或字符设备文件。

!subtitle:类型

可执行文件(/usr/bin/mknod),属于 coreutils

!subtitle:参数

  • OPTION 选项:

    • -m, --mode=MODE - 设置文件的访问权限;默认为 a=rw - umask

    • -Z - 将 SELinux 安全上下文设为默认类型

    • --context[=CTX] - 将 SELinux 安全上下文设为 CTX

    • --help - 显示帮助

    • --version - 显示版本

  • NAME - 文件名

  • TYPE - 类型:

    • b - 块设备(有缓冲)

    • c - 字符设备(无缓冲)

    • u - 字符设备(无缓冲);同 c

    • p - 命名管道;同 mkfifo

  • MAJOR - 主版本号

  • MINOR - 次版本号

# 示例

$ sudo mknod my_block b 1 0     # 创建块设备
brw-r--r-- 1 root root 1, 0 Nov 18 13:18 my_block
$ sudo mknod my_char c 1 0      # 创建字符设备
crw-r--r-- 1 root root 1, 0 Nov 18 13:19 my_char

# 相关命令

命令 说明
touch 创建普通文件或刷新访问时间
mkdir 创建目录
mkfifo 创建命名管道
mktemp 创建临时文件或目录
link 创建硬链接
ln 创建硬链接或符号链接

# 推荐阅读

# 手册

MKNOD(1)                         User Commands                        MKNOD(1)

NAME
       mknod - make block or character special files

SYNOPSIS
       mknod [OPTION]... NAME TYPE [MAJOR MINOR]

DESCRIPTION
       Create the special file NAME of the given TYPE.

       Mandatory  arguments  to  long  options are mandatory for short options
       too.

       -m, --mode=MODE
              set file permission bits to MODE, not a=rw - umask

       -Z     set the SELinux security context to default type

       --context[=CTX]
              like -Z, or if CTX is specified then set the  SELinux  or  SMACK
              security context to CTX

       --help display this help and exit

       --version
              output version information and exit

       Both  MAJOR  and  MINOR  must be specified when TYPE is b, c, or u, and
       they must be omitted when TYPE is p.  If MAJOR or MINOR begins with  0x
       or  0X,  it is interpreted as hexadecimal; otherwise, if it begins with
       0, as octal; otherwise, as decimal.  TYPE may be:

       b      create a block (buffered) special file

       c, u   create a character (unbuffered) special file

       p      create a FIFO

       NOTE: your shell may have its own version of mknod, which  usually  su‐
       persedes the version described here.  Please refer to your shell's doc‐
       umentation for details about the options it supports.

AUTHOR
       Written by David MacKenzie.

REPORTING BUGS
       GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
       Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT
       Copyright  ©  2023  Free Software Foundation, Inc.  License GPLv3+: GNU
       GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
       This is free software: you are free  to  change  and  redistribute  it.
       There is NO WARRANTY, to the extent permitted by law.

SEE ALSO
       mknod(2)

       Full documentation <https://www.gnu.org/software/coreutils/mknod>
       or available locally via: info '(coreutils) mknod invocation'

GNU coreutils 9.4                 April 2024                          MKNOD(1)
本文 更新于: 2025-11-27 09:38:15 创建于: 2025-11-27 09:38:15