state命令
正常情况
[Ruby@pekpomacce00017 /]$ stat ‘(null)/build_completed.start‘; echo $?
stat: cannot stat ‘(null)/build_completed.start’: No such file or directory
1
异常情况
[Ruby@pekpomacce00017 /]$ stat ‘(null)/build_completed.start‘
stat: cannot stat ‘(null)/build_completed.start’: Permmsion denied
此命令将(null)识别为当前目录下的。
这是因为,当前用户,在当前目录没有写权限。stat命令没有权限。
stat、lstat、fstat之间的区别
1、fstat 函数:系统调用的是一个 ”文件描述符”,而另外两个则直接接收“文件路径”。文件描述符是我们用 open 系统调用后得到的,而文件全路径直接写就可以了。
2、stat 函数与 lstat 函数的区别: 当一个文件是符号链接时,lstat 函数返回的是该符号链接本身的信息;而 stat 函数返回的是该链接指向文件的信息。
常用linux错误代码含义,如下表所示:
名称 |
值 |
描述 |
EPERM |
1 |
操作不允许 |
ENOENT |
2 |
无此文件或目录 |
ESRCH |
3 |
无此进程 |
EINTR |
4 |
中断系统调用 |
EIO |
5 |
I/O 错误 |
ENXIO |
6 |
无此设备或地址 |
E2BIG |
7 |
参数列表过长 |
ENOEXEC |
8 |
执行文件错误 |
EBADF |
9 |
错误的文件数 |
ECHILD |
10 |
无子进程 |