chmod 大写X

大写执行权限X,加了怎么不显示呢

chmod(1) 手册页中对权限位的描述中提及到 rwxXst 六个权限标记, rwx 是几乎所有 Linux 初学者都会学到的,更进者会了解到 st 两个标记,但 X 却少有提起。所以大致了解了一下这个标记。

用一个最简单的 shell 脚本进行测试:

$ echo -e ‘#!/bin/sh\n\necho hello‘ > script.sh
$ ls -l script.sh
-rw-r--r-- 1 dawn users 22 Mar  3 23:52 script.sh
$ # 初始状态是没有执行权限的,这个时候 +X 试试
$ chmod a+X script.sh
$ ls -l script.sh
-rw-r--r-- 1 dawn users 22 Mar  3 23:52 script.sh
$ # 没有任何变化,并没有出现 X
$ ./script.sh
sh: ./script.sh: Permission denied
$ # 此时也无法执行
$ ########################################################
$ # u+x 后再试试
$ chmod u+x script.sh
$ ls -l script.sh
-rwxr--r-- 1 dawn users 22 Mar  3 23:52 script.sh
$ chmod a+X script.sh
-rwxr-xr-x 1 dawn users 22 Mar  3 23:52 script.sh
$ # 在 user 有执行权限的情况下执行 a+X 的效果和 a+x 相同

至此,我们已经可以对 X 有一些自己的了解了,笔者的想法是: chmod 中的 X 与 rwxst 不同,并不是真正意义的标识,而是 chmod 的一种行为,结合手册页中的解释,就是当文件是目录或对任意用户有执行权限的情况下,才设置执行权限位,即此时等价于 x,否则不改变执行权限。

所以,有了初步理解,我们就可以验证针对目录是否如此了。

$ mkdir -m 664 dir
$ ls -ld dir
drw-rw-r-- 2 dawn users 4096 Mar  4 00:09 dir
$ # 在该目录文件没有执行权限,此时尝试 a+X
$ chmod a+X dir
$ ls -ld dir
drwxrwxr-x 2 dawn users 4096 Mar  4 00:11 dir
$ # user、group 和 other 的执行权限成功被设置

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95576

(1)
涩葡桃涩葡桃
上一篇 2018-04-09
下一篇 2018-04-09

相关推荐

  • 马哥网络班第31期——第二周作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示
    2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示
    3、请使用命令行展开功能来完成以下练习
    (1)创建/tmp目录下的:a_c,a_d,b_c,b_d
    (2)创建/tmp/mylinux目录下的:
    4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息
    5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
    6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其他字符)的文件或目录
    7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录
    8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录
    9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22
    10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中
    11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中
    12、复制/etc目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中

    Linux笔记 2018-07-18
  • 脚本基础课后练习

    (1)编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小 #!/bin/bash echo “MY hostname is `hostname`”echo “My IPv4 address is `ifconfig …

    Linux笔记 2018-04-13
  • 追风筝的人

    IO重定向 管道 tr 用户管理 组管理 文件权限管理 文本处理工具
    Grep和正则表达式 扩展的正则表达式和VIM

    Linux笔记 2018-04-08
  • 笔记整理-软件包管理

      管理包工具: rpm  集包与工具于一身的管理器 获取途径: https://www.centos.org/download/ http://mirrors.aliyun.com http://mirrors.sohu.com http://mirrors.163.com   常见包的文件名组成: zlib -3.0-11.e17.x…

    Linux笔记 2018-04-22