Linux 文件的属性
LINUX系统中的文件名和文件种类以及文件权限详解
Linux文件种类与副文件名一直强调一个概念,那就是:任何装置在Linux底下都是文件,不仅如此,连资料沟通的介面也有专属的文件在负责~所以,你会瞭解到,Linux的文件种类真的很多~除了前面提到的一般文件(-)与目录文件(d)之外,还有哪些种类的文件呢?* 文件种类:我们在刚刚提到使用‘ls -l’观察到第一栏那十个字元中,第一个字元为文件的类型。
除了常见的一般文件(-)与目录文件(d)之外,还有哪些种类的文件类型呢?* 正规文件(regular file ):就是一般我们在进行存取的类型的文件,在由 ls -al 所显示出来的属性方面,第一个字元为 [ - ],例如 [-rwxrwxrwx ]。
另外,依照文件的内容,又大略可以分为:o 纯文字文件(ASCII):这是Linux系统中最多的一种文件类型啰,称为纯文字文件是因为内容为我们人类可以直接读到的资料,例如数字、字母等等。
几乎只要我们可以用来做为设定的文件都属于这一种文件类型。
举例来说,你可以下达‘ cat ~/.bashrc ’就可以看到该文件的内容。
(cat 是将一个文件内容读出来的指令)o 二进位文件(binary):还记得我们在‘ 第零章、计算机概论 ’里面的软体程式的运作中提过,我们的系统其实仅认识且可以执行二进位文件(binary file)吧?没错~你的Linux当中的可执行文件(scripts, 文字型批次文件不算)就是这种格式的啦~举例来说,刚刚下达的指令cat就是一个binary file。
o 资料格式文件(data):有些程式在运作的过程当中会读取某些特定格式的文件,那些特定格式的文件可以被称为资料文件 (data file)。
举例来说,我们的Linux在使用者登入时,都会将登录的资料记录在 /var/log/wtmp那个文件内,该文件是一个data file,他能够透过last这个指令读出来! 但是使用cat时,会读出乱码~因为他是属于一种特殊格式的文件。
Linux文件和目录属性
Linux文件和目录属性如果是一个可执行文件, 那么在执行时, 一般该文件只拥有调用该文件的用户具有的权限. 而setuid, setgid 可以来改变这种设置.setuid: 设置使文件在执行阶段具有文件所有者的权限. 典型的文件是/usr/bin/passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码.setgid: 该权限只对目录有效. 目录被设置该位后, 任何用户在此目录下创建的文件都具有和该目录所属的组相同的组.sticky bit: 该位可以理解为防删除位. 一个文件是否可以被某用户删除, 主要取决于该文件所属的组是否对该用户具有写权限. 如果没有写权限, 则这个目录下的所有文件都不能被删除, 同时也不能添加新的文件. 如果希望用户能够添加文件但同时不能删除文件, 则可以对文件使用sticky bit位. 设置该位后, 就算用户对目录具有写权限, 也不能删除该文件.下面是三个权限的特点,归纳如下:Sticky: 举例目录/tmp1)sticky只能应用在目录上,并且是应用在其它人上.2)只有root和文件的拥有人才能删除该文件.3)小写表示能执行,大写表示不能执行Suid: 举例目录/usr/bin/passwd1)suid只能应用在二进制文件中2)当一个文件应用了suid,那么任何人在执行该命令的时候他就临时拥有该文件拥有人的权限3)suid只能应用在文件的拥有人上4)小写表示能执行,大写表示不能执行Sgid: 应用环境为用于一组开发人员共用资源,保证安全1)sgid既可以应用在文件上,也可以应用在目录上2)当sgid应用在目录上时,任何人在该目录中建立健全的文件和目录的拥有者属于目录所属组3)应用在拥有组上4)sgid应用在文件上时,任何人在执行该文件时,临时拥有该文件所属组权限5)小写表示可执行,大写反之.1) chmod u+s temp -- 为temp文件加上setuid标志. (setuid 只对文件有效)chmod g+s tempdir -- 为tempdir目录加上setgid标志(setgid 对目录和文件有效)chmod o+t temp-- 为temp文件加上sticky标志(sticky只对文件有效)2) 采用八进制方式. 对一般文件通过三组八进制数字来置标志, 如666, 777, 644等. 如果设置这些特殊标志, 则在这组数字之外外加一组八进制数字. 如4666, 2777等. 这一组八进制数字三位的意义如下,abca - setuid位, 如果该位为1, 则表示设置setuidb - setgid位, 如果该位为1, 则表示设置setgidc - sticky位, 如果该位为1, 则表示设置sticky设置完这些标志后, 可以用ls -l 来查看. 如果有这些标志, 则会在原来的执行标志位置上显示. 如rwsrw-r-- 表示有setuid标志rwxrwsrw- 表示有setgid标志rwxrw-rwt 表示有sticky标志那么原来的执行标志x到哪里去了呢? 系统是这样规定的, 如果本来在该位上有x, 则这些特殊标志显示为小写字母(s, s, t). 否则, 显示为大写字母(S, S, T)这三个权限的数字位可以这么理解[root@server3 test]# 1 1 1[root@server3 test]# rw s rws rwt[root@server3 test]#[root@server3 test]# SUID SGID Sticky所以,可以得出chmod 4777是设sidchmod 2777是设置gidchmod 1777是设sticky常用操作找出所有危险的目录(设置目录所有人可读写却没有设置sticky位的目录)find / -perm -0007 -type d找出所有设置了suid的文件find / -perm -4000 -type f一个文件都有一个所有者, 表示该文件是谁创建的. 同时, 该文件还有一个组编号, 表示该文件所属的组, 一般为文件所有者所属的组.chattr 用于设置文件属性lsattr 用于查看文件属性1.作用2.修改ext2和ext3文件系统属性(attribute),使用权限超级用户。
文件属性详解
linux中各种文件类型普通文件(- regular file)(1)文本文件。
文件中的内容是由文本构成的,文本指的是ASCII码字符。
文件里的内容本质上都是数字(不管什么文件内容本质上都是数字,因为计算机中本身就只有1和0),而文本文件中的数字本身应该被理解为这个数字对应的ASCII码。
常见的.c 文件, .h文件 .txt文件等都是文本文件。
文本文件的好处就是可以被人轻松读懂和编写。
所以说文本文件天生就是为人类发明的。
(2)二进制文件。
二进制文件中存储的本质上也是数字,只不过这些数字并不是文字的编码数字,而是就是真正的数字。
常见的可执行程序文件(gcc编译生成的a.out,arm-linux-gcc编译连接生成的.bin)都是二进制文件。
(3)对比:从本质上来看(就是刨除文件属性和内容的理解)文本文件和二进制文件并没有任何区别。
都是一个文件里面存放了数字。
区别是理解方式不同,如果把这些数字就当作数字处理则就是二进制文件,如果把这些数字按照某种编码格式去解码成文本字符,则就是文本文件。
(4)我们如何知道一个文件是文件文件还是二进制文件?在linux系统层面是不区分这两个的(譬如之前学过的open、read、write等方法操作文件文件和二进制文件时一点区别都没有),所以我们无法从文件本身准确知道文件属于哪种,我们只能本来就知道这个文件的类型然后用这种类型的用法去用他。
有时候会用一些后缀名来人为的标记文件的类型。
(5)使用文本文件时,常规用法就是用文本文件编辑器去打开它、编辑它。
常见的文本文件编辑器如vim、gedit、notepad++、SourceInsight等,我们用这些文本文件编辑器去打开文件的时候,编辑器会read读出文件二进制数字内容,然后按照编码格式去解码将其还原成文字展现给我们。
如果用文本文件编辑器去打开一个二进制文件会如何?这时候编辑器就以为这个二进制文件还是文本文件然后试图去将其解码成文字,但是解码过程很多数字并不对应有意义的文字所以成了乱码。
linux文件的基本属性
linux文件的基本属性
linux文件的基本属性主要包括:
1. 文件名:文件的名字,也可以称之为“标签”。
2. 文件类型:文件可以分为普通文件、目录文件和设备文件等不同类型。
3. 访问权限:每个文件都有三种访问权限,即读权限、写权限和执行权限,用户可以通过这三种权限来控制对文件的访问。
4. 文件大小:每个文件都有其自身的大小。
5. 创建时间:每个文件都有其创建时间,该时间是文件被创建的时间。
6. 修改时间:每个文件都有其修改时间,该时间是文件被最后一次修改的时间。
linux chattr命令的用法
linux chattr命令的用法Linux操作系统提供了多种强大的命令,其中chattr命令是一个特殊的命令,用于更改文件的属性。
在本文中,我们将探讨chattr命令的用法和一些常见的应用场景。
一、chattr命令简介chattr命令用于更改文件或目录的属性,其中包括可写、可执行、可删除等。
被chattr命令修改后的文件或目录在操作系统层面上会有更高的保护级别,即使是root用户也无法直接更改或删除。
二、chattr命令的语法chattr命令的基本语法如下:chattr [+-=][选项] 文件名其中,符号"+"表示给文件添加属性,"-"表示删除属性,"="表示设定属性。
选项可用于添加或删除不同的属性。
三、chattr命令的常用选项1. a:在文件末尾追加数据而不是覆盖原有数据。
2. c:将文件自动压缩后存储,仅适用于指定了文件系统的文件。
3. i:将文件设置为不可修改,使其只能被添加数据而无法更改或删除。
4. u:首次创建文件后,chattr命令设置的属性将无法被root用户或文件属主解除。
四、chattr命令的常见用法1. 设置文件只读有时候,为了保护重要的文件不被误删或误修改,我们可以使用chattr命令将其设置为只读。
例如,我们要将文件file.txt设置为只读,可以执行以下命令:chattr +i file.txt2. 解除只读属性如果需要对只读文件进行修改或删除操作,我们需要解除文件的只读属性。
可以使用chattr命令的-i选项来解除只读属性。
例如,我们要将file.txt的只读属性解除,可以执行以下命令:chattr -i file.txt3. 文件追加当我们需要在文件的末尾追加数据而不是覆盖原有数据时,可以使用chattr命令的+a选项。
例如,我们要将内容写入文件file.txt的末尾,可以执行以下命令:echo "追加的内容" >> file.txtchattr +a file.txt4. 压缩文件对于一些占用磁盘空间较大的文件,我们可以使用chattr命令的+c选项将其自动压缩以节省磁盘空间。
linuxls-l各个字段的含义
linuxls-l各个字段的含义以root的家⽬录为例:可以看到,⽤ls -l命令查看某⼀个⽬录会得到⼀个7个字段的列表。
第1⾏:总计(total)Total后⾯的数字是指当前⽬录下所有⽂件所占⽤的空间总和。
可以使⽤ls –lh查看,也可使⽤ls –alh查看。
第1字段: ⽂件属性字段-rw-r--r-- 1 root root 762 07-29 18:19 exit⽂件属性字段总共有10个字母组成;第⼀个字符代表⽂件的类型。
字母“-”表⽰该⽂件是⼀个普通⽂件字母“d”表⽰该⽂件是⼀个⽬录,字母"d",是dirtectory(⽬录)的缩写注意:⽬录或者是特殊⽂件,这个特殊⽂件存放其他⽂件或⽬录的相关信息字母“l”表⽰该⽂件是⼀个链接⽂件。
字母"l"是link(链接)的缩写,类似于windows下的快捷⽅式字母“b”的表⽰块设备⽂件(block),⼀般置于/dev⽬录下,设备⽂件是普通⽂件和程序访问硬件设备的⼊⼝,是很特殊的⽂件。
没有⽂件⼤⼩,只有⼀个主设备号和⼀个辅设备号。
⼀次传输数据为⼀整块的被称为块设备,如硬盘、光盘等。
最⼩数据传输单位为⼀个数据块(通常⼀个数据块的⼤⼩为512字节)字母为“c”表⽰该⽂件是⼀个字符设备⽂件(character),⼀般置于/dev⽬录下,⼀次传输⼀个字节的设备被称为字符设备,如键盘、字符终端等,传输数据的最⼩单位为⼀个字节。
字母为“p”表⽰该⽂件为命令管道⽂件。
与shell编程有关的⽂件。
字母“s”表⽰该⽂件为sock⽂件。
与shell编程有关的⽂件。
在此重申下⽂件链接这个重要概念:链接⽂件的概念类似于windows⾥的快捷⽅式。
多个链接⽂件同时指向⼀个“源⽂件”。
链接⽂件分为硬链接或符号链接两种。
在Linux的⽂件系统中,保存在磁盘分区中的⽂件不管是什么类型都给它分配⼀个编号,称为索引节点号inode 。
软连接,其实就是新建⽴⼀个⽂件,这个⽂件就是专门⽤来指向别的⽂件的(那就和windows 下的快捷⽅式的那个⽂件有很接近的意味)。
Linux文件属性
管道文件主要用来解决多个程序同时访问一个文件所造成的错误。
2. Linux文件属性
对于Linux系统的文件来说,其基本的属性有三种:读(r/4)、写(w/2)、执行(x/1)。不同的用户对于文件也拥有不同的读、写和执行权限。
读权限:表示具有读取目录结构的权限,可以查看和阅读文件。
数字表示法(也叫八进制表示法):
我们将read/write/excute用数字表示就是:
read:r:4
write:w:2
excute:x:1
没有权限:-:0
我们用八进制表示:
---:0
--x:1
-w-:2
-wx:3
r--:4
r-x:5
-wx:6
rwx:7
因此,rwx=4+2+1=7,r-x=4+0+1=5。
数据格式的文件(Data):有些程序在运行过程中会读取某些特定格式的文件,这些特定格式的文件可以称为数据文件。比如,Linux用户在登陆系统时,会将登陆数据记录在/var/log/wtmp文件内,这个文件就是一个数据文件。
② 目录文件(directory)(第一个属性用“d”表示)
目录文件就是目是一个目录文件,属主和属组都为root,属主有可读、可写、可执行的权限;与属主同组的其他用户有可读和可执行的权限;其他用户也有可读和可执行的权限。
4. 更改文件属性
① chgrp:更改文件属组
chgrp [-R] 属组名文件名
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
实训5 linux 文件的属性
文件的 Access time,atime 是在读取文件或者执行 文件时更改的。文件的 Modified time,mtime 是在 写入文件时随文件内容的更改而更改的。文件 的 Create time,ctime 是在写入文件、更改所有者、 权限或链接设置时随 Inode 的内容更改而更改 的。 因此,更改文件的内容即会更 改 mtime 和 ctime,但是文件的 ctime 可能会 在 mtime 未发生任何变化时更改,例如,更改了文 件的权限,但是文件内容没有变化。 如何获得一个 文件的atime mtime 以及ctime ? ls -l 命令可用来列出文件的 atime、ctime 和 mtime。 ls -lc filename 列出文件的 ctime ls -lu filename 列出文件的 atime ls -l filename 列出文件的 mtime
六、 在linux下搜索命令find 语法: find [路径] [参数] 下面介绍几个经常用的参 数 -atime +n :访问或执行时间大于n天的文件 -ctime +n :写入、更改inode属性(例如更改所有者、 权限或者连接)时间大于n天的文件 -mtime +n :写入时间大于n天的文件
七、 linux的文件系统 搞计算机的应该都知道windows的系统格式化硬盘时会指 定格式,fat 或者 ntfs。而linux的文件系统格式为Ext2, 或者Ext3 。早期的linux使用Ext2格式,目前的linux都使 用了Ext3。 Ext2文件系统虽然是高效稳定的。但是,随 着Linux系统在关键业务中的应用,Linux文件系统的弱点 也渐渐显露出来了,因为Ext2文件系统是非日志文件系统。 这在关键行业的应用是一个致命的弱点。Ext3文件系统是 直接从Ext2文件系统发展而来,Ext3文件系统带有日志功 能,可以跟踪记录文件系统的变化,并将变化内容写入 日志,写操作首先是对日志记录文件进行操作,若整个 写操作由于某种原因 (如系统掉电) 而中断,系统重启时, 会根据日志记录来恢复中断前的写操作,而且这个过程 费时极短。目前Ext3文件系统已经非常稳定可靠。它完全 兼容Ext2文件系统。用户可以平滑地过渡到一个日志功能 健全的文件系统中来。这实际上了也是ext3日志文件系统 初始设计的初衷。
Linux文件和目录的属性
Linux 文件和目录的属性摘要:本文介绍Linux系统中文件和目录的属性。
主要涉及到的属性有inode值、文件类型、文件权限和归属关系。
另外文章中对ln、chmod、umask、chown、chgrp这些命令的用法也进行了比较详细的说明和举例。
本文以CentOS5.4 Linux为测试系统,所有实例均来自该测试系统。
文中所述内容适用于Redhat Linux,但并不适用于所有版本的Linux。
1.Linux文件属性Linux文件和目录的属性主要包括:inode值、种类、权限模式、链接数量、所归属的用户和用户组、最近访问或修改的时间等内容。
我们用一个示例来引出文件和目录主要的属性信息。
示例:使用“ls -li”命令列表/root目录中部分文件的属性信息。
如图1所示。
图1 列表/root目录中部分文件的属性信息根据图1中的命令运行结果信息,我们可以在整体上将文件和目录的属性分为九个字段,各个字段以空格作为分隔符。
我们解释一下各个字段的含义:✧第一字段:inode值;✧第二字段:文件种类和权限;✧第三字段:硬链接个数;✧第四字段:文件或目录的属主;✧第五字段:文件或目录的属组;✧第六字段:文件或目录的大小;✧第七字段和第八字段:最后访问或修改的时间;✧第九字段:文件名或目录名。
当然文件和目录的属性不仅仅只有这些,这九个字段是我们最常用到的一些属性。
2.inode请参考文档《Linux Inode以及相关的知识点》。
这里对inode就不再详述。
3.文件类型首先我们来看一个示例:用ls指令的长格式显示文件test的属性信息:[root@localhost ~]# ls -li test2548609 -rw-r--r-- 1 root root 0 03-05 18:30 test我们来看一下输出的结果,其中第二个字段为“-rw-r--r--”。
这个字段包括两个信息,一个是文件类型,另外一个是文件的权限。
Linux文件属性
Linux文件属性对于初学者来说,因为文件的权限与属性是学习Linux 的一个相当重要的关卡,如果没有这部份的概念,那么你将老是听不懂别人在讲什么呢!尤其是当你在你的屏幕前面出现了『Permission deny』的时候,不要担心,『肯定是权限设定错误』啦!你以普通身份登入系统,然后使用su - 切换身份成为root 后,下达『ls -al』看看,会看到底下的几个东东:•Tips:由于后续的 chgrp, chown 等指令可能都需要使用 root 的身份才能够处理,所以这里建议您以 root 的身份来学习!要注意的是,我们还是不建议你直接使用 root 登入系统,建议使用 su - 这个指令来切换身份喔!离开 su - 则使用 exit 回到普通身份即可!ls 是『 list』的意思,重点在显示文件的文件名与相关属性。
而选项『-al』则表示列出所有的文件详细的权限与属性(包含隐藏文件,就是文件名第一个字符为『. 』的文件)。
如上所示,在你第一次以 root 身份登入 Linux 时,如果你输入上述指令后,应该有上列的几个东西,先解释一下上面七个字段个别的意思:第一栏代表这个文件的类型与权限(permission)这一栏其实共有十个字符:1.第一个字符代表这个文件是『目录、文件或链接文件等等』:2.(1)当为[ d ]则是目录,例如上表档名为『 .config』的那一行;3.(2)当为[ - ]则是文件,例如上表档名为『initial-setup-ks.cfg』那一行;4.(3)若是[ l ]则表示为连结档(link file);5.(4)若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);6.(5)若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
7.接下来的字符中,以三个为一组,且均为『rwx』的三个参数的组合。
其中, [ r ]代表可读(read)、 [ w ]代表可写(write)、 [ x ]代表可执行(execute)。
Linux 文件属性
11.文件属性 (1)1.1属性分类及命令 (1)1.2文件权限及解释 (1)2. 文件权限的管理 (1)2.1 修改文件权限的命令 (1)1.文件属性1.1属性分类及命令文件属性分为:所有者属性和访问权限属性。
查看文件属性命令:ls -l1.2文件权限及解释在终端中查看文件属性或目录属性:ls -ldrwxrwxr-x 2 ubuntu ubuntu 4096 Aug 31 15:01 anzhuangdrwxr-xr-x 2 ubuntu ubuntu 4096 Aug 20 23:50 Desktopdrwxrwxr-x 2 ubuntu ubuntu 4096 Oct 1 15:43 fuxidrwxrwxr-x 2 ubuntu ubuntu 4096 Sep 17 18:06 xuexi“drwxrwxr-x”字符的首字符’d’是用来表示文件的类型;分别有:d 表示目录;- 表示普通文件;b 表示块输入输出设备文件,通常是磁盘驱动器;c 表示连续输入输出设备,通常是声卡、调制解调器等;l 表示的是链接文件;p 表示管道文。
第2到第4个字母确定文件所有者权限。
第5到第7个字母确定文件群组权限。
第8到第10个字母确定文件其他权限。
其中第一个字符’r’表示允许读取数据;-则是表示不允许;第二个字符,控制写权限,’w’则是表示可写数据;最后一个确定的是文件执行权限,’x’确定可执行。
文件信息的第2个字符串的一个数字,表示的确该文件拥有的链接数。
第3个和第4个字符串分别表示的是该文的所有者名称和群组名称。
第5个字符串表示文件的长度。
第6个字符串表示的是文件的修改时间。
第7个字符串表示的是文件名。
例如:bin文件的权限是:drwxr-xr-x 则可以解释为:这是一个目录文件,所有者权限为:读、写和可执行。
群组权限为:读、可执行。
其他用户权限为:读、可执行。
2.文件权限的管理2.1 修改文件权限的命令chmod [ ugoa ] [ +/-/=][rwx] [文件名]第一组权限的修改所涉及的是用户:u 表示的确所有者;g 表示群组;o 表示是其他用户;a 表示三者都有。
第5章 linux文件与目录属性
练习
1.linux文件权限有哪三种? 2.要将一个文件的属性改为-rwxr-xr—采用什么命令? 创建一个test空文件,并修改其为-rwxr-xr权限。 3.若需要更改一个文件的拥有者与用户组,该采用什 么命令?修改test的拥有者为bin。 test bin 4.文件属性为-rwxrwxrwx表示这个文件的意义是什 么? 5.当umask分别为033与044时,他所建立的文件和目 录的权限是什么?用umask为033,然后创建一个文 件test1和一个目录abc,并查看他们的权限。
节点号1537129
所有者: 所属组: 权限: 创建时间: 最后的访问时间 最后的属性修改时间 链接个数 存储数据块地址号序列
# ls –i
文件属性
# ls –l
文件拥有者 文件大小
-rwxrwxrwx 1 root root 293 oct 19 21:24 test
文件权限 连接数
文件所属用户组 文件修改时间 文件名
本章内容
文件属性信息 文件和目录的访问权限管理 文件的所有者和所属组管理 linux文件时间 链接及其管理 特殊权限管理
1、更改9个权限属性 chmod
数字法: 数字法:
rwxrwxrwx 111111111=777 =
文件属性改成rwxrwxrwx,再改回 例:将/tmp/bashrc文件属性改成 文件属性改成 ,再改回rw-r--r--。 。
用与普通权限 同样的方法修改文件特殊权限 例,
[root@localhost ~]# chmod 7600 conkyrc.sample [root@localhost ~]# ls -l -rwS--S--T 1 root root 12172 8月 15 23:18 conkyrc.sample
【linux】linux命令如何查看文件、文件夹的属性,包括大小、修改时间、谁修改的
【linux】linux命令如何查看⽂件、⽂件夹的属性,包括⼤⼩、修改时间、谁修改的【linux命令如何查看⽂件、⽂件夹的属性,包括⼤⼩、修改时间、谁修改的】1、查看⽂件⼤⼩:#du -sh filename2、查看⽂件,⽂件夹属性:#ls -l filename#ls -ld foldername3、查看⽂件的三个时间 atime ,ctime, mtime3.1、 mtime(modification time),修改时间: 这个时间指的是⽂件内容修改的时间,⽽不是⽂件属性的修改,当数据内容修改时,这个时间就会改变,⽤命令ls -l默认显⽰的就是这个时间3.2、ctime(status time ),状态时间:当⼀个⽂件的状态改变时,这个时间就会改变,例如更改了⽂件的权限与属性等,它就会改变。
3.3、atime(access time),访问时间:当读取⽂件内容时,就会更改这个时间,例如使⽤cat 去读取/etc/man.config,那么该⽂件的atime就会改变。
3.4、查看命令:# ls -l --full-time /etc/man.config mtime# ls -l --time=atime --full-time /etc/man.config atime# ls -l --time=ctime --full-time /etc/man.config ctime4、其他如果要⼀起查看⽂件的三个时间情况,可以⽤命令stat进⾏查看# stat /etc/man.config【linux 下查看⽂件修改时间等】查看⽂件时间戳命令:stat awk.txtFile: `awk.txt'Size: 20 Blocks: 8 IO Block: 4096 regular fileDevice: 801h/2049d Inode: 380730 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2008-04-26 01:50:44.000000000 +0800Modify: 2008-04-26 01:48:18.000000000 +0800Change: 2008-04-26 01:48:18.000000000 +0800说明:Access访问时间。
linux文件表示方法
linux文件表示方法Linux文件表示方法一、文件路径表示方法在Linux中,文件路径是用来定位文件位置的一种方式。
Linux中有两种表示文件路径的方法:1. 绝对路径:绝对路径从根目录(/)开始,一直到文件所在目录,用来表示文件的完整路径。
例如,/home/user/file.txt表示文件file.txt在根目录下的home目录下的user目录中。
2. 相对路径:相对路径是相对于当前工作目录(也称为当前路径)来表示文件位置的方法。
相对路径不以根目录开始,而是以当前路径为基准。
例如,如果当前路径是/home/user,那么相对路径file.txt表示的是当前路径下的file.txt文件。
二、文件名与文件类型在Linux中,文件名是用来标识文件的名称。
文件名可以由字母、数字和特殊字符组成,但是不能包含空格和一些特殊符号(如/和\等)。
文件类型是用来描述文件的属性的,Linux中常见的文件类型有以下几种:1. 普通文件(Regular File):普通文件是指存储数据的文件,可以包含文本、二进制数据等。
普通文件又可以分为文本文件和二进制文件两种类型。
2. 目录(Directory):目录是用来存储其他文件和目录的容器。
目录可以包含多个子目录和文件。
3. 符号链接(Symbolic Link):符号链接是指指向其他文件或目录的特殊文件。
符号链接可以跨越文件系统,可以链接到任意位置。
4. 块设备文件(Block Device File):块设备文件是指以固定大小的块为单位访问数据的设备文件,如硬盘分区。
5. 字符设备文件(Character Device File):字符设备文件是指以字符为单位访问数据的设备文件,如键盘、鼠标等。
6. 套接字(Socket):套接字是用来进行进程间通信的一种特殊文件。
7. 管道(FIFO):管道是一种特殊文件,用于进程间通信。
三、文件权限表示方法在Linux中,文件权限用来控制对文件的访问权限。
linux文件目录与属性
例:查找passwd文件 locate passwd locate与whereis寻找文件比较快是在 /var/lib/slocate/的数据库中查找,所 以速度较快。 4.find [路径] [选项] [活动]
-name:指明要查找的文件名,支持通配符 :指明要查找的文件名,支持通配符* 和? -user username:查找文件的拥有者为 : username的文件 的文件 -mtime n:指明查找前n天修改过的文件 :指明查找前 天修改过的文件 天这一天) (仅第n天这一天) 仅第 天这一天 -print:搜索结果输出到标准设备 :
2.rm [选项 文件名或目录名 —— 删除文件或 选项] ——删除文件或 选项 文件名或目录名—— 目录
-f:删除文件或目录时不提示用户 -i:删除文件或目录时提示用户 -r:递归删除目录, 递归删除目录, 例1:删除/tmp/bashrc :删除/tmp/bashrc
rm /tmp/bashrc
• 练习:
wl1 mail
wl
wl2 linux
wl3
要求: 1 在根目录下建立如上目录结构 2 将/etc/mail拷贝到wl1目录下 3 显示当前目录 4 然后删除wl2及以下的目录结构 5 将mail 移动到wl3目录下 6 删除mail目录
3.3.1直接查看文件内容 直接查看文件内容 1.cat –[选项 文件名 选项] 选项
例1:返回当前用户的家目录 : cd 或cd ~ 例2:到上级目录 : cd .. 例3:到/var/spool/mail目录 : 目录 cd /var/spool/mail 例4:回到刚才操作的目录 : cd – 到用户user1的家目录 例5 到用户 的家目录 cd ~user1 2.pwd——显示(打印)用户当前所处的目录 ——显示(打印) ——显示 -P 显示实际路径,而非链接路径
linux中chmod命令用法 -回复
linux中chmod命令用法-回复“chmod”命令是Linux操作系统中一个常用的命令,用于修改文件或目录的访问权限。
在Linux中,每个文件或目录都有其对应的权限属性,即读(r)、写(w)和执行(x),chmod命令允许我们通过添加或移除这些权限来控制文件和目录的访问。
首先,让我们来了解一下chmod命令的基本语法。
在Linux终端中,我们可以使用以下命令来修改文件或目录的权限:chmod [选项] 模式文件名现在,让我们一步一步地详细解释chmod命令的用法和选项。
1. 查看文件或目录的当前权限在使用chmod命令修改权限之前,我们首先需要了解文件或目录的当前权限。
我们可以使用`ls -l`命令来查看文件或目录的权限属性。
例如,使用以下命令查看文件名为`example.txt`的权限属性:ls -l example.txt输出的结果会显示文件的权限属性,如下所示:-rw-rr 1 user group 0 Sep 21 10:00 example.txt其中,第一列代表文件的权限属性。
权限属性由10个字符组成,分为4部分,从左到右依次为:文件类型、所有者权限、群组权限和其他用户权限。
2. 修改文件或目录的权限接下来,我们可以使用chmod命令来修改文件或目录的权限。
在chmod 命令行中,我们需要指定一个权限模式来描述我们想要修改的权限。
权限模式由下述字符中的一个或多个组成:- r:允许读取文件或目录的内容- w:允许写入或修改文件或目录- x:允许执行文件或进入目录这些权限字符可以与如下的字符组合使用来指定文件或目录的权限:- u:当前用户(即所有者)- g:与当前用户属于同一群组的用户- o:其他用户- a:所有用户(即u、g和o的组合)例如,我们可以使用以下命令将`example.txt`的所有者权限设置为只读:chmod u=r example.txt我们也可以使用以下命令将`example.txt`的所有者和群组的读、写和执行权限设置为读和执行,并将其他用户的权限设置为只读:chmod ug=rwx,o=r example.txt3. 使用数字表示权限除了使用权限字符来修改权限之外,我们还可以使用数字来表示文件或目录的权限。
linux文件属性和类型
linux⽂件属性和类型Linux⽂件属性和类型1.linux⽂件属性第⼀种查看⽅式[root@beua ~]# ls -l ks.cfg-rw-------. 1 root root 4434 May 30 13:58 ks.cfg-rw-------. ①:第⼀个字符是⽂件类型,其他则是权限1 ②:硬链接次数root ③:⽂件属于哪个⽤户root ④:⽂件属于哪个组4434 ⑤:⽂件⼤⼩May30 13:58 ⑥⑦⑧:最新修改的时间与⽇期ks.cfg ⑨:⽂件或⽬录名称2.linux⽂件类型-rwxr-xr-x. 1 root root 117680 Oct 31 03:16 /bin/lssrw-rw-rw-. 1 root root 0 Apr 3 16:57 /dev/logbrw-rw----. 1 root disk 8, 0 Apr 3 16:57 /dev/sdacrw--w----. 1 root tty 4, 1 Apr 3 16:57 /dev/tty1lrwxrwxrwx. 1 root root 22 Mar 28 03:33 /etc/grub2.cfg -> ../boot/grub2/grub.cfg-rw-r--r--. 1 root root 158 Apr 1 18:09 /etc/hostsprw-------. 1 root root 0 Apr 3 16:57 /run/dmeventd-clientdrwxrwxrwt. 22 root root 4096 Apr 3 20:57 /tmp#最前⾯那个字母含义:- 通常指的是⽂件 s socket⽂件(mysql) b block 块设备(磁盘\分区光盘) c 字符设备 l 链接⽂件(呈现浅蓝⾊) p 管道⽂件 d ⽬录⽂件(呈现蓝⾊状态)第⼆种查看⽅式:当⽆法通过ls -l的属性识别该⽂件是什么类型时,可以通过file进⾏查看我们会将⽂件标注对应的后缀. .txt .sh .mp3 .mp4 .exe .zip Linux的⽂件加上后缀能够便于我们快速的识别.这个⽂件是什么类型.3.linux系统链接⽂件#软链接使⽤场景 1.软件升级 2.企业代码发布 3.不⽅便⽬录移动#先执⾏删除,然后执⾏ln操作, && (&&前⾯的命令执⾏成功,则⽴即执⾏&&后⾯的命令)[root@beua ~]# rm -f /root/qq && ln -s /root/qq_v1.2/ /root/qq #版本升级[root@beua ~]# rm -f /root/qq && ln -s /root/qq_v1.1/ /root/qq4.硬链接与软链接区别1)ln命令创建硬链接,ln -s命令创建软链接。
Linuxll查看文件属性详解-软硬链接详解
Linuxll查看⽂件属性详解-软硬链接详解Linux⽂件属性及类型[root@localhost ~]# ll anaconda-ks.cfg⽂件类型权限硬连接数⽂件的⼤⼩⽂件的创建,修改时间- rw-------. 1 root root 1379 3⽉ 12 17:43 anaconda-ks.cfg[root@localhost ~]# ll -d zls⽂件类型权限硬连接数所属⽤户所属⽤户组⽂件的⼤⼩⽂件的创建修改时间d rwxr-xr-x. 2 root root 6 3⽉ 12 18:00⽂件名zls-:普通⽂件d:⽬录⽂件rw- --- --- :权限rwx r-x r-x :权限r:读 readw:写 writex:执⾏权限 executeLinux系统⽂件的类型ll 查看file # 查看⽂件类型- 普通⽂件d directory ⽬录⽂件c char 字符设备⽂件b block 块设备⽂件(⽤来存储数据的设备)s socket,安全套接字⽂件l link 软链接⽂件(快捷⽅式)p pipe 管道⽂件注意:通过颜⾊或者后缀判断⽂件类型不⼀定准确.系统链接⽂件⼀个⽂件分为两部分:真实数据 block元数据 inodeblock:真实数据占⽤的空间,默认⼀个block 4k,使⽤下⾯命令查看df -hinode:元数据占⽤的空间,形容⽂件属性。
df -i # 查看inode使⽤情况ls -i # 查看⽂件inode模拟inode占满场景[root@oldboy dev]# dd if=/dev/zero of=/opt/disk bs=1K count=1024 1024+0 records in1024+0 records out1048576 bytes (1.0 MB) copied, 0.00210524 s, 498 MB/s[root@oldboy dev]# ll /opt/disk-rw-r--r-- 1 root root 1048576 Mar 25 22:22 /opt/disk[root@oldboy dev]# mkfs.ext4 -i 1024 /opt/diskmke2fs 1.42.9 (28-Dec-2013)/opt/disk is not a block special device.Proceed anyway? (y,n) [root@oldboy dev]# mkfs.ext4 -i 1024 /opt/disk mke2fs 1.42.9 (28-Dec-2013)/opt/disk is not a block special device.Proceed anyway? (y,n) yFilesystem too small for a journalDiscarding device blocks: doneFilesystem label=OS type: LinuxBlock size=1024 (log=0)Fragment size=1024 (log=0)Stride=0 blocks, Stripe width=0 blocks1024 inodes, 1024 blocks51 blocks (4.98%) reserved for the super userFirst data block=1Maximum filesystem blocks=10485761 block group8192 blocks per group, 8192 fragments per group1024 inodes per groupAllocating group tables: doneWriting inode tables: doneWriting superblocks and filesystem accounting information: done[root@oldboy dev]# mkdir /data1[root@oldboy dev]# mount -t ext4 -o loop /opt/disk /data1[root@oldboy dev]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda3 28G 1.5G 27G 6% /devtmpfs 476M 0 476M 0% /devtmpfs 487M 0 487M 0% /dev/shmtmpfs 487M 7.6M 479M 2% /runtmpfs 487M 0 487M 0% /sys/fs/cgroup/dev/sda1 497M 120M 378M 25% /boottmpfs 98M 0 98M 0% /run/user/0/dev/sr0 4.3G 4.3G 0 100% /mnt/dev/loop0 891K 21K 799K 3% /data1[root@oldboy dev]# df -iFilesystem Inodes IUsed IFree IUse% Mounted on/dev/sda3 14423552 31519 14392033 1% /devtmpfs 121779 379 121400 1% /devtmpfs 124487 1 124486 1% /dev/shmtmpfs 124487 704 123783 1% /runtmpfs 124487 16 124471 1% /sys/fs/cgroup/dev/sda1 256000 326 255674 1% /boottmpfs 124487 1 124486 1% /run/user/0/dev/sr0 0 0 0 - /mnt/dev/loop0 1024 11 1013 2% /data1[root@oldboy dev]# cd /data1/# 尝试创建1024个⽂件到1014的时候就创建不了了。
Linux的文件属性
文件和目录权限简介
在Linux系统中,一个文件或目录具有访问权限,这些访问 权限决定了谁能访问,如何访问这些文件和目录。通过 设置权限可以限制或允许以下三种用户访问:文件的用 户所有者(属主)、文件的组群所有者(用户所在组的 同组用户)、系统中的其它用户。
在Linux系统中,每一位用户都有对文件或目录的读取、写 入和执行权限。第一套权限控制访问自己的文件权限, 即所有者权限。第二套权限控制用户组访问其中一个用 户的文件的权限。第三套权限控制其它所有用户访问一 个用户的文件的权限。这三套权限赋予用户不同类型 (即用户所有者、组群所有者和其它用户)的读取、写 入及执行权限,这就构成了一个有九种类型的权限组。
文件和目录所有者简介
文件和目录的创建者默认就是该文件和目录的所有者,他们 对该文件和目录具有任何权限,可以进行任何操作。他 们也可以将所有者转交给别的用户,使别的用户对该文 件和目录具有任何操作权限。文件和目录的所有者及所 属用户组也能修改,可以通过命令来修改。
更改文件和目录所有者
使用chown命令可以更改文件和目录的用户所有者和组群 所有者。
命令语法: chown [选项] [用户.组群] [文件|目录] chown [选项] [用户:组群] [文件|目录]
-:表示不具有该项权限。
权限字符组合举例
举例
描述
-rwx------ 用户所有者对文件具有读取、写入和执行权限
-rwxr--r-- 用户所有者具有读取、写入和执行权限,其它用户则具有 读取权限
-rw-rw-r-x 用户所有者和组群所有者对文件具有读取、写入权限,而 其它用户只具有读取和执行权限
drwx--x--x 目录的用户所有者具有读写和进入目录权限,其它用户能 进入目录,却无法读取任何数据
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
硬链接sun002.txt创建后,这个值变成了2。也就是说,我们每次为sun.txt创建一个新的硬链接文件后,其硬链接个数都会增
加1。
inode值相同的文件,他们的关系是互为硬链接的关系。当我们修改其中一个文件的内容时,互为硬链接的文件的内容也会跟
硬链接个数 ... ...
2、 关于inode;
inode 译成中文就是索引节点。每个存储设备或存储设备的分区(存储设备是硬盘、软盘、U盘 ... ... )被格式化为文件系
统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的
着变化。如果我们删除互为硬链接关系的某个文件时,其他的文件并不受影响。比如我们把sun.txt删除后,我们还是相同能
看到sun002.txt的内容,并且sun02.txt仍是存在的。
能这么理解,互为硬链接关系的文件,他们好象是克隆体,他们的属性几乎是完全相同;
下面的例子,我们把sun.txt删除,然后我们看一下sun002.txt 是不是能看到其内容。
2408795 lrwxrwxrwx 1 root root 15 04-22 21:54 linuxsir002.txt -> linuxsir001.txt
[root@localhost ~]# more linuxsir002.txt 注:查看linuxsir002.txt的内容;
linuxsir002.txt: 没有那个文件或目录 注:得到提示,linuxsir002.txt不存在。
2408830 drwxr-xr-x 2 root root 4.0K 04-21 12:46 mkuml-2004.07.17
2408260 drwxr-xr-x 2 root root 4.0K 04-21 22:15 mydir
2408258 lrwxrwxrwx 1 root root 7 04-21 22:16 sun001.txt -> sun.txt
软链接也叫符号链接,他和硬链接有所不同,软链接文件只是其源文件的一个标记。当我们删除了源文件后,链接文件不能独
立存在,虽然仍保留文件名,但我们却不能查看软链接文件的内容了。
[root@localhost ~]# ls -li linuxsir001.txt
2408274 -rw-r--r-- 1 root root 29 04-22 21:53 linuxsir001.txt
的变化;
[root@localhost ~]# ls -li sun.txt 注:查看sun.txt的属性;
2408263 -rw-r--r-- 1 root root 29 04-22 21:02 sun.txt 注:这是sun.txt的属性;
[root@localhost ~]# ln sun.txt sun002.txt 注:我们通过ln 来创建sun.txt的硬链接文件sun002.txt
2408260 drwxr-xr-x 2 root root 4.0K 04-21 22:15 mydir
2408258 lrwxrwxrwx 1 root root 7 04-21 22:16 sun001.txt -> sun.txt
2408263 -rw-r--r-- 2 root root 11 04-20 14:17 sun002.txt
2408949 -rwxr-xr-x 1 root root 7 04-21 12:47 lsfile.sh
lsfile.sh 的inode值是 2408949 ; 查看一个文件或目录的inode,要通过ls 命令的的 -i参数。
2.10 inode 相同的文件是硬链接文件;
在Linux 文件系统中,inode值相同的文件是硬链接文件,也就是说,不同的文件名,inode可能是相同的,一个inode值能
文件属主:也就是这个文件归哪于哪个用户 ,他归于root,也就是第一个root;
文件属组:也就是说,对于这个文件,他归属于哪个用户组,在这里是root用户组;
文件大小:文件大小是7个字节;
访问可修改时间 :这里的时间是最后访问的时间,最后访问和文件被修改或创建的时间,有时并不是一致的;
当然文件的属性不仅仅包括这些,这些是我们最常用的一些属性。我们把比较重要的说一说,比如文件所归属的种类、权限、
信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值
。操作系统根据指令,能通过inode值最快的找到相对应的文件。
做个比喻,比如一本书,存储设备或分区就相当于这本书,Block相当于书中的每一页,inode 就相当于这本书前面的目录,
一本书有非常多的内容,如果想查找某部份的内容,我们能先查目录,通过目录能最快的找到我们想要看的内容。虽然不太恰
当,但还是比较形象。
当我们用ls 查看某个目录或文件时,如果加上-i 参数,就能看到inode节点了;比如我们前面所说的例子;
[root@localhost ~]# ls -li lsfile.sh
的文件种类应该是d;sun001.txt文件呢,对应的lrwxrwxrwx,sun001.txt所归属的文件种类应该是-l 。
我们能知道Linux文件能分为如普通文件、目录、符号链接文件、字符和块设备文件、套接口文件等。
4、文件的权限;
Linux文件或目录的权限是和用户和用户组联系在一起的,所以理解这部份内容,你首先得了解一下Linux用户管理方面的知识
第四字段: 属主;
第五字段:所归属的组;
第六字段:文件或目录的大小;
第七字段和第八字段:最后访问或修改时间;
第九字段:文件名或目录名
我们以lsfile.shr-x 1 root root 7 04-21 12:47 lsfile.sh
inode 的值是:2408949
1、 Linux 文件属性概说;
Linux 文件或目录的属性主要包括:文件或目录的节点、种类、权限模式、链接数量、所归属的用户和用户组、最近访问或修
改的时间等内容;
[root@localhost ~]# ls -lih
总计 104K
2408949 -rwxr-xr-x 1 root root 7 04-21 12:47 lsfile.sh
[root@localhost ~]# rm -rf sun.txt
[root@localhost ~]# more sun002.txt
注意:硬链接不能为目录创建,只有文件才能创建硬链接。
2.12 软链接的创建,及软接和源文件的关系;
创建软链接(也被称为符号链接)的语法;
# ln -s 源文文件或目录 目标文件或目录
对应多个文件。理解链接文件并不难,看看例子就会了。在Linux中,链接文件是通过ln工具来创建的。
2.11 创建硬链接,硬链接和源文件关系;
用ln 创建文件硬链接的语法:
# ln 源文件 目标文件
下面我们举一个例子,在这个例子中,我们要为sun.txt 创建其硬链接sun002.txt。然后看一下sun.txt和sun002.txt的属性
第三 两者的硬链接个数相同;都是1
第四 两文件的属主和所归属的用户组相同;
第五 修改(或访问、创建)时间不同;
我们还注意到了linuxsir002.txt 后面有一个标记 ->,这表示linuxsir002.txt 是linuxsir001.txt的软链接文件。
值得我们注意的是:当我们修改链接文件的内容时,就意味着我们在修改源文件的内容。当然源文件的属性也会发生改动,链
[root@localhost ~]# ln -s linuxsir001.txt linuxsir002.txt
[root@localhost ~]# ls -li linuxsir001.txt linuxsir002.txt
2408274 -rw-r--r-- 1 root root 29 04-22 21:53 linuxsir001.txt
接文件的属性并不会发生变化。当我们把源文件删除后,链接文件只存在一个文件名,因为失去了源文件,所以软链接文件也
就不存在了。这一点和硬链接是不同的;
[root@localhost ~]# rm -rf linuxsir001.txt 注:删除linuxsir001.txt
[root@localhost ~]# ls -li linuxsir002.txt 注:查看linuxsir002 的属性;
2408795 lrwxrwxrwx 1 root root 15 04-22 21:54 linuxsir002.txt -> linuxsir001.txt
解释
上面的例子,首先我们查看 linuxsir001.txt 的属性,比如inode 、所属文件种类、创建或修改时间等... ...我们来对比一
[root@localhost ~]# ls -li sun* 注:我们列一下sun.txt 和sun002.txt
2408263 -rw-r--r-- 2 root root 29 04-22 21:02 sun002.txt
2408263 -rw-r--r-- 2 root root 29 04-22 21:02 sun.txt
上面的例子告诉我们,如果一个链接文件失去了源,就意味着他已不存在了;
我们能看到软链接文件,其实只是源文件的一个标记,当源文件失去时,他也就是存在了。软链接文件只是占用了inode来