本文目录一览:
- 1、我发现在显示文件属性时,第一个字符是“s”,它具体有什么含义?
- 2、Linux文件基本属性
- 3、LINUX查看文件属性命令是什么?
- 4、linux文件的三种属性不包括
- 5、列举linux系统的4种文件类型及其属性符号
我发现在显示文件属性时,第一个字符是“s”,它具体有什么含义?
这代表一种类型的Linux文件,是 表示该文件为套接字文件(socket),用于进程间通信。这种文件也非常重要,你要是想具体深入的了解,建议你查看《Linux就该这么学》这本书籍。
Linux文件基本属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组,如:
[root@www /]# ls -l
total 64
dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin
dr-xr-xr-x 4 root root 4096 Apr 19 2012 boot
……
实例中,bin文件的第一个属性用"d"表示。"d"在Linux中代表该文件是一个目录文件。
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。-linux文件属性s
每个文件的属性由左边第一部分的10个字符来确定(如下图)。
从左至右用0-9这些数字来表示。
第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。
第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。
其中,第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限;
第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限;第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限。
语法:
chgrp [-R] 属组名 文件名
参数选项
语法:
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
进入 /root 目录(~)将install.log的拥有者改为bin这个账号:
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log
将install.log的拥有者与群组改回为root:
[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
Linux文件属性有两种设置方法,一种是数字,一种是符号。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
先复习一下刚刚上面提到的数据:文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 分数则是:
所以等一下我们设定权限的变更时,该文件的权限数字就是770啦!变更权限的指令chmod的语法是这样的:
chmod [-R] xyz 文件或目录
选项与参数:
举例来说,如果要将.bashrc这个文件所有的权限都设定启用,那么命令如下:
[root@www ~]# ls -al .bashrc
-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
那如果要将权限变成 -rwxr-xr-- 呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754。
还有一个改变权限的方法,从之前的介绍中我们可以发现,基本上就九个权限分别是:
那么我们就可以使用 u, g, o 来代表三种身份的权限!
此外, a 则代表 all ,即全部的身份。读写的权限可以写成 r, w, x ,也就是可以使用下表的方式来看:
colgroupcol span="1" width="166"col span="1" width="166"col span="1" width="166"col span="1" width="166"col span="1" width="166"/colgroup-linux文件属性s
| chmod | u
g
o
a | +(加入)
-(除去)
=(设定) | r
w
x | 文件或目录 |
如果我们需要将文件权限设置为 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定:
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test1
而如果是要将权限去掉而不改变其他已存在的权限呢?例如要拿掉全部人的可执行权限,则:
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
LINUX查看文件属性命令是什么?
linux lsattr命令: 显示文件属性介绍:\x0d\x0a文件属性在文件系统的安全管理方面起很重要的作用,linux下lsattr命令用于查看文件属性信息。\x0d\x0a语法:\x0d\x0a\x0d\x0alsattr [-adRvV] [文件或目录...]选项介绍:\x0d\x0a -a: 显示所有文件和目录,包括隐藏文件;\x0d\x0a -d: 显示目录名称,而非其内容;\x0d\x0a -R: 递归处理,将指定目录下的所有文件及子目录一并处理;\x0d\x0a -v: 显示文件或目录版本;\x0d\x0a -V: 显示版本信息;\x0d\x0a\x0d\x0a执行范例:\x0d\x0a\x0d\x0a1 $ chattr +ai text \x0d\x0a\x0d\x0a2 $ lsattr \x0d\x0a\x0d\x0a3 ----ia------- text \x0d\x0a\x0d\x0a扩展阅读:\x0d\x0achattr命令用于修改文件属性,chattr命令需要root权限。\x0d\x0a\x0d\x0a文件属性:\x0d\x0a a: append only; 系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。\x0d\x0a\x0d\x0a c: compressed; 系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压之后的数据;而向这个文件中写入数据时,数据首先被压缩之后才写入磁盘。\x0d\x0a\x0d\x0a d: no dump; 在进行文件系统备份时,dump程序将忽略这个文件。\x0d\x0a\x0d\x0a i: immutable; 系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。\x0d\x0a\x0d\x0a j: data journalling; 如果一个文件设置了该属性,那么它所有的数据在写入文件本身之前,写入到ext3文件系统日志中,如果该文件系统挂载的时候使用了”data=ordered” 或”data=writeback”选项。当文件系统采用”data=journal”选项挂载时,所有文件数据已经记录日志,因此这个属性不起作用。仅仅超级用户或者拥有CAP_SYS_RESOURCE能力的进程可以设置和删除该属性。\x0d\x0a\x0d\x0a s: secure deletion; 让系统在删除这个文件时,使用0填充文件所在的区域。\x0d\x0a\x0d\x0a t: no tail-merging; 和其他文件合并时,该文件的末尾不会有部分块碎片(为支持尾部合并的文件系统使用)。\x0d\x0a\x0d\x0a u: undeletable; 当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件。\x0d\x0a\x0d\x0a A: no atime updates; 告诉系统不要修改对这个文件的最后访问时间\x0d\x0a\x0d\x0a D: synchronous directory updates; 任何改变将同步到磁盘;这等价于mount命令中的dirsync选项:\x0d\x0a\x0d\x0a S: synchronous updates; 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。\x0d\x0a\x0d\x0a T: top of directory hierarchy; 如果一个目录设置了该属性,它将被视为目录结构的顶极目录-linux文件属性s
linux文件的三种属性不包括
种类。
Linux中的文件都有三种属性:所有者、所属组、其他人,而不包括种类。
Linux也是一个基于文件形式表示的文件,在Linux中“一切皆文件。
列举linux系统的4种文件类型及其属性符号
一. 文件类型
Linux文件类型常见的有:普通文件、目录文件、字符设备文件和块设备文件、符号链接文件等,现在我们进行一个简要的说明。
1. 普通文件
我们用 ls -lh 来查看某个文件的属性,可以看到有类似-rwxrwxrwx,值得注意的是第一个符号是 - ,这样的文件在Linux中就是普通文件。这些文件一般是用一些相关的应用程序创建,比如图像工具、文档工具、归档工具... .... 或 cp工具等。这类文件的删除方式是用rm 命令。 另外,依照文件的内容,又大略可以分为:-linux文件属性s
1. 纯文本档(ASCII):
这是Linux系统中最多的一种文件类型,称为纯文本档是因为内容为我们人类可以直接读到的数据,例如数字、字母等等。 几乎只要我们可以用来做为设定的文件都属于这一种文件类型。 举例来说,你可以用命令: cat ~/.bashrc 来看到该文件的内容。 (cat 是将一个文件内容读出来的指令).-linux文件属性s
2. 二进制文件(binary):
Linux系统其实仅认识且可以执行二进制文件(binary file)。Linux当中的可执行文件(scripts, 文字型批处理文件不算)就是这种格式的文件。 刚刚使用的命令cat就是一个binary file。-linux文件属性s
3. 数据格式文件(data):
有些程序在运作的过程当中会读取某些特定格式的文件,那些特定格式的文件可以被称为数据文件 (data file)。举例来说,我们的Linux在使用者登录时,都会将登录的数据记录在 /var/log/wtmp那个文件内,该文件是一个data file,他能够透过last这个指令读出来! 但是使用cat时,会读出乱码~因为他是属于一种特殊格式的文件?-linux文件属性s
2. 目录文件
当我们在某个目录下执行,看到有类似 drwxr-xr-x ,这样的文件就是目录,目录在Linux是一个比较特殊的文件。注意它的第一个字符是d。创建目录的命令可以用 mkdir 命令,或cp命令,cp可以把一个目录复制为另一个目录。删除用rm 或rmdir命令。 -linux文件属性s
3. 字符设备或块设备文件
如时您进入/dev目录,列一下文件,会看到类似如下的:
复制代码
代码如下:
[root@localhost ~]# ls -al /dev/tty/p pcrw-rw-rw- 1 root tty 5, 0 11-03 15:11 /dev/tty/p p[root@localhost ~]# ls -la /dev/sda1/p pbrw-r----- 1 root disk 8, 1 11-03 07:11 /dev/sda1-linux文件属性s
我们看到/dev/tty的属性是 crw-rw-rw- ,注意前面第一个字符是 c ,这表示字符设备文件。比如猫等串口设备。我们看到 /dev/sda1 的属性是 brw-r----- ,注意前面的第一个字符是b,这表示块设备,比如硬盘,光驱等设备。-linux文件属性s
这个种类的文件,是用mknode来创建,用rm来删除。目前在最新的Linux发行版本中,我们一般不用自己来创建设备文件。因为这些文件是和内核相关联的。
与系统周边及储存等相关的一些文件, 通常都集中在/dev这个目录之下!通常又分为两种:
区块(block)设备档 :
就是一些储存数据, 以提供系统随机存取的接口设备,举例来说,硬盘与软盘等就是啦! 你可以随机的在硬盘的不同区块读写,这种装置就是成组设备!你可以自行查一下/dev/sda看看, 会发现第一个属性为[ b ]!-linux文件属性s
字符(character)设备文件:
亦即是一些串行端口的接口设备, 例如键盘、鼠标等等!这些设备的特色就是一次性读取的,不能够截断输出。 举例来说,你不可能让鼠标跳到另一个画面,而是滑动到另一个地方!第一个属性为 [ c ]。
4. 数据接口文件(sockets):
数据接口文件(或者:套接口文件),这种类型的文件通常被用在网络上的数据承接了。我们可以启动一个程序来监听客户端的要求, 而客户端就可以透过这个socket来进行数据的沟通了。第一个属性为 [ s ], 最常在/var/run这个目录中看到这种文件类型了。-linux文件属性s
例如:当我们启动MySQL服务器时,会产生一个mysql.sock的文件。
复制代码
代码如下:
[root@localhost ~]# ls -lh /var/lib/mysql/mysql.sock /p psrwxrwxrwx 1 mysql mysql 0 04-19 11:12 /var/lib/mysql/mysql.sock-linux文件属性s
注意这个文件的属性的第一个字符是 s。
5. 符号链接文件:
当我们查看文件属性时,会看到有类似 lrwxrwxrwx,注意第一个字符是l,这类文件是链接文件。是通过ln -s 源文件名 新文件名 。上面是一个例子,表示setup.log是install.log的软链接文件。怎么理解呢?这和Windows操作系统中的快捷方式有点相似。-linux文件属性s
符号链接文件的创建方法举例:
复制代码
代码如下:
[root@localhost test]# ls -lh log2012.log/p p-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log/p p[root@localhost test]# ln -s log2012.log linklog.log/p p[root@localhost test]# ls -lh *.log/p plrwxrwxrwx 1 root root 11 11-22 06:58 linklog.log - log2012.log/p p-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log-linux文件属性s
6. 数据输送文件(FIFO,pipe):
FIFO也是一种特殊的文件类型,他主要的目的在解决多个程序同时存取一个文件所造成的错误问题。 FIFO是first-in-first-out的缩写。第一个属性为[p] 。