Linux文件颜色


今天,有个学弟问道:为什么Linux系统ls查看的时候,目录跟可执行文件,会带颜色。而且颜色都不一样。听到这个问题的时候,我想到我初学Linux的时候,同样的问题困扰了我很长时间。

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

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

  1. [root@shiyan1 etc] 
  2. [root@shiyan1 etc]# alias  
  3. alias cp='cp -i' 
  4. alias l.='ls -d .* --color=auto' 
  5. alias ll='ls -l --color=auto' 
  6. alias ls='ls --color=auto' 
  7. alias mv='mv -i' 
  8. alias rm='rm -i' 
  9. 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看下

  1. [root@shiyan1 bin]# ll sudo 
  2. ---s--x--x. 2 root root 219272 6月  22 2012 sudo 
  3. [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呢,这个就一招让所有普通用户丧失可执行权限,就是普通用户对这个文件没有任何修改查看的权力。

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

相关内容

    暂无相关文章