exec、file、open、close、read、write、puts、gets、flush、seek、tell、glob、pwd、cd、exit、pid、registry
1、exec:程序的标准输出作为exec命令的值返回。然而如果程序向标准错误通道中书写内容或是以非0状态代码退出,exec就会报错。exec命令支持全套的I/O重定向和管道语法。每个进程通常有三个与之关联的I/O通道:标准输入、标准输出、以及标准错误输出。|代表管道、>代表输出、<代表输入,使用&来将标准错误输出合并到标准输出中,使用2>来讲标准错误输出单独分离出来。通过使用@来使用自己的I/O通道。
语法 | 说明 |
-keepnewline | (第一个变元)不要丢弃结果中尾部的换行符 |
| | 使一个进程的标准输出作为管道中另一个进程的标准输入 |
|& | 使标准输出和标准错误输出同时作为管道输出 |
<fileName | 从指定的文件接收输入 |
<@fileId | 从由fileId标识的I/O通道接收输入 |
<<value | 从给定的value接收输入 |
>fileName | 使用标准输出重写fileName |
2>fileName | 使用标准错误输出重写fileName |
>&fileName | 同时使用标准错误输出和标准输出重写fileName |
>>fileName | 将标准输出追加到给定的文件中 |
2>>fileName | 将标准错误输出追加到给定的文件中 |
>>&fileName | 同时使用标准错误输出和标准输出追加到指定的文件中 |
>@fileId | 将标准输出定向到由field标识的I/O通道 |
2>@fileId | 将标准错误输出定向到由field标识的I/O通道 |
>&@fileId | 同时将标准错误输出和标准输出定向到由fileId指定的I/O通道 |
& | 作为最后一个变元,它表示将管道放在后台执行 |
2、file:提供几种检测文件系统中文件状态的方法。
file atime name | 返回十进制字符串形式的存取时间 |
file attribute name? option? ?value? | 查询或设置文件属性 |
file copy ?-force? source destination | 将文件source拷贝到文件destination。source和destination可以是目录 |
file delete ?-force? name | 删除指定的文件 |
file dirname name | 返回文件name的父目录 |
file executable name | 如果name具有可执行权限,那么就返回1,否则返回0 |
file exitsts name | 如果文件存在就返回1,否则返回0 |
file extension name | 返回name中从最后一个点(即.)到结尾的部分。点包含在返回值中 |
file isdirectory name | 如果name是目录就返回1,否则就返回0 |
file isfile name | 如果name不是目录、符号连接或设备文件的话就返回1,否则就返回0 |
file join path path ... | 将路径名的各部分连接起来形成一个新的路径名 |
file istat name var | 将连接name的属性存到var中 |
file mkdir name | 创建目录name |
file mtime name | 返回十进制字符串形式的name的修改时间 |
file nativename name | 返回name的本机平台版本 |
file owned name | 如果当前用户是文件name的属主就返回1,否则返回0 |
file pathtype name | 为relative、absolute或driverelative |
file readable name | 如果name有可读权限则返回1,否则返回0 |
file readlink name | 返回符号连接name的内容 |
file rename ?-force? old new | 将名字old改名为new |
file rootname name | 返回除name的扩展名以外的所有其他内容(即,返回name中直到最后一个点为止的部分,不包括那个点) |
file size name | 返回name的字节数 |
file split name | 将name分解为各个路径组成部分 |
file stat name var | 将name的属性存储在数组var中 |
file tail name | 返回name的最后一个路径组成部分 |
file type name | 返回类型标识符,有file、directory、characterSpectial、blockSpectial、fifo、link或socket |
file writable name | 如果name具有可写权限就返回1,否则返回0 |
3、对I/O命令的总结
命令 | 说明 |
open what ?access? ?permissions? | 返回打开文件或管道的通道ID |
puts ?-nonewline? ?channnek? string | 输出一个字符串 |
gets channel ?varname? | 读取一行信息 |
read channel ?numBytes? | 读取numBytes个字节,或所有数据 |
read -monewline channel | 读取所有的字节并丢弃最后的\n |
tell channel | 返回定位偏移量 |
seek channel offset ?origin? | 设置定位偏移量,origin为start、current或end |
eof channel | 查询文件结束状态 |
flush channel | 输出通道缓冲区中的数据 |
close channel | 关闭一个I/O通道 |