扩展文件属性和bash

隐身

我在Ubuntu bash中遇到了一个有趣的行为,我无法完全理解。如果我将扩展文件属性添加到文件然后进行更改-属性将从文件中删除。从我的角度来看哪个还可以。

user@user:~/tmp$ echo "aaa" > testattr
user@user:~/tmp$ setfattr --name "user.test" --value "Tested" testattr 
user@user:~/tmp$ getfattr --name "user.test" testattr
# file: testattr
user.test="Tested"
user@user:~/tmp$ vi testattr 
< change something in file and save it > 
user@user:~/tmp$ getfattr --name "user.test" testattr
testattr: user.test: No such attribute

但是,如果我使用bash在文件中写入内容-文件属性将保留在原处。有人可以解释这种行为吗?

user@user:~/tmp$ echo "aaa" > testattr
user@user:~/tmp$ setfattr --name "user.test" --value "Tested" testattr 
user@user:~/tmp$ getfattr --name "user.test" testattr
# file: testattr
user.test="Tested"
user@user:~/tmp$ echo "bbb" > testattr
user@user:~/tmp$ getfattr --name "user.test" testattr
# file: testattr
user.test="Tested"
参观Grzegorz

vi正在删除编辑的文件,并用新文件替换。这就是为什么不保留属性的原因。

这是文件操作的日志。

$ mkdir test
$ touch test/file
$ inotifywait -m -r test
Setting up watches.  Beware: since -r was given, this may take a while!
Watches established.
# vi is now running in another shell
test/ OPEN file
test/ CREATE .file.swp
test/ OPEN .file.swp
test/ CREATE .file.swpx
test/ OPEN .file.swpx
test/ CLOSE_WRITE,CLOSE .file.swpx
test/ DELETE .file.swpx
test/ CLOSE_WRITE,CLOSE .file.swp
test/ DELETE .file.swp
test/ CREATE .file.swp
test/ OPEN .file.swp
test/ MODIFY .file.swp
test/ ATTRIB .file.swp
test/ CLOSE_NOWRITE,CLOSE file
test/ OPEN file
test/ CLOSE_NOWRITE,CLOSE file
test/ MODIFY .file.swp
test/ CREATE 4913
test/ OPEN 4913
test/ ATTRIB 4913
test/ CLOSE_WRITE,CLOSE 4913
test/ DELETE 4913
test/ MOVED_FROM file     # old file moved
test/ MOVED_TO file~
test/ CREATE file         # new file created
test/ OPEN file
test/ MODIFY file
test/ CLOSE_WRITE,CLOSE file
test/ ATTRIB file
test/ ATTRIB file
test/ MODIFY .file.swp
test/ DELETE file~
test/ CLOSE_WRITE,CLOSE .file.swp
test/ DELETE .file.swp

请参阅此答案以禁用该行为。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Unison和扩展文件属性

来自分类Dev

扩展名为bash和sh的文件

来自分类Dev

bash函数:分割文件的名称和扩展名

来自分类Dev

Bash 5文件名扩展和nullglob

来自分类Dev

灰烬扩展和属性

来自分类Dev

Bash中的“文件名扩展”和“路径名扩展”是否相同?

来自分类Dev

哪些文件系统与Mac和PC兼容并支持扩展文件属性

来自分类Dev

SCEP和扩展证书属性

来自分类Dev

如何挂钩bash命令或系统调用以保留扩展文件属性?

来自分类Dev

Bash 文件扩展名

来自分类Dev

bash参数扩展内的:和:=

来自分类Dev

Bash Brace扩展和变量

来自分类Dev

Bash变量扩展和分配

来自分类Dev

Bash:使用正则表达式移动文件以匹配脚本扩展和固定文本的模式

来自分类Dev

在查找和循环中的变量中使用bash扩展的globs文件掩码

来自分类Dev

在Mac上执行bash和sh文件,而无需编写扩展名

来自分类Dev

Bash脚本以递归方式查找和更改文件扩展名

来自分类Dev

在bash shell脚本中,如何重命名多个文件,仅保留数字和原始文件名的扩展名?

来自分类Dev

查找,xargs和mv:使用双引号,扩展名和bash优先级问题重命名文件

来自分类Dev

编写扩展文件属性swift示例

来自分类Dev

如何从文件中删除Mac扩展属性?

来自分类Dev

查找具有扩展属性的文件

来自分类Dev

无法在 mac 上显示扩展文件属性

来自分类Dev

原型,数组扩展和对象属性

来自分类Dev

扩展属性如何存储和保留?

来自分类Dev

公共接口和扩展中的属性类型

来自分类Dev

PHP OOP:属性和扩展类问题

来自分类Dev

Gradle 中扩展和额外属性的区别

来自分类Dev

文件名参数扩展bash

Related 相关文章

热门标签

归档