文件、目录管理(下)

chattr 给文件或者目录增加隐藏权限.

chattr   +-= 参数    文件或目录名

+、-、=分别表示增加、删除、设定 给目录加特殊权限,目录下的文件的文件内容是可以更改的,这个权限只是作用于目录本身。

 a    : 增加该属性后,表示只能追加不能删除,非root用户不能设定该属性。

 i   : 增加该属性后,表示文件不能删除、重命名、设定链接、写入以及新增数据等。

         给目录加上+i权限后,是和文件添加+i属性一样的效果,不能更改名字,不能写入内容,不能创建子目录,也不能删除

        给目录加了一个+a权限或+i权限,能更改目录里面文件的内容

lsattr   用于查看文件或目录的特殊属性

  lsattr -d  目录   : 查看目录的属性

lsattr -R 会显示目录及子目录下的文件(一层或多层目录文件),若是不加-R,则仅仅显示一层目录文件

609d7415fcb9296132367acb160ddad6a32.jpg

d0de6e4b072054afdd2c259930bce0fe62e.jpg

set_uid: 该权限针对二进制可执行文件,使文件在执行阶段具有所有者的权限。比如:passwd这个命令就有这个权限,当普通用户执行passwd命令时,可以临时获得root权限,从而可以更改密码。

64773c4b66b577af9187e9400072ce57a54.jpg

set——gid  :该权限针对二进制可执行文件,也可以作用在目录上。当作用在文件时,和set uid一样。当作用目录时,目录被设置这个权限后,任何用户在此创建的文件都具有和该目录所属的组相同的组。

0e38ee093de6fcec7c06826123055fc83e9.jpg

sticky bit 防删除位。文件是否可以被某用户删除,主要处决于该文件所在目录是否对该用户具有写的权限。

总结如下:chmod u+s xxx # 设置setuid权限
chmod g+s xxx # 设置setgid权限
chmod o+t xxx # 设置stick bit权限,针对目录
chmod 4775 xxx # 设置setuid权限
chmod 2775 xxx # 设置setgid权限
chmod 1775 xxx # 设置stick bit权限,针对目录

硬链接和软链接的区别:

ln -s 源文件  目标文件    如果加了-s,则表示创建软链接。不加-s,则是创建硬链接。

     硬链接:

[硬链接]-->指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户 就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和 其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
语法:ln 【源文件】 【硬连接文件】

      1. 只能对文件创建,不能应用用于目录  

      2. 不能跨文件系统

      3. 创建硬链接会增加文件被链接的次数

 

软链接:

    做软链接尽量要求用绝对路径。

     相当于windows中的快捷方式,就好像windows里面的桌面快捷方 式,源文件被删除了,快捷方式也失

    语法:ln -s  【源文件或目录】  【软件链名字】
    应用:(1)可以应用于目录  (2)可以跨文件系统(3)不会增加被链接文件的链接次数
     (4)大小为指定的绝对路径所包含的字符总数(5)有自己的inode号(6)权限无关紧要

ad693b8c025bc8ad3bcdc0d661c2a2b5c2e.jpg

find的用法:查找文件

locate命令的安装:    yum  insatll -y mlocate

 yum安装完后,需要执行一下updatedb这个命令,更新一下数据库,locate命令才可以用。

da3507c5b09d293dbb717a21b3579d7ce8e.jpg

2b2a8b444767963ea04a3c0a21a7066fd70.jpg

f571099b12ae369ae3b4989dc47ba64af08.jpg

文件的类似:

d:   目录

f:普通文件

l :链接文件

s: socket 文件(套接字文件)

c :字符设备文件

 b :块设备文件

find命令的基本操作集合:

