2018-05-14 第三课任务笔记

2.17修改文件的特殊属性

1.chattr 设置隐藏特殊权限

命令格式:chattr[+-=] 选项 文件或目录

chattr (+-=)表示增加,减少,设定,

选项:常用参数a,i,  

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

i表示该文件不能删除,重命名,设定链接,写入及新增数据。

A表示增加该属性后,文件或目录的atime将不可更改。

实例:

[root@localhost /]# mkdir test

[root@localhost /]# chattr +i test

[root@localhost /]# touch test/1.txt

touch: 无法创建"test/1.txt": 权限不够

[root@localhost /]# ls -ld test

[root@localhost /]# chattr -i test

[root@localhost /]# touch test/1.txt

2.lsattr

命令格式:lsattr 选项 文件或目录

lsattr[-aRd]查看文件或目录的特殊权限

-a表示隐藏文件一同列出,-R表示连同子目录的数据一同列出,

-d查看目录本身

2.18特殊权限set_uid

作用:该权限使文件(二进制且可执行文件)在执行阶段具有文件的所有者的权限 (可以让非所有者账户临时具有所有者身份)

如何辨别二进制文件:

 

[root@localhost ~]# ls -l /usr/bin/passwd

-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

上述命令s为set _uid权限,当普通用户临时拥有该命令所有者身份,该文件必须是二进制可执行文件。

命令格式:set_uid 权限:chmod u+s “文件”

例子:

[aming@localhost ~]$ ls /root/

ls: 无法打开目录/root/: 权限不够

[aming@localhost ~]$ su - root

 [root@localhost ~]# chmod u+s /usr/bin/ls

[root@localhost ~]# su – aming

[aming@localhost ~]$ ls /root/

anaconda-ks.cfg    initial-setup-ks.cfg

anaconda-ks.cfg.1

有时候set_uid的权限为大写的S不是小写的s,这是因为该文件没有x权限所致。

 

2.19特殊权限set_gid

作用在二进制可执行文件上,也可以作用在目录上。

当作用在文件上时,其功能和set_uid一样。

当作用在目录上时,任何用户在此目录下创建的文件都具有和该目录所属组相同的组(已经存在不会改变)。

命令格式:chmod g+s “文件或目录”

 

2.20特殊权限 sticky_bit

作用:防删除位(只针对目录)。

命令格式:chmod o+t “目录”

默认情况下只有目录内文件的所有者或者root才可以删除或移动该文件。如果不为目录设置防删除位,任何具有该目录写和执行权限的用户都可以删除和移动其中的文件。实际应用中,防删除位一般用于/tmp目录,以防止普通用户删除或移动其他用户的文件。

 

2.21软链接

 软链接也称为符号链接,即“symbolic links/soft links”,是一个通过名称指向另一个不同文件的特殊的文件类型,是一个单独的文件,有着不同于原文件(目标文件)的属性,相当于Windows系统中的快捷方式。当对软链接进行大多数操作(包括打开、读取、写入等等)时,系统内核会自动在软链接的目标文件上执行;但某些操作,例如删除,会直接对链接文件本身操作。

做软链接时,建议尽量使用绝对路径。

/bin 相当于快捷方式,usr/bin才是它真正的目录。

软链接文件大小和文件的路径大小有关,映射的路径越大,文件越大。

软链接创建命令格式:ln –s 源文件 目标文件(目标文件相当于快捷方式)

软链接特性:

1.软链接特性:软链接和目标文件不是同一个文件,节点号不同。

2.目标文件的删除操作会影响软链接文件。当链接文件被删除时,不会对目标文件产生影响;当删除目标文件/目录时,由于失去了目标指向,软链接会失效,变成死链。

3.能跨分区创建软链接。(使用命令 #df -h 查看分区的大小是使用情况的时候,挂载点那一行就是分区。

2.22硬链接

硬链接:其本质为现有文件的另一个名字,因此硬链接和原文件是无法区分的。

硬链接创建命令格式:ln  源文件 目标文件

特点:

1.创建一个文件,这个文件和另外一个文件的inode号一样,那么这两个文件相互为硬链接文件。

2.只能对文件做硬链接,不能对目录做硬链接。

3.不能跨系统分区创建硬链接。

4.只能对已存在的文件进行创建。

5.删除一个硬链接文件并不影响其他有相同inode号的文件。

2.23find

1.根据文件名搜索

命令例子:#find /etc/ -name “文件名”

2.根据文件类型搜索

命令例子:#find /etc/ -type d

3.

-mtime (修改内容)m,modify

-ctime(写入,更改inode属性(如更改所有者、权限或者链接))c,change

-atime(访问)a,access

更改了文件内容,ctime一定会变化。

查看文件三个时间命令:stat “文件”

用法:-mtime/-ctime/-atime +n/_n 表示大于或小于n天的对应条件。

命令举例:#find /etc/ -type f –ctime -1 –name “*.conf”(条件为并列关系)

#find /etc/ -type f -o –ctime -1 –o –name “*.conf”(条件为或的关系,o=or)

4.找文件的硬链接

用法:先查看硬链接的inode号:ls  –i “文件名”

然后#find 目录 inum inode号

5.-mtime 分钟时间

#find /root/ -type f –mmin -120    120分钟内

6.-exec 命令 {}\; 对查找到的命令执行指定的命令,执行命令前不提示用户。

#find /root/ -type f –mmin -120 –exec ls –l {}\;

改名称:

 

7.根据文件大小 –size

用法:#find /root/ -size  -/+c,k(c表示byte,k表示1024bytes)

 

2.24文件名后缀

1.文件类型

d:目录,他与windows下的文件夹类似。

-:普通文件,可分为纯文本文件(ACAII)和二进制文件。纯文本文件可通过cat,more,less等工具查看内容,而二进制文件可通过file查看。

l:链接,类似于windows的快捷方式

p:管道文件

c:字符设备文件

b:该文件为块设备

s:套接字文件,用于进程之间的通信

2.Linux文件名后缀

文件名后缀作用:当用户看到用户名时,能够很快知道是一个什么文件。

常用:

sh:代表是一个shell脚本

tar.gz:代表是一个压缩包

my.cnf:代表是一个配置文件

test.zip:代表是一个压缩文件

 

2.25Linux与Windows互传文件

使用XShell,Putty不可以

首先安装一个包:#[root@localhost /]# yum install -y lrzsz

 

 

1.把Linux文件传输到Windows上使用命令:sz “文件名”

实例:

[root@localhost /]# touch 1.txt

[root@localhost /]# ls

1.txt       default.target  lib    opt   sbin  tmp

aminglinux  dev             lib64  proc  srv   usr

bin         etc             media  root  sys   var

boot        home            mnt    run   test

[root@localhost/]# sz 1.txt                

 [root@localhost /]# ^C

[root@localhost /]# vi 1.txt

[root@localhost /]# sz 1.txt

此时在Windows上就可以看到1.txt文件了

2. 把Windows文件传输到Linux上使用命令:rz “window上文件”

猜你喜欢

转载自blog.csdn.net/zanghaos/article/details/80330191