红联Linux门户
Linux帮助

Linux文件颜色

发布时间:2014-07-13 10:03:37来源:红联作者:velcbo
今天,有个学弟问道:为什么Linux系统ls查看的时候,目录跟可执行文件,会带颜色。而且颜色都不一样。听到这个问题的时候,我想到我初学Linux的时候,同样的问题困扰了我很长时间。

记得上第一节Linux课程的时候,有人用vi编辑器打开的apache配置文件是带颜色的,而有的,比如我的就不带。其实,很简单的一问题,但是有很多人不了解,所以记录下,希望能帮助学弟们对Linux了解下。

首先我们来看为什么ls查是是带颜色的。

引用:
[root@shiyan1 etc]#
[root@shiyan1 etc]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'


可以运行alias这个命令查看,其实我们用的ls不是单纯的ls而且用别名改ls -l --color=auto如果想单纯运行ls可以在命令前面加\,而且有些时候,我们cp -fr覆盖一些东西的时候,老是提示是否覆盖,很麻烦,为什么会这样,看上面的cp就知道,别名搞的鬼,所以用\cp -fr就不出现提示了。还有有些文件比如:/usr/bin/在这个目录下我们可以看到一些命令显示红色。这又是为什么呢我们在ll看下

引用:
[root@shiyan1 bin]# ll sudo
---s--x--x. 2 root root 219272 6月 22 2012 sudo
[root@shiyan1 bin]#


用ll查看它的权限,发现属性里有个s这个s代表什么,其实这个s代表suid,用数字表示就是4,还有其他两个sgid用数字表示2,sbit用数字表示1,这个就像读(r或4)写(w或2)执行(x或1)。提到这个简单介绍下。suid加了这个属性(一般都是加给脚本或者命令),那么这个脚本或者命令普通用户也可以执行,比如,chmod 4755 /bin/ls 那么普通用户就可以用ls查看原来不可以查看的目录比如:/root/。而sgid一般加在目录,如果加在目录上,那么普通用户在这个目录下建立文件所属主是当前用户,而所属组为root。sbit呢,这个就一招让所有普通用户丧失可执行权限,就是普通用户对这个文件没有任何修改查看的权力。

剩下的就没什么可说的,什么链接文件,块文件,等等。这些没有特殊设置什么权限。单一颜色区分了。

作者:duyunlong
文章评论

共有 0 条评论