第2章文件,目录管理
2.15修改文件的特殊属性
2.15.1 chattr命令
命令chattr(更改属性)
语法:chattr [ + - = ] [ Asaci ] [文件或目录名],其中,+,-和=分别表示增加,减少和设定
一个 增加该属性后,表示文件或目录的atime的将不可更改
小号 增加该属性后,会将数据同步写入磁盘中
一个 增加该属性后,表示只能追加不能删除,非根用户不能设定该属性
Ç 增加该属性后,表示自动压缩该文件,读取时会自动解压
我 增加该属性后,表示文件不能删除,重命名,设定链接,写入以及新增数据
常用的为a,我这两个选项
2.15.2 lsattr命令
命令lsattr(list attribute),用于读取文件或目录的特殊权限
语法:lsattr [ -aR ] [文件或目录名]
-a 类似于LS的-a选项,即连同隐藏文件一同列出
-R 连同子目录的数据一同列出
2.15.3设置UID,GID设置粘和位
set uid 该权限针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限
设置GID 该权限可以作为文件上(二进制可执行文件),也可以作用目录上作用在文件上时,会使文件在执行阶段具有文件所属组的权限;作用目录上时,任何用户在此目录下创建的文件都具有和该目录所属的组相同的权限
sticky bit 防删除位,设置该权限后,即使用户对目录有写权限,也不能删除该目录下其他用户的文件(sticky bit只针对目录有用)
set uid权限:chmod [ u +/- s ] [文件名]
set gid权限:chmod [ g +/- s ] [文件名或目录名]
sticky bit权限:chmod [ o +/- t ] [目录名]
补充:file 查看是否是二进制文件:带有ELF字样或x86_64等版本信息的为二进制文件,否则不是二进制文件。
cat / etc / redhat-release 查看系统版本
2.16 Linux的链接文件
2.16.1硬链接
硬链接:硬链接的英文直接再建立一个索引节点链接到文件放置的块区域,即进行硬链接时,该文件内容没有任何变化,只是增加了一个指向这个文件的索引节点,且不会额外占用磁盘空间源文件和硬链接文件相互为硬链接。
硬链接本质上还是一个文件,即使建立多个硬链接文件,空间也只占用一份,多个硬链接文件共用一个索引节点。
链接硬有两个限制:1,不能跨文件系统,不同的文件系统有不同的i节点表; 2,对不能目录做硬链接。
2.16.2软链接
软链接:软链接的英文建立一个独立的文件(链接文件,非常小),当读取这个链接文件时,它会把读取的行为转发到该文件所链接的文件上(类似于视窗的快捷方式)。
硬链接可以删除源文件,而软链接则不可以。做软链接时尽量使用绝对路径。
2.16.3 ln命令
命令ln(link):用于建立硬链接或者软链接
语法:ln [ -s ] [源文件] [目的文件]
-s 建立软链接,不加-s则的英文建立硬链接
2.17查找命令
该命令:只能用来查找PATH环境变量中出现的路径下的可执行文件
whereis命令:通过预先生成的一个文件列表库查找与给出的文件名相关的文件
语法:whereis [ -bms ] [文件名]
-b 只查找二进制文件
-m 只查找帮助文件(在男子目录下的文件)
-s 只查找源代码文件
找到命令:搜索文件
语法:find [路径] [参数]
-atime + n / -n 表示访问或执行时间大于或小于n天的文件
-ctime + n / -n 表示写入,更改inode属性(如更改所有者,权限或链接)的时间大于或小于n天的文件
-mtime + n / -n 表示写入时间大于或小于n天的文件
-name名文件 表示直接查找该文件名的文件
-type filetype 表示通过文件类型查找文件(包括f,b,c,d,l,s)
-inum 根据索引节点来查找文件
atime(访问时间):文件的atime是在读取文件或执行文件是更改的。
ctime(更改时间):文件的ctime是在写入文件,更改所有者,权限或链接设置时更改。
mtime(修改时间):文件的mtime是在写入文件是随文件内容的更改而更改的。
补充:更改文件内容即会更改mtime和ctime,但是文件的ctime可能会在mtime未发生任何变化时更改。
(“。”表示当前目录)
2.18文件名后缀
在Linux的的系统中,文件的后缀名没有具体意义,加或者不加都无所谓,但为了方便区分,人们习惯在定义文件名时加一个后缀名。文件名最长可达255个字符。
例如:
1.sh代表它是一个外壳脚本
2.tar.gz代表它是一个压缩包
my.cnf文件中代表它是一个配置文件
的test.txt的代表它是一个文本文档
Linux和Windows互传文件:使用yum安装lrzsz(yum install -y lrzsz)
sz:将Linux文件传到Windows上(如:sz 1.txt这里会有弹窗选择存放位置)
rz:将Windows文件传到Linux上(如:rz 回车后会有弹窗选择要传输的文件,传过来是在Linux的当前目录中)
同类的应用还有winSCP,xftp sftp以及ftp