ls命令

ls命令在unix操作系统中被用于显示文件夹中的内容.ls即list,英文表示为"list directory contents".

ls
	-l:长格式
		文件类型:
			-:普通文件 (f)
			d: 目录文件
			b: 块设备文件 (block)
			c: 字符设备文件 (character)
			l: 符号链接文件(symbolic link file)
			p: 命令管道文件(pipe)
			s: 套接字文件(socket)
		文件权限:9位,每3位一组,每一组:rwx(读,写,执行), r--
		文件硬链接的次数
		文件的属主(owner)
		文件的属组(group)
		文件大小(size),单位是字节
		时间戳(timestamp):最近一次被修改的时间
			访问:access
			修改:modify,文件内容发生了改变
			改变:change,metadata,元数据
	-h:做单位转换
	-a: 显示以.开头的隐藏文件
		. 表示当前目录
		.. 表示父目录
	-A
	-d: 显示目录自身属性
	-i: index node, inode
	-r: 逆序显示
	-R: 递归(recursive)显示


XXXXXXXXX:/ GavinPSU$ ls -l
total 45
drwxrwxr-x+ 50 root  admin  1700 Apr 23 09:12 Applications
drwxr-xr-x+ 62 root  wheel  2108 Apr 22 16:42 Library
drwxr-xr-x@  2 root  wheel    68 Sep 16  2015 Network
drwxr-xr-x@  4 root  wheel   136 Apr 10 10:21 System
drwxr-xr-x   5 root  admin   170 Apr 10 12:49 Users
drwxrwxrwt@  4 root  admin   136 Apr 23 08:29 Volumes
drwxr-xr-x@ 39 root  wheel  1326 Apr 10 10:21 bin
drwxrwxr-t@  2 root  admin    68 Sep 16  2015 cores
dr-xr-xr-x   3 root  wheel  4119 Apr 23 08:28 dev
lrwxr-xr-x@  1 root  wheel    11 Dec  3 15:37 etc -> private/etc
dr-xr-xr-x   2 root  wheel     1 Apr 23 08:28 home
-rw-r--r--@  1 root  wheel   313 Aug  1  2015 installer.failurerequests
dr-xr-xr-x   2 root  wheel     1 Apr 23 08:28 net
drwxr-xr-x@  6 root  wheel   204 Dec  3 14:29 private
drwxr-xr-x@ 59 root  wheel  2006 Apr 10 10:21 sbin
lrwxr-xr-x@  1 root  wheel    11 Dec  3 15:37 tmp -> private/tmp
drwxr-xr-x@ 13 root  wheel   442 Apr 15 16:46 usr
lrwxr-xr-x@  1 root  wheel    11 Dec  3 15:37 var -> private/var

第2行:总计(total)

Total后面的数字是指当前目录下所有文件所占用的空间总和。使用ls –lh可查看,也可使用ls –alh查看

第1字段: 文件属性字段

drwxrwxr-x+ 50 root  admin  1700 Apr 23 09:12 Applications

文件属性字段总共有10个字母组成;第一个字符表示文件类型。

  • -表示该文件是一个普通文件
  • d表示该文件是一个目录,字母"d",是dirtectory(目录)的缩写.注意:目录或者是特殊文件,这个特殊文件存放其他文件或目录的相关信息
  • l表示该文件是一个链接文件。字母"l"是link(链接)的缩写,类似于windows下的快捷方式
  • b的表示块设备文件(block),一般置于/dev目录下,设备文件是普通文件和程序访问硬件设备的入口,是很特殊的文件。没有文件大小,只有一个主设备号和一个辅设备号。一次传输数据为一整块的被称为块设备,如硬盘、光盘等。最小数据传输单位为一个数据块(通常一个数据块的大小为512字节)
  • c表示该文件是一个字符设备文件(character),一般置于/dev目录下,一次传输一个字节的设备被称为字符设备,如键盘、字符终端等,传输数据的最小单位为一个字节
  • p表示该文件为命令管道文件。与shell编程有关的文件
  • s表示该文件为sock文件。与shell编程有关的文件

链接文件分为硬链接或符号链接两种。

  • 硬链接:多个指向同一文件。硬链接文件大小完全相同,如有多个硬链接,所链接的文件只是一个文件大小。同一个文件所有的文件都是等价的,操作系统不区分链接创建的先后顺序,若一个文件存在两个链接,那么除去一个文件还可以通过另外一个文件来访问该文件,也可以除去创建链接时用到的文件,但只要还有一个链接存在,就可通过该连接访问文件。
  • 符号链接(软链接):建立一个独立的文件,这个文件会让数据的读取指向它链接的文件内容。类似windows快捷方式。

第1字段后9个字母表示该文件或目录的权限位。r表是读 (Read) 、w表示写 (Write) 、x表示执行 (eXecute).前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。

第2字段:文件硬链接数

drwxrwxr-x+ 50 root  admin  1700 Apr 23 09:12 Applications
如果一个文件不是目录,此时这一字段表示这个文件所具有的硬链接数. 第2字段的值为50,说明文件Applications有Applications文件名个50。即有50个指向该链接的硬链接。

第3字段:文件(目录)拥有者

drwxrwxr-x+ 50 root  admin  1700 Apr 23 09:12 Applications

该字段表示该文件拥有者是谁。只有文件的拥有者才具有改动文件属性的权利。root具有改动任何文件属性的权利。对于目录,只有拥有该目录的用户,或者具有写权限的用户才有在目录下创建文件的权利。如果某一用户被删除,而该用户家目录还存在,ls -l 查看该文件将显示一个代表用户存在前ID号的数字。

第4字段:文件(目录)拥有者所在的组

lrwxr-xr-x@  1 root  wheel    11 Dec  3 15:37 tmp -> private/tmp
一个用户可以加入很多个组,但是其中有一个是主组,就是显示在第4字段的名称。

第5字段: 文件所占用的空间(以字节为单位)

lrwxr-xr-x@  1 root  wheel    11 Dec  3 15:37 tmp -> private/tmp
第5字段表示文件大小,如果是目录,表示该目录大小。注意是目录本身大小,而非目录及其下面的文件的总大小。

第6字段:文件(目录)最近访问(修改)时间

lrwxr-xr-x@  1 root  wheel    11 Dec  3 15:37 tmp -> private/tmp
可通过touch修改创建时间 # touch private/tmp .把tmp创建时间修改当前时间,文件还有最后访问时间,最后修改时间等属性。 可以用ls其它参数显示出来。

第7字段:文件名

lrwxr-xr-x@  1 root  wheel    11 Dec  3 15:37 tmp -> private/tmp
如果是符号链接,会有"->"符号,跟着它指向的文件名




关于linux/unix的更多讨论与交流,敬请关注本博和新浪微博songzi_tea.


你可能感兴趣的:(ls命令)