日期:2014-05-16  浏览次数:20751 次

linux中隐藏文件不能隐藏的问题

/*********************************************************************
 * Author  : Samson
 * Date    : 08/23/2012
 * Test platform:
 *               GNU Linux version 2.6.29.4
 *               GNU bash, version 4.0.16(1)-release (i386-redhat-linux-gnu)

 * *******************************************************************/

最近在公司使用Solaris系统时,在终端执行ls命令,隐藏文件(文件名以.开头)也都显示出来了。很是纳闷,不是不应该显示出来的嘛。 开始还以为是什么配置文件属性的配置文件被修改了,结果一查资料,原来是别名捣的鬼。要去掉这个特性,先执行alias命令:

[samson@UFO /]$ alias
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls $LS_OPTIONS'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

一般会发现ls的别名里面有个LS_OPTIONS参数。在命令行中使用:echo $LS_OPTIONS,
[samson@UFO ~]$ echo $LS_OPTIONS
-A --color=auto
这个可以通过修改别名的方法去掉-A这个选项,-A这个选项就是显示除.(表示当前目录)和..(父目录)以外的当前目录下的所有文件或文件夹。
修改方法可如下:
alias ls='ls --color=auto'
再在命令行中执行ls命令就看不到隐藏文件了。但是这种修改只适用于当前tty,若新开终端并不会生效,所以这只是一种短期作用的修改,若是想要修改在整个系统中都生效,需要如下操作:
在/etc目录grep LS_OPTIONS会发现一些文件里面有这个参数定义。vi打开这些文件,把这些行里面的-A删除保存,然后重启一下终端就可以了。