cla*_*234 54 linux debian ls dotfiles
一路上我搞砸了我的 ls 命令,现在我在运行时得到了这个命令
$ ls -AhHl --color=auto
-rwxr-xr-x 1 clang clang 640 Mar 1 02:46 apple-touch-icon-precomposed.png
-rwxr-xr-x 1 clang clang 784 Jul 12 02:54 crossdomain.xml
-rwxr-xr-x 1 clang clang 1.2K Mar 1 02:46 favicon.ico
drwxr-xr-x 8 clang clang 4.0K Jul 12 23:50 .git
-rw-r--r-- 1 clang clang 17 Feb 29 19:48 .gitignore
-rwxr-xr-x 1 clang clang 1.4K Jul 12 02:54 humans.txt
Run Code Online (Sandbox Code Playgroud)
我做了什么让 ls 忽略点文件而是按第一个字母排序?
的输出locale:
$ locale
LANG=
LANGUAGE=
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=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)
slh*_*hck 51
?? 这个答案有点过时了。请查看其他答案,尤其是那些使用别名或
ls -v.
尝试添加
export LC_COLLATE="C"
Run Code Online (Sandbox Code Playgroud)
在您的点文件中,或将LC_ALL分配更改为:
export LC_ALL="C"
Run Code Online (Sandbox Code Playgroud)
这控制了字符级排序的工作方式——默认情况下是对内联点文件进行排序,这将sort首先列出点文件。
但是,请注意,这将基本上停止对所有区域设置感知实用程序的实际区域设置的支持。
更进一步,引用GNU Coreutils 手册(强调我的):
如果您使用非 POSIX 语言环境(例如,通过设置
LC_ALL为en_US),则sort 可能会产生与您习惯的排序不同的输出。在这种情况下,请将
LC_ALL环境变量设置为C. 注意设置只有LC_COLLATE两个问题。首先,如果LC_ALL也设置了则无效。其次,如果LC_CTYPE(或LANG,如果LC_CTYPE未设置)设置为不兼容的值,则它具有未定义的行为。例如,如果LC_CTYPEisja_JP.PCKbutLC_COLLATEis ,您会得到未定义的行为en_US.UTF-8。
小智 43
为了避免在没有真正需要的情况下进行任何系统范围的更改,您可以ls通过将别名添加到以下来更改当前用户的工作方式.bashrc:
alias ll='LC_COLLATE=C ls -alF'
这首先对点文件进行排序,允许正确处理(显示和排序)“不常见”字符集,如西里尔文。排序将区分大小写的唯一罪魁祸首。
来源:http : //ubuntuforums.org/showthread.php?t=816753
小智 16
ls(1) 联机帮助页列出了:
-v 文本中自然排序的(版本)数字
这似乎改变了句点的排序方式,并首先对点文件进行分组。我有:
alias ls='ls -vAF'
alias ll='ls -l'
Run Code Online (Sandbox Code Playgroud)
在我的 ~/.bashrc 中。
小智 10
环境
LC_ALL="C.UTF-8"
Run Code Online (Sandbox Code Playgroud)
对我来说很好用 - 元音变音和“ls -la”首先列出点文件。
| 归档时间: |
|
| 查看次数: |
19746 次 |
| 最近记录: |