find  .-name april fprint file 在当前目录下查找以april开始的文件,并把结果输出到file中
find  . -name ap -o -name may查找以ap或may开头的文件(-o表示或者)
find /mnt -name tom.txt -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件
find /mnt -name t.txt ! -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件
find /tmp -name wa* -type l 在/tmp下查找名为wa开头且类型为符号链接的文件
find /home -mtime -2 在/home下查最近两天内改动过的文件
find /home -atime -1 查1天之内被存取过的文件
find /home -mmin +60 在/home下查60分钟前改动过的文件
find /home -amin +30 查最近30分钟前被存取过的文件
find /home -newer tmp.txt 在/home下查更新时间比tmp.txt近的文件或目录
find /home -anewer tmp.txt 在/home下查存取时间比tmp.txt近的文件或目录
find /home -used -2 列出文件或目录被改动过之后,在2日内被存取过的文件或目录
find /home -user cnscn 列出/home目录内属于用户cnscn的文件或目录
find /home -uid +501 列出/home目录内用户的识别码大于501的文件或目录
find /home -group cnscn 列出/home内组为cnscn的文件或目录
find /home -gid 501 列出/home内组id为501的文件或目录
find /home -nouser 列出/home内不属于本地用户的文件或目录
find /home -nogroup 列出/home内不属于本地组的文件或目录
find /home -name tmp.txt -maxdepth 4 列出/home内的tmp.txt 查时深度最多为3层
find /home -name tmp.txt -mindepth 3 从第2层开始查
find /home -empty 查找大小为0的文件或空目录
find /home -size +512k 查大于512k的文件
find /home -size -512k 查小于512k的文件
find /home -links +2 查硬连接数大于2的文件或目录
find /home -perm 0700 查权限为700的文件或目录
find /tmp -name tmp.txt -exec cat {} \;
find /tmp -name tmp.txt -ok rm {} \;

find / -amin -10 # 查找在系统中最后10分钟访问的文件
find / -atime -2 # 查找在系统中最后48小时访问的文件
find / -empty # 查找在系统中为空的文件或者文件夹
find / -group cat # 查找在系统中属于 groupcat的文件
find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件
find / -mtime -1 #查找在系统中最后24小时里修改过的文件
find / -nouser #查找在系统中属于作废用户的文件
find / -user fred #查找在系统中属于FRED这个用户的文件

****重点****find与-exec或者xargs的结合

stat  文件名  :查看这个文件的atime、ctime、mtime的时间。

0d8f81913cdaace02cbcdabae65cc90bc9c.jpg

21ac64881f31ee613ef4fe9969966c3f559.jpg

e72c82ab78a560fe1a24737d600b8dc6172.jpg

a8fde606c0f1b447203a5e3a34bcccfaec2.jpg

29bdd02fc4b30a19123438757b50d1147c1.jpg

 

1d0e8994755404afa636ddc84235525bb5f.jpg

linux和windows之间相互传文件:

yum  install  -y  lrzsz 

bc585f68ff25c5d4e839da5cc54bf7ce0d8.jpg

32983f9d2fc251ddd87013408c0c18377c4.jpg

c1f533862270a750319cdad1d44defa7ba0.jpg

 

 

一般情况下,每个存储设备或存储设备的分区(存储设备是硬盘、软盘、U盘 ..)被格式化为文件系统后,都会有两部份,一部份是iNode,另一部份是Block。Block是用来存储数据用的,而iNode就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。

inode包含文件的元信息,具体来说有以下内容:

  • Size 文件的字节数
  • Uid 文件拥有者的User ID
  • Gid 文件的Group ID
  • Access 文件的读、写、执行权限
  • 文件的时间戳,共有三个:
    • Change 指inode上一次变动的时间
    • Modify 指文件内容上一次变动的时间
    • Access 指文件上一次打开的时间
  • Links 链接数,即有多少文件名指向这个inode
  • Inode 文件数据block的位置
  • Blocks 块数
  • IO Blocks 块大小
  • Device 设备号码

可以用stat命令,查看某个文件的inode信息:

b884d082c0b7c0d579a6104ce5136433873.jpg

***有时候查看系统的时候,df -h 看到磁盘空间并没有占满,可以df -i 查看一下是不是inode占满了。

620896622dedd3ed230a34054f3c4357f31.jpg

 

 

 

 

 

 

转载于:https://my.oschina.net/u/3964315/blog/3024256

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值