Linux文件和目录
Linux系统是一种典型的多用户系统,不同的用户有不一样的地位和权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
root权限最高,可以通过ls -l
或者ll
的命令来显示文件的所有属性信息,包括类型、所属用户和组以及其对应的操作权限。
第1列:第一个字符表示文件是普通文件、文件夹、还是其他类型的文件。
- 表示普通文件,包括纯文本文件、二进制文件、各种压缩文件等。
d 表示目录,类似 Windows 系统中的文件夹。
b 表示块设备文件,就是保存大块数据的设备,比如最常见的硬盘。
c 表示字符设备文件,例如键盘、鼠标等。
s 表示套接字文件,通常用在网络数据连接,可以启动一个程序开监听用户的要求,用户可以通过套接字进行数据通信。
p 表示管道文件,其主要作用是解决多个程序同时存取一个文件所造成的错误。
l 表示链接文件,类似 Windows 系统中的快捷方式。后边的9位,每三个为一组。均为rwx 三个参数的组合。其中r 代表可读,w代表可写,x代表可执行。前三位为所属主(user)的权限,中间三位为所属组(group)的权限,最后三位为其他非本群组(others)的权限。
第2列,表示为连接占用的节点(inode),若为目录时,通常与该目录下还有多少目录有关系;
第3列,表示该文件的所属主。
第4列,表示该文件的所属组。
第5列,表示该文件的大小。
第6列、第7列和第8列为该文件的创建日期或者最近的修改日期,分别为月份日期以及时间。
第9列,文件名。如果前面有一个. 则表示该文件为隐藏文件。
文件/目录命名规则
在linux中,一切皆文件。文件是由创建者定义的,具有文件名的一组相关元素的集合,文件可以是文本文档、图片、程序等。
Linux系统下文件名长度根据不同类型文件系统有所不同。
Linux 系统中,文件和目录的命名规则如下:
- 除了字符"/"之外,所有的字符都可以使用,但是要注意,在文件名或目录名中,使用某些特殊字符并不是明智之举。例如,在命名时应避免使用 <、>、?、* 和非打印字符等。如果一个文件名中包含了特殊字符,例如空格,那么在访问这个文件时就需要使用引号将文件名括起来。
- 文件名或目录名的长度不能超过 255 个字符。
- 文件名或目录名是区分大小写的。如 ABC、abc、Abc 和 ABc ,是互不相同的文件名或目录名,但使用字符大小写来区分不同的文件或目录,也是不明智的。
- 与 Windows 操作系统不同,文件的扩展名对 Linux 操作系统没有特殊的含义,换句话说,Linux 系统并不以文件的扩展名来区分文件类型。例如,abc.exe 只是一个文件,其扩展名 .exe 并不代表此文件就一定是可执行文件。