Linux中的Chattr命令更改文件属性

在Linux中,文件属性是描述文件行为的元数据属性。例如,属性可以指示文件是否已压缩,或者文件是否可以删除。

可以设置或清除某些属性(如不可变属性),但其他属性(如加密属性)是只读的,只能查看。对某些属性的支持取决于使用的文件系统。

本文档介绍如何使用chattr命令更改Linux文件系统的文件属性。

Chattr语法

Chattr命令使用以下常规格式:

chattr[options][operator][attributes]文件。

[OPERATOR]部分中的值可以是以下符号之一:

-加号运算符指示chattr将指定的属性添加到现有属性中。

-减号运算符指示chattr从现有属性中删除指定的属性。

=-等于运算符指示chattr将指定的属性设置为唯一属性。

运算符后面是要在文件属性中添加或删除的一个或多个[ATTRIBUTES]标志。以下是常用属性及其相关标志的列表。

A—设置此属性后,只能在附件模式下打开文件以写入。

A—打开包含此特性集的文件时,相应的时间戳不会更改。Atime是命令或应用程序上次访问/打开文件的时间。

E-此属性表示文件正在使用区映射磁盘上的块。e属性不能用chattr修改。

I–此属性表示文件未更改。也就是说,不能删除或重命名文件。

要查看所有文件属性和标志的完整列表,请在终端中输入man chattr。

默认情况下,使用命令(如CP或rsync)复制文件时,不会保留文件属性。

Chattr示例

Chattr的一个常见用途是将不变的标志设置为文件或目录,以防止用户删除或重命名文件。

可以使用Lsattr命令查看文件属性。

Lsattr todo.txt

下一个输出显示仅设置了e标志。

-e-todo.txt

如果不想更改文件,请使用运算符向现有属性添加I标志。

Sudo chattr I todo.txt

使用sudo,因为只有根可以更改不变的标志。

要验证是否已添加属性,请执行以下操作:

Lsattr todo.txt

-I-e-todo.txt

要取消更改并删除不可变标志,请使用-运算符。

Sudo chattr I todo.txt

Chattr允许您一次添加或删除多个属性。例如,如果要指示内核不要更改文件,或者不要跟踪上次访问时间,则可以使用以下内容:

Sudo chattr iA todo.txt

最后一个可用的运算符是=运算符。例如,要将e属性设置为唯一属性,请执行以下操作:

Sudo chattr ‘=e’ todo.txt

为了避免对字符进行shell解释,请用引号括住运算符和标志。

结论

Chattr是一个命令行工具,用于更改Linux文件系统的文件属性。

如果有问题或反馈,请随时发送意见。

Linux

Command

查特r。

属性

大文件

LINUX

如何在Ubuntu 20.04中安装和使用FFmpeg

2022-9-23 11:00:52

LINUX

在灾难面前,你为什么不说话

2022-9-23 12:46:17

搜索