ls -l 列表详解

使用ls -l命令查看目录下文件以及子目录的详细信息。

举例:

xyw@xyw-Eliot:~/test$ ls -l
总用量 48108
-rw------- 1 xyw xyw 19009993 11月  7 16:42 C++ Primer, Fifth Edition.pdf
-rw-rw-r-- 1 xyw xyw 27616196 11月  8 10:08 test3.zip
-rw------- 1 xyw xyw  2580864 11月  7 16:41 Time.Management.-.The.Manager's.Guide.to.Effective.Meetings.-.B.J.Streibel.(McGraw-Hill).-.2003.pdf
-rw------- 1 xyw xyw       70 11月  7 16:27 virus
-rw------- 1 xyw xyw    39767 11月  7 16:27 北邮校徽.jpg
第一行:总用量

该数值是目录下所有文件及目录列表第5个字段的和(以k为单位),也就是该目录的大小。

字段1:文件属性

文件属性字段由10个字母组成,第一个为“-”,表示为普通文件;为“d”,表示是一个目录(dirtectory的缩写);为“l”,表示是一个符号链接,类似于windows中的快捷键;

在UNIX类系统中,一个文件可以有多个文件名,一个文件的多个文件名之间互称为硬链接(hard link).这些文件头可以指向同一个文件,删除其中一个文件名并不能删除该文件,只有把指向该文件的所有硬链接都删除,这个文件所占用的空间才真正被释放,该文件才真正被删除.这和windows是有很大区别的,windows中不允许一个文件有两个以上文件名,如果存在这中情况,则被认为是文件系统错误。

开头为b的表示块设备文件(block),设备文件是普通文件和程序访问硬件设备的入口,是很特殊的文件.它的没有文件大小.
另外,如果第一个字母为c表示该文件是一个字符设备文件(character),一次传输一个字节的设备被称为字符设备,比如键盘,字符终端等,传输数据的最小单位为一个字节.一次传输数据为一整块的被称为块设备,比如硬盘,光盘等.最小数据传输单位为一个数据块(通常一个数据块的大小是512字节).

字段2:文件硬连接数或子目录数

如果一个文件不是目录,则这个字段表示这个文件具有的硬链接数,即这个文件有多少个文件名。举例:

总用量 2836
-rw-rw-r-- 1 xyw xyw      48  9月 12 09:15 list.txt
-rw-rw-r-- 1 xyw xyw   90112  8月 27 22:52 tcpdump中文手册.doc
-rw-rw-r-- 1 xyw xyw   39767 11月 26  2012 北邮校徽.jpg
-rw-rw-r-- 1 xyw xyw 2765381  9月  5 21:44 浪潮之巅.pdf
lsit.txt这个文件的第二个字段现在为1,表示它只有一个文件名,现在我用ln命令作一个指向该文件的硬链接:

ln list.txt list.txt.ln

总用量 2840
-rw-rw-r-- 2 xyw xyw      48  9月 12 09:15 list.txt
-rw-rw-r-- 2 xyw xyw      48  9月 12 09:15 list.txt.ln
-rw-rw-r-- 1 xyw xyw   90112  8月 27 22:52 tcpdump中文手册.doc
-rw-rw-r-- 1 xyw xyw   39767 11月 26  2012 北邮校徽.jpg
-rw-rw-r-- 1 xyw xyw 2765381  9月  5 21:44 浪潮之巅.pdf

现在lsit.txt的第二个字段为2,此时list.txt和list.txt.ln互为硬链接,他们指向同一个文件,无论修改哪一个文件,另一个也会作相同的变化。

xyw@xyw-Eliot:~/test$ ls -i list.txt list.txt.ln
663463 list.txt  663463 list.txt.ln
使用ls -i 查看文件的节点号,可以看出,二者文件节点号相同,表名二者指向的都是同一个文件。

如果已经知道某个文件有多个文件名,那么如何查找与它互为硬链接的这些文件呢?

方法:首先使用ls -i 查找该文件的节点号;再使用find 命令根据节点号找出所有互为硬链接的文件。举例:

xyw@xyw-Eliot:~/test$ ls -i list.txt
663463 list.txt
xyw@xyw-Eliot:~/test$ find -inum 663463
./list.txt.ln
./list.txt
如果是一个目录,则第二个字段表示该目录的子目录数。举例:

在test目录下新建一个目录test1,然后查看test1的第二个字段值:

xyw@xyw-Eliot:~/test$ mkdir test1
xyw@xyw-Eliot:~/test$ ls -l
总用量 2844
-rw-rw-r-- 2 xyw xyw      48  9月 12 09:15 list.txt
-rw-rw-r-- 2 xyw xyw      48  9月 12 09:15 list.txt.ln
-rw-rw-r-- 1 xyw xyw   90112  8月 27 22:52 tcpdump中文手册.doc
drwxrwxr-x 2 xyw xyw    4096 11月 12 18:42 test1
-rw-rw-r-- 1 xyw xyw   39767 11月 26  2012 北邮校徽.jpg
-rw-rw-r-- 1 xyw xyw 2765381  9月  5 21:44 浪潮之巅.pdf
第二个字段为什么是2呢,我们不是新建的一个空目录吗?因为每个目录都有一个指向它本身的子目录"."和指向它上级目录的子目录“..”,这两个默认子目录是隐藏的,我们可以通过ls -al命令发现它们。

xyw@xyw-Eliot:~/test$ cd test1/
xyw@xyw-Eliot:~/test/test1$ ls -al
总用量 8
drwxrwxr-x 2 xyw xyw 4096 11月 12 18:42 .
drwxrwxr-x 3 xyw xyw 4096 11月 12 18:42 ..
字段3:文件拥有者

字段4:文件拥有者所在的组

字段5:文件大小(字节)

如果是一个目录,则表示该目录的大小,而不是目录以及目录下文件的大小,这个要注意。例如:

test目录:

drwxrwxr-x  3 xyw xyw      4096 11月 12 18:42 test
4096个字节,而test文件夹以及目录下所有文件的大小为:2.9M

xyw@xyw-Eliot:~$ ls -l test
总用量 2844
-rw-rw-r-- 2 xyw xyw      48  9月 12 09:15 list.txt
-rw-rw-r-- 2 xyw xyw      48  9月 12 09:15 list.txt.ln
-rw-rw-r-- 1 xyw xyw   90112  8月 27 22:52 tcpdump中文手册.doc
drwxrwxr-x 2 xyw xyw    4096 11月 12 18:42 test1
-rw-rw-r-- 1 xyw xyw   39767 11月 26  2012 北邮校徽.jpg
-rw-rw-r-- 1 xyw xyw 2765381  9月  5 21:44 浪潮之巅.pdf
根据上文的介绍,我们知道总用量2844是test目录下的文件以及目录列表第5个字段的和,根据介绍,对于目录而言第5个字段是目录的大小而不是目录及其子目录所有文件的大小,所以如果我们向test1中添加文件,那么使用ls -l test所得的结果应该不会发生改变,实际测试:

xyw@xyw-Eliot:~$ ls -l test
总用量 2844
-rw-rw-r-- 2 xyw xyw      48  9月 12 09:15 list.txt
-rw-rw-r-- 2 xyw xyw      48  9月 12 09:15 list.txt.ln
-rw-rw-r-- 1 xyw xyw   90112  8月 27 22:52 tcpdump中文手册.doc
drwxrwxr-x 2 xyw xyw    4096 11月 12 19:00 test1
-rw-rw-r-- 1 xyw xyw   39767 11月 26  2012 北邮校徽.jpg
-rw-rw-r-- 1 xyw xyw 2765381  9月  5 21:44 浪潮之巅.pdf
xyw@xyw-Eliot:~$ ls test/test1/
xyw@xyw-Eliot:~$ cp Linux_101.pdf test/test1/
xyw@xyw-Eliot:~$ ls test/test1/
Linux_101.pdf
xyw@xyw-Eliot:~$ ls -l test
总用量 2844
-rw-rw-r-- 2 xyw xyw      48  9月 12 09:15 list.txt
-rw-rw-r-- 2 xyw xyw      48  9月 12 09:15 list.txt.ln
-rw-rw-r-- 1 xyw xyw   90112  8月 27 22:52 tcpdump中文手册.doc
drwxrwxr-x 2 xyw xyw    4096 11月 12 19:01 test1
-rw-rw-r-- 1 xyw xyw   39767 11月 26  2012 北邮校徽.jpg
-rw-rw-r-- 1 xyw xyw 2765381  9月  5 21:44 浪潮之巅.pdf
参考:http://hi.baidu.com/luyunwen/item/fedc5a1559f6a0f8ddeeca15

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值