linux下ls-l命令(即ll命令)查看⽂件的显⽰结果分析
在linux下使⽤“ls -l”或者“ls -al”或者“ll”命令查看⽂件及⽬录详情时,shell中会显⽰出好⼏列的信息。平时也没怎么注意过,今天忽然⼼⾎来潮想了解⼀下,于是整理了这篇博客,以供参考:
⾸先给出⼀张典型的显⽰结果:
linux查看当前文件夹内容
下⾯对其中的每⼀列进⾏详细的分析:
⼀、⽂件类型
表⽰该⽂件的类型:
“-”表⽰普通⽂件;
“d”表⽰⽬录;
“l”表⽰链接⽂件;
“p”表⽰管理⽂件;
“b”表⽰块设备⽂件;
“c”表⽰字符设备⽂件;
“s”表⽰套接字⽂件;
⼆、⽂件属性
以back_init⽂件为例,其属性可分为三段:[rwx][rwx][r-x],其中:
第⼀段表⽰⽂件创建者/所有者对该⽂件所具有的权限,第⼆段表⽰创建者/所有者所在的组的其他⽤户所具有的权限,第三段表⽰其他组的其他⽤户所具有的权限。
r(Read,读取权限):对⽂件⽽⾔,具有读取⽂件内容的权限;对⽬录来说,具有浏览⽬录的权限。
w(Write,写⼊权限):对⽂件⽽⾔,具有新增、修改⽂件内容的权限;对⽬录来说,具有删除、移动⽬录内⽂件的权限。
x(eXecute,执⾏权限):对⽂件⽽⾔,具有执⾏⽂件的权限;对⽬录来说,该⽤户具有进⼊⽬录的权限。
另外,这⾥还有2个很特殊的属性,平时不怎么常见,这⾥也顺带解释⼀下:
s或S(SUID,Set UID):可执⾏的⽂件搭配这个权限,便能得到特权,任意存取该⽂件的所有者能使⽤的全部系统资源。请注意具备SUID权限的⽂件,⿊客经常利⽤这种权限,以SUID配上root帐号拥有者,⽆声⽆息地在系统中开扇后门,供⽇后进出使⽤。
t或T(Sticky):/tmp和 /var/tmp⽬录供所有⽤户暂时存取⽂件,亦即每位⽤户皆拥有完整的权限进⼊该⽬录,去浏览、删除和移动⽂件。
综合起来可得,对于back_init⽂件,其创建者/所有者具有可读可写可执⾏的权限,其创建者/所有者所在的组的其他⽤户具有可读可写可执⾏的权限,其他组的其他⽤户则具有可读可执⾏但不可写的权限。
三、⽬录/链接个数
对于⽬录⽂件,表⽰它的第⼀级⼦⽬录的个数。注意此处看到的值要减2才等于该⽬录下的⼦⽬录的实际个数。
⽐如这⾥的include⽬录下,其实是没有⼦⽬录的,所以应该是0,但是它这⾥却显⽰2,这是因为要加上.⽬录和..⽬录。在linux下,.⽬录表⽰当前⽬录,..⽬录表⽰上⼀级⽬录。
这也可以解释上图中第⼀⾏的.⽬录下的3和第⼆⾏..⽬录下的26。因为当前⽬录下有⼀个include⽬录,所以加上.⽬录和..⽬录这2个⽬录就等于3,所以第⼀⾏会显⽰3。⽽上⼀级⽬录共有24个⽬录,加上上⼀级⽬录的.⽬录和..⽬录这2个⽬录,所以这⾥的第⼆⾏显⽰的是26。
对于其他⽂件,表⽰指向它的链接⽂件的个数。
四、所有者及组
表⽰该⽂件的所有者/创建者(owner)及其所在的组(group)。
五、⽂件⼤⼩
如果是⽂件,则表⽰该⽂件的⼤⼩,单位为字节。
如果是⽬录,则表⽰该⽬录符所占的⼤⼩,并不表⽰该⽬录下所有⽂件的⼤⼩。
六、修改⽇期
该⽂件最后修改的⽇期时间。
七、⽂件名称
⽂件名,⽆需多说。
⼋、字体颜⾊
在⼤多数的linux shell窗⼝中,还能⽤颜⾊来区分不同⽂件的属性:
灰⽩⾊表⽰普通⽂件;
亮绿⾊表⽰可执⾏⽂件;
亮红⾊表⽰压缩⽂件;
灰蓝⾊表⽰⽬录;
亮蓝⾊表⽰链接⽂件;
亮黄⾊表⽰设备⽂件;
当然,这⾥需要使⽤系统缺省的配⾊⽅案。如果你⾃定义了shell的配⾊⽅案,则有可能与上⾯的定义不⼀致。
最后还要说明⼀点的是,可以看到上述的图⽚中,back_init⽂件的后⾯还带了⼀个星号(*),这也是linux系统下⽤于标记可执⾏⽂件的另外⼀种⽅式。也就是说,凡是⽂件名后⾯带了⼀个星号(*)的,
都是在说明这是⼀个可执⾏⽂件。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。