【Bash百宝箱】shell内建命令之times、umask、unset

来源:互联网 发布:mac上app store打不开 编辑:程序博客网 时间:2024/06/04 20:04

1、times

在shell中,内建(builtin)命令times,格式如下:

times

times命令用于显示shell及其子进程所使用的累积用户时间和系统时间,退出状态为0。

times命令用例如下(启动一个新的shell终端开始执行):

$ times0m0.024s 0m0.004s0m0.000s 0m0.000s$ times0m0.024s 0m0.004s0m0.000s 0m0.000s$ echo "sleep 2" > times.test$ times0m0.032s 0m0.004s0m0.000s 0m0.000s$ bash times.test $ times0m0.040s 0m0.004s0m0.000s 0m0.000s$ source times.test $ times0m0.044s 0m0.008s0m0.000s 0m0.000s$ unameLinux$ times0m0.044s 0m0.008s0m0.000s 0m0.000s$ man bash > /dev/null$ times0m0.052s 0m0.008s0m0.224s 0m0.028s$ man bash > /dev/null$ times0m0.052s 0m0.008s0m0.504s 0m0.068s$ ls > /dev/null$ times0m0.052s 0m0.012s0m0.504s 0m0.068s$ ls > /dev/null$ times0m0.056s 0m0.012s0m0.504s 0m0.068s$ times0m0.056s 0m0.012s0m0.504s 0m0.068s

2、umask

在shell中,内建(builtin)命令umask,格式如下:

umask [-p] [-S] [mode]

umask命令把shell中创建文件的掩码设置为mode,包括user(u)、group(g)和other(o)三种权限,文件权限为0777减去对应位置的掩码,例如,当前掩码为0002时,通过mkdir命令新建一个文件夹,该文件夹的权限为0775。mode可以是八进制,如”0012“,也可以是字符,如”u=rwx,g=rw,o=rx“,mode类似于命令chmod的参数。当不指定mode时,选项”-p“以八进制形式显示当前掩码,选项”-S“以字符形式显示当前掩码。

umask命令用例如下:

$ umask0002$ umask -pumask 0002$ umask -Su=rwx,g=rwx,o=rx

3、unset

在shell中,内建(builtin)命令unset,格式如下:

unset [-fv] [-n] [name ...]

unset命令用于删除shell中的变量和函数,选项”-f“删除函数,选项”-v“删除变量,不指定任何选项时默认删除变量。对于选项”-n“,用于变量为引用变量的情况,只删除变量name本身而不删除它引用的另一个变量,否则同时删除变量name本身和它引用的另一个变量,下面举例说明这种情况。

$ foo=123$ declare -n bar=foo$ echo $bar123$ unset bar$ echo $bar$ echo $foo$ foo=123$ declare -n bar=foo$ echo $bar123$ unset -n bar$ echo $bar$ echo $foo123

不能删除只读的变量和函数。

2 0
原创粉丝点击