ls命令
1.0、参考
1.1、ls命令的作用

列出指定目录的文件或者符合规则的文件。

1.2、ls命令的使用格式
ls [option]... [FILE]...

如果不指定文件或者文件夹的路径,那么就是指当前文件夹。

此命令有非常多的参数。查看该命令的详细使用说明:

man ls

该命令的默认使用方式:

1.2.1、-a

列出所有的文件。包括隐藏文件、隐藏文件夹。

示例:

1.2.2、-A

列出所有的文件,除去.和..(.表示当前目录,..表示父目录)。包括隐藏文件、隐藏文件夹。

示例:

1.2.3、-l

详细列出指定文件的信息。

示例:

这个参数是用的最多的,看懂这个输出结果非常关键。

1.2.4、-h

当指定了-l参数时候,会给出文件的大小,如果同时指定了该参数, 那么文件的大小会带上单位(K、M、G等),以可读的方式展现(human)。

示例:

1.4、通配符

指定的文件中,可以包含通配符。

通配符作用
*匹配0个或多个任意字符
?匹配1个任意字符
[字符集]匹配字符集中的1个字符

示例:

ls *.doc
ls 0?.doc
ls [0-9][0-9].doc
1.5、颜色设置

在使用UbuntuGNU/Linux系统的桌面版本的时候, 在bash中使用ls命令的时候, 显示出来的内容五颜六色,文件夹、普通文件、可执行文件、连接等之间的颜色是不同的,如下:

但是在macOS上使用bash的时候,却都是白色的,如下:

这其实是可以设置的。不过,设置方法在macOS上与在GNU/Linux上不一样,并且, 在GNU/Linux上通过man ls竟然查不到相关说明, 在macOS上通过man ls可以查看到详细的说明。

1.5.1、在macOS上对ls命令结果的颜色设置

首先,确保你的TERM这个环境变量的值是xterm-256color或者xterm-color, 你可以通过echo $TERM查看这个环境变量的值,如果不是这两个值中的其中一个,那就要进行设置了,一般不需要设置的。

如果你使用的是默认的终端,设置方法如下:

如果你使用的iTerm2,设置方法如下:

1.5.1.1、方案1

设置CLICOLOR环境变量的值为1

export CLICOLOR=1

效果如下:

1.5.1.2、方案2

ls -G代替ls

alias ls='ls -G'

效果同上。

1.5.1.3、方案3

设置CLICOLOR环境变量的值为1,并且设置LSCOLORS的值为如下:

export CLICOLOR=1
export LSCOLORS=gxfxaxdxcxegedabagacad

效果如下:

LSCOLORS的值中共22个字母,每两个字母一组,一共11组,按照先后顺序,分别对以下的文件类型进行设置:

  • directory
  • symbolic link
  • socket
  • pipe
  • executable
  • block special
  • character special
  • executable with setuid bit set
  • executable with setgid bit set
  • directory writable to others, with sticky bit
  • directory writable to others, without sticky bit

每一组的2个字母分别表示前景色后景色

下面是字母对应的颜色:

  • a 黑色
  • b 红色
  • c 绿色
  • d 棕色
  • e 蓝色
  • f 洋红色
  • g 青色
  • h 浅灰色
  • A 黑色粗体
  • B 红色粗体
  • C 绿色粗体
  • D 棕色粗体
  • E 蓝色粗体
  • F 洋红色粗体
  • G 青色粗体
  • H 浅灰色粗体
  • x 系统默认颜色