linux系统文件属性详解
一、文件信息
当创建一个文件的时候,系统保存了有关该文件的全部信息,包括:
- 文件的位置;
- 文件类型;
- 文件长度;
- 哪位用户拥有该文件,哪些用户可以访问该文件;
- 硬连接计数;
- 文件的修改时间;
- 文件的权限位;
例:用touch命令创建一个文件:
$ touch temp
然后用命令ls -l查看该目录下文件的属性(中文版):
[root@Linux_chenwy temp]# ls -l
总用量 36
-rw-r--r-- 1 root root 34890 10月 19 20:17 httpd.conf
-rw-r--r-- 1 root root 0 10月 19 20:16 temp
[1] [2] [3] [4] [5] [6] [7]
总用量 36:是ls所列出的入口占用空间的字节数(以K为单位)。
[1]: 属性。
[2]: 该文件硬链接的数目。
[3]: 文件属主。
[4]: 文件属组(一般是文件属主所在的缺省组。)
[5]: 用字节表示的文件长度,记住,不是K字节!
[6]: 文件的最近更新时间。
[7]: 文件名。
二、文件信息详解
1. 第一列为文件属性(总共有10个属性)
例如:-rw-r--r--
(1) 第一个属性表示文件类型,有以下7种类型:
[d] 目录。
[l] 符号链接(指向另一个文件)。
[s] 套接字文件。
[b] 块设备文件(可供存储的接口设备)。
[c] 串行端口设备文件(如键盘,鼠标等)。
[p] 命名管道文件。
[-] 普通文件,或者更准确地说,不属于以上几种类型的文件。
(2) 剩余的属性中,3个为一组,用来表示不同用户对该文件的权限,均为“rwx”三个参数的组合,其中(括号部分为目录的情况):
[r]表示可读(可以列出该目录中的文件),
[w]表示可写(可以在该目录中创建或删除文件),
[x]表示可执行(可以搜索或进入该目录),
第一组为“拥有者的权限”;
第二组为“所属用户组的权限”;
第三组为“其他人的权限”;
如果把属组用户或其他用户针对某一目录的权限设置为- - x,那么他们将无法列出该目录中的文件。如果该目录中有一个执行位置位的脚本或程序,只要用户知道它的路径和文件名,仍然可以执行它。用户不能够进入该目录并不妨碍他的执行。
另外,目录的权限将会覆盖该目录中文件的权限。例如,如果目录temp具有如下的权限:
drwxr--r-- 1 admin 0 10月 19 20:16 temp
而目录下的文件myfile的权限为:
-rwxrwxrwx 1 admin 0 10月 19 20:16 myfile
那么admin组的用户将无法编辑该文件,因为它所属的目录不具有这样的权限。
该文件对任何用户都可读,但由于它所在的目录并未给admin组的用户赋予执行权限,所以该组的用户都将无法访问该目录,他们将会得到“访问受限”的错误消息
2. 第二列表示该文件的硬连接计数,如果是目录的话,表示该目录下的子目录数。
3. 第三列表示该件的拥有者。
4. 第四列表示该文件所属的组。
5. 第五列表示该文件的大小。
6. 第六列为该文件的创建日期或者最近的修改日期。
7. 第七列为文件名,如果文件名前有“.”则表示该文件为“隐藏文件”,在ls命令中加上a参数即可列出隐藏文件,如ls -a
三、参考
1. 《shell十三问》
(完)
linux系统文件属性详解的更多相关文章
- linux系统meminfo详解(待补充)
========================================================================================== MemTotal: ...
- Linux /dev目录详解和Linux系统各个目录的作用
Linux /dev目录详解(转http://blog.csdn.net/maopig/article/details/7195048) 在linux下,/dev目录是很重要的,各种设备都在下面.下面 ...
- linux zip 命令详解
功能说明:压缩文件. 语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时 ...
- Linux常用命令详解—基于CentOS7
## Linux 目录- /:根目录,一般只存放目录,不存放文件- /bin -> /usr/bin:可执行二进制文件的目录,也是常用命令目录,如常用的命令 ls.cat.mv 等- /boot ...
- Linux常用命令详解下
Linux常用命令详解 目录 一.Linux常用命令 1.1.查看及切换目录(pwd.cd.ls.du) 1.2.创建目录和文件(mkdir.touch.ln) 1.3.复制.删除.移动目录和文件(c ...
- Linux启动过程详解(inittab、rc.sysinit、rcX.d、rc.local)
启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬 ...
- Linux启动过程详解
Linux启动过程详解 附上两张图,加深记忆 图1: 图2: 第一张图比较简洁明了,下面对第一张图的步骤进行详解: 加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的 ...
- Linux netstat命令详解
Linux netstat命令详解 一 简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多 ...
- Linux crontab 命令详解
在 Linux 中,任务可以被配置在指定的时间段.指定的日期.或系统平均载量低于指定的数量时自动运行.红帽企业 Linux 预配置了对重要系统任务的运行,以便使系统能够时时被更新.譬如,被 locat ...
随机推荐
- RESTful的一个样例
后台代码: @RequestMapping(value = { "queues" }) @ResponseBody public List<ResourcePool> ...
- win7 QT +opencv环境搭建
1.Win7 Qt4.8.5+QtCreator2.8.0+mingw环境参考前博文先搭建 2.下载Cmake2.8.11.2版本,安装.运行 [项目]那编译器选择:MinGW4.4.另外,重新编译O ...
- nginx 域名跳转一例~~~(rewrite、proxy)
来自: http://storysky.blog.51cto.com/628458/486338/ 前几天搭了一个论坛服务器并放到了公司的局域网里面,论坛用的是9066端口并在路由器上面做了个端口转发 ...
- String与StringBuffer效率的比较
String str = “”; for (int i=0; i<100; i++) str += “a”; 可是你知道在内存中会产生多少的垃圾出来吗?总共会有a.aa.aaa. aaa….,无 ...
- 部署docker
部署和开发环境不一样,我们不需要频繁地进入到容器内部,所以一般我们会将代码和环境打包到一块,部署到服务器上 Clone 代码 将项目代码克隆到本地 git clone git@git.coding.n ...
- pull同步远程仓 笔记
一.远程仓库删除文件 远程仓 1.py 本地仓 1.py 2.py pull后 本地仓 1.py 这里的2.py 是没有改动过的情况,如改动了要解决冲突的,见:https://www.cnblogs ...
- java代码-----实现4个人打牌游戏的相关代码。线程
总结:发送线程Sender().和接收线程Receiver() 虽然,这里的Sender()发送线程和Receiver()都有相同的睡眠时间,但是由于线程调度的不确定性,是的发送线程Sender每次发 ...
- docker 学习(十一) 镜像常用命令
1 创建账户,创建仓库 首先在dockerhub上有自己的账户,然后创建一个repository(如上图), 然后创建一个名字为robinfei/consumer的仓库. 2 本地镜像打标签(比 ...
- hdu-1052-Tian Ji -- The Horse Racing(经典)
/* hdu-1052 Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/3 ...
- Entity Framework使用汇总
EF的发展历程 还是先来说一下EF从诞生到现在这几年的发展历程吧.在EF最初的版本中,作为一个ORM组件其通过EDM文件(里面是一些xml)来配置数据库与实体类之间的映射,实现数据进出数据库的控制.最 ...