这些是我正在尝试的命令。如果我写
$ ls -ls
在Ubuntu终端中显示
4 -rw-r--r-- 1 27599 27599 978 Feb 13 18:25 README.txt
如果我写
$ ls -l
然后显示
-rw-r--r-- 1 27599 27599 978 Feb 13 18:25 README.txt
我很困惑为什么第一个命令显示数字“ 4”,而第二个却没有。怎么回事?
答案 0 :(得分:1)
在最一般的情况下,ls -l
和ls -ls
之间的区别在于ls -ls
将显示更多信息,因为s
是附加选项。让我们仔细看一下这些选项及其输出。
这是macOS上随机目录中的一个示例(因此在Ubuntu上情况可能略有不同)。
ls -l </ strong>
-l(小写字母“ ell”。)以长格式列出。 (请参阅下文。)如果输出到终端,则在长列表之前的一行上输出所有文件大小的总和。
ls -l
total 56
drwxr-xr-x 12 bhaugen staff 384 Feb 12 09:35 app
drwxr-xr-x 4 bhaugen staff 128 Feb 11 16:16 build
-rw-r--r-- 1 bhaugen staff 889 Feb 12 09:35 build.gradle
drwxr-xr-x 3 bhaugen staff 96 Oct 26 10:42 gradle
-rw-r--r-- 1 bhaugen staff 730 Oct 26 10:42 gradle.properties
-rwxr-xr-x 1 bhaugen staff 4971 Oct 26 10:42 gradlew
-rw-r--r-- 1 bhaugen staff 2404 Oct 26 10:42 gradlew.bat
-rw-r--r-- 1 bhaugen staff 347 Feb 12 09:34 local.properties
drwxr-xr-x 8 bhaugen staff 256 Feb 12 09:35 number-keyboard
-rw-r--r-- 1 bhaugen staff 58 Oct 26 10:42 settings.gradle
ls -s
-s显示每个文件实际使用的文件系统块数,以512字节为单位,其中部分单位四舍五入为 下一个整数值。如果输出到终端,则总和为 所有文件大小 在清单之前的一行上输出。环境变量BLOCKSIZE会覆盖512字节的单位大小
ls -s
total 56
0 app 0 build 8 build.gradle 0 gradle 8 gradle.properties 16 gradlew 8 gradlew.bat 8 local.properties 0 number-keyboard 8 settings.gradle
现在,让我们结合使用-l
和-s
选项!
ls -ls
ls -ls
total 56
0 drwxr-xr-x 12 bhaugen staff 384 Feb 12 09:35 app
0 drwxr-xr-x 4 bhaugen staff 128 Feb 11 16:16 build
8 -rw-r--r-- 1 bhaugen staff 889 Feb 12 09:35 build.gradle
0 drwxr-xr-x 3 bhaugen staff 96 Oct 26 10:42 gradle
8 -rw-r--r-- 1 bhaugen staff 730 Oct 26 10:42 gradle.properties
16 -rwxr-xr-x 1 bhaugen staff 4971 Oct 26 10:42 gradlew
8 -rw-r--r-- 1 bhaugen staff 2404 Oct 26 10:42 gradlew.bat
8 -rw-r--r-- 1 bhaugen staff 347 Feb 12 09:34 local.properties
0 drwxr-xr-x 8 bhaugen staff 256 Feb 12 09:35 number-keyboard
8 -rw-r--r-- 1 bhaugen staff 58 Oct 26 10:42 settings.gradle
如上所述,结合使用-l
和-s
选项时,您将获得长输出格式,包括每个文件的块大小。 -s
选项向您显示的是块大小,这就是为什么行以数字开头的原因。如果ls
命令显示各列的标题,真是太棒了,不幸的是,它没有显示。