open

更新时间:
2024-01-09
下载文档

open

打开或创建一个文件。

格式

open <filename> [flag | mode]

说明

[root@sylixos:/root]# help open           
open a file.
filename : file name
flag : O_RDONLY   : 00000000
       O_WRONLY   : 00000001
       O_RDWR     : 00000002
       O_APPEND   : 00000008
       O_SHLOCK   : 00000010
       O_EXLOCK   : 00000080
       O_ASYNC    : 00000040
       O_CREAT    : 00000200
       O_TRUNC    : 00000400
       O_EXCL     : 00000800
       O_SYNC     : 00002000
       O_NONBLOCK : 00004000
       O_NOCTTY   : 00008000
       O_CLOEXEC  : 00080000
mode : create file mode, eg: 0666
open [filename flag mode]
[root@sylixos:/root]# 

此命令可以用来打开或创建一个文件。

备注:

mode 参数只有 flag 设置为 O_CREAT(00000200)时,才会使用,表示创建文件的权限。

样例

files 命令作用为列出操作系统所有正在操作的文件信息。

[root@sylixos:/apps/test]# ls
hello.c
[root@sylixos:/apps/test]# open hello.c 2
open file return: 8 dev 170000 inode 37c8 size 18
[root@sylixos:/apps/test]# files
kernel filedes show (process filedes in /proc/${pid}/filedes) >>
 fd abn name                       type   drv
  3     /dev/console               orig    19 GLB STD_IN GLB STD_OUT GLB STD_ERR
  4     /dev/socket                socket  33
  5     /dev/socket                socket  33
  6     /dev/ttyS0                 orig    19
  7     /dev/input/xkbd            new_1   37
  8     /apps/test/hello.c         new_1   23
  9     /dev/hotplug               orig    12
[root@sylixos:/apps/test]# ls
hello.c
[root@sylixos:/apps/test]# open temp.txt 0666
open file return: 10 dev 170000 inode 37da size 0
[root@sylixos:/apps/test]# ls
hello.c  temp.txt
[root@sylixos:/apps/test]# files
kernel filedes show (process filedes in /proc/${pid}/filedes) >>
 fd abn name                       type   drv
  3     /dev/console               orig    19 GLB STD_IN GLB STD_OUT GLB STD_ERR
  4     /dev/socket                socket  33
  5     /dev/socket                socket  33
  6     /dev/ttyS0                 orig    19
  7     /dev/input/xkbd            new_1   37
  8     /apps/test/hello.c         new_1   23
  9     /dev/hotplug               orig    12
 10     /apps/test/temp.txt        new_1   23
[root@sylixos:/apps/test]#

字段说明:

字段(flags)说明
O_RDONLY只读模式
O_WRONLY只写模式
O_RDWR读写模式
O_APPEND追加模式
O_SHLOCK共享锁,允许多个进程以共享模式访问文件
O_EXLOCK独占锁,确保只有一个进程能够访问文件
O_ASYNC异步操作,用于启动异步IO操作
O_CREAT创建文件
O_TRUNC截断文件,如果文件存在,清空文件内容
O_EXCL独占使用,与 O_REAT 一起使用,确保文件不存在,从而避免覆盖已经存在的文件
O_SYNC同步写入,要求再写入文件时同步写入,确保文件立即写入物理存储
O_NONBLOCK非阻塞,确保文件操作是非阻塞,如果无法立即执行操作,则返回错误
O_NOCTTY不分配控制终端
O_CLOEXEC执行关闭,自动关闭文件描述符
文档内容是否对您有所帮助?
有帮助
没帮助