我有一个在Ubuntu中可见的Vista共享,但我将BASH颜色突出显示目录/文件与它是本地目录/文件相同。我该怎么做呢?
非常感谢!
答案 0 :(得分:2)
这不是bash,而是ls。环境变量LS_COLORS确定ls的着色行为。在我的机器上:
justin@information-density:~$ echo $LS_COLORS
no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.svgz=01;31:.arj=01;31:.taz=01;31:.lzh=01;31:.lzma=01;31:.zip=01;31:.z=01;31:.Z=01;31:.dz=01;31:.gz=01;31:.bz2=01;31:.bz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.rar=01;31:.ace=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.jpg=01;35:.jpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.aac=00;36:.au=00;36:.flac=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:
每个冒号分隔的说明符表示一种文件/目录,以及显示的颜色。这是how LS_COLORS specifications work的一个很好的概述。
答案 1 :(得分:0)
如果我正确记住,这是因为ls
查看确定文件类型(exec位,dir位等)的特殊位是特定于Linux风格的文件系统。要验证这一点,请在本地计算机上安装NTFS文件系统(或您在Samba上安装的任何类型),并查看是否从ls
获得相同的着色行为。
答案 2 :(得分:0)
当您挂载Windows共享时,它会为每个文件/目录提供相同的权限。 Windows与un * x的权限结构不同,因此默认情况下会将执行权限添加到每个文件中。 LS_COLOR的环境变量(由“ls”使用)为可执行文件提供绿色。
您可以更改装载选项中的umask设置,以便不设置执行标志:
mount -t smbfs -o username=USER,password=PASS,umask=111 //server/share /mnt/share
然后,文件将通常从扩展程序中获取下一个颜色优先级,这将带您获得所需的结果。