在OSX上解锁“锁定”文件的终端命令是什么?
#1 楼
要解锁文件,您可以使用:chflags -R nouchg /PATH/TO/DIRECTORY/WITH/LOCKED/FILES/
chflags
=更改文件/文件夹上的标志,例如“锁定” -R
=递归或所有内容,并遵循指定目录中的目录nouchg
=表示可以更改文件/PATH/
=当然是文件的路径您想更改。类似的东西:
~/Sites/mysite/directory/with/locked/files/
正常工作。#2 楼
如果您要搜索整个目录并解锁所有文件,这将很有帮助。$ find . -flags uchg
此命令将它们解锁。
$ find . -flags uchg -exec chflags nouchg {} \;
您可以使用第一个命令仔细检查所有运行第二个命令voilà后,文件将被解锁!
评论
尽管此方法有效,但是对于大量文件而言,这可能会非常慢,因为它会为每个文件启动一个新进程。
–Richard Waite
2014年8月23日23:52
我发现我必须使用+:find。 -flags + uchg甚至可以找到似乎只设置了一个标志uchg的文件。
–克里斯·卡罗尔(Chris F Carroll)
19年11月28日在13:05
#3 楼
您也可以使用SetFile -a l
,即使它与chflags nouchg
的作用相同:您可以通过从Xcode的首选项或从developer.apple.com/downloads下载命令行工具包来安装SetFile。评论
这是在macOS Sierra上对我有用的方法,其中包含从Windows机器复制的一些文件。我用过:SetFile -a l〜/ Documents / Arduino / Samples / *
– callisto
17年5月18日在6:59
#4 楼
实际上,可以在文件上设置两个锁定标志:uchg
和schg
。设置了uchg
标志的文件对于普通用户是不可变的,但可以被系统更改。设置了schg
标志的文件对任何人都是不可变的。这两个标志可以同时设置。要查看文件上设置了哪些标志,请使用
ls -lO FILE
字母o,而不是零。
要绝对解锁文件,必须执行
chflags nouchg,noschg FILE
就像设置了两个标志并且您仅删除其中之一,它仍将被锁定。
评论
好像我在响应时找到了解决方案。我还了解到-R是递归的。因此,要解锁当前目录中的所有文件,请使用
chflags nochg *
并仅更改一个文件
chflags nouchg onefile.txt请参阅:mehtanirav.com/2009/04/16/recursively在Mac OS X上解锁文件
– Michael Prescott
2009年9月14日下午2:37
还有另一个相关的标志schg是系统不可变标志(请参阅developer.apple.com/library/mac/documentation/Darwin/Reference/…)。清除该命令的命令与此类似:sudo chflags noschg PATH / TO / LOCKED / FILE
–安迪·麦奇(Andy Madge)
15年1月12日在20:22
使用/ bin / ls -lO / path / to / file查看文件上的macOS标志。请注意macOS'ls'命令的完整路径。如果您安装了GNU Coreutils,这是必需的。
–托尼·巴尔甘斯基(Tony Barganski)
18年11月7日在5:57