2009-09-14 02:15:23 +0000 2009-09-14 02:15:23 +0000
102
102

解除OS X上的 "锁定 "文件的命令。

我从Windows系统复制了很多只读文件到我的Mac上。当使用 “Get Info "查看每个文件的信息时,我可以看到它们被锁定了。我正在写一个bash脚本来复制一些文件,但我收到一个错误信息,说 "操作不允许",所以,首先我需要解锁这些文件。因为我经常从Windows系统中提取文件,所以我希望我的脚本能够解锁这些文件。

在OSX上解锁 "锁定 "文件的终端命令是什么?

答案 (4)

144
144
144
2009-09-14 02:26:55 +0000

要解锁文件,你可以使用

chflags -R nouchg /PATH/TO/DIRECTORY/WITH/LOCKED/FILES/
  • chflags = 改变文件/文件夹的标志,如 “锁定”
  • -R = 递归或对所有的东西,并遵循指定目录内的目录
  • nouchg = 意味着文件可以被改变
  • /PATH/ = 当然是你想改变的文件的路径。类似于 ~/Sites/mysite/directory/with/locked/files/也可以。
15
15
15
2013-09-20 03:23:10 +0000

如果你想搜索整个目录并解锁所有文件,这很有帮助。

在终端cd到目录

这个命令找到并将打印出它们的列表

$ find . -flags uchg

这条命令将解锁它们

$ find . -flags uchg -exec chflags nouchg {} \;

你可以在运行第二条命令后,使用第一条命令来仔细检查所有的文件是否都被解锁了,是这样的!

15
15
15
2009-09-14 02:30:00 +0000

你也可以使用SetFile -a l,尽管它的作用和chflags nouchg一样。

SetFile -a l file.ext

-a l 取消锁定属性的位。你可以通过从 Xcode 的偏好设置或从 developer.apple.com/downloads 下载命令行工具包来安装 SetFile。

2
2
2
2019-05-15 08:32:33 +0000

其实在一个文件上可以设置两个锁标志。uchgschg。一个设置了uchg标志的文件,普通用户是不可更改的,但系统是可以更改的。而设置了schg标志的文件,任何人都无法更改。两个标志可以同时设置。

要查看文件上设置了哪些标志,用

ls -lO FILE

那是大写字母o,不是零。

要肯定解锁一个文件,你必须执行

chflags nouchg,noschg FILE

,因为如果两个标志都设置了,你只删除其中一个,它仍然会被锁定。