可能不会,尽管这也可能让开发人员感到惊讶。这是摘自GNU 的 ls.c 的评论:
# /* Extensions only apply to regular files, apparently. */
Run Code Online (Sandbox Code Playgroud)
这是一个指向完整ls.c源代码的链接,您可以在其中找到相同的内容,尽管它可能不太好读。
值得注意的是,您可以根据目录的模式和/或根据其链接状态对目录的颜色进行一些更改。当然,这样的事情等于是为了记者而改变报告的内容,但我不是哲学家;所以这是你可能的一种方式:
mkdir t_not_other_writable
mkdir x_not_other_writable
chmod o+t t_not_other_writable
LS_COLORS='lc=:rc=:rs=:di=FG=BLD;CLR=BLUE :st=FG=REV;CLR=BLUE :' \
/usr/bin/ls --color=always -nFl
Run Code Online (Sandbox Code Playgroud)
drwxr-xr-x 1 1000 1000 0 Aug 7 14:37 FG=BLD;CLR=BLUE x_not_other_writable/
drwxr-xr-t 1 1000 1000 0 Aug 7 14:36 FG=REV;CLR=BLUE t_not_other_writable/
Run Code Online (Sandbox Code Playgroud)
为了确保这样的事情不是一个荒谬危险的想法,我确实与谷歌仔细检查了粘性位的作用:
粘滞位是在文件或目录上设置的权限位,仅允许文件/目录的所有者或 root 用户删除或重命名文件。没有其他用户被授予删除其他用户创建的文件的权限。
因此,如果我们谈论的是您的目录,而这些目录并不是您一开始就打算允许其他人删除的,那么可能不会造成任何伤害。
PS 如果您对$LS_COLORS那里的定义感到好奇,我在这里已经很好地(我希望) 介绍了它。我还粘贴了来自以下来源的更多评论,我希望您会发现 align 与输出将为您提供的非常好(对于那些麻烦也定义的内容,即):dircolors -p
# /* lc: Left of color sequence */
# /* rc: Right of color sequence */
# /* ec: End color (replaces lc+no+rc) */
# /* rs: Reset to ordinary colors */
# /* no: Normal */
# /* fi: File: default */
# /* di: Directory: bright blue */
# /* ln: Symlink: bright cyan */
# /* pi: Pipe: yellow/brown */
# /* so: Socket: bright magenta */
# /* bd: Block device: bright yellow */
# /* cd: Char device: bright yellow */
# /* mi: Missing file: undefined */
# /* or: Orphaned symlink: undefined */
# /* ex: Executable: bright green */
# /* do: Door: bright magenta */
# /* su: setuid: white on red */
# /* sg: setgid: black on yellow */
# /* st: sticky: black on blue */
# /* ow: other-writable: blue on green */
# /* tw: ow w/ sticky: black on green */
# /* ca: black on red */
# /* mh: disabled by default */
# /* cl: clear to end of line */
Run Code Online (Sandbox Code Playgroud)