如何首先列出带下划线的文件夹?

因此几乎每个人,在使用Ubuntu之前我使用的是Windows机器,而我在Windows中习惯的一件事就是使用下划线作为文件夹名称的第一个字符作为某种特殊标记,这样就可以了在命令行和文件资源管理器中首先出现在列表中。

例如,在我的eBooks文件夹(在Windows中)看起来像这样:

_read Book1.pdf Book2.pdf _reading Book3.pdf Book4.pdf Book5.pdf 

但是在Ubuntu的Nautilus中看起来像这样:

 Book4.pdf Book5.pdf _read Book1.pdf Book2.pdf _reading Book3.pdf 

发生的事情是,它完全忽略了下划线,它将“_read”视为“读取”,因此不会首先将其列为所希望的。

我已经尝试将环境变量LC_COLLATE设置为C.这有助于某种方式,因为它一起列出下划线,但最后,而不是在开头。

谢谢。

由于您尚未指定当前使用的区域设置,因此此解决方案假定您使用en_US.UTF-8作为默认设置。

您可以通过从命令行运行命令locale来检查这一点( Ctrl + Alt + t )。

例如:

 ~ $ locale LANG=en_US.UTF-8 LANGUAGE=en_US LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= 

影响文件排序顺序的变量称为LC_COLLATE

根据Ubuntu帮助页面 ,LC_COLLATE变量确定“字符串(文件名…)如何按字母顺序排序。在这里使用”C“或”POSIX“语言环境导致strcmp() – 类似排序顺序,可能是比语言特定的语言环境更好。“

排序顺序需要从LC_COLLATE="en_US.UTF-8"更改为LC_COLLATE=C

从命令行( Ctrl + Alt + t )输入:

update-locale LC_COLLATE=C

重要提示:您需要注销系统,然后重新登录才能使更改生效

再次运行locale命令,它应该显示已成功更改LC_COLLATE变量。 再次运行命令ls -l应反映此更改。

caja(我认为它之前的Nautilus)在Preferences中有一个选项可以在文件之前对文件夹进行排序。 那会有帮助吗?