最简单的方法是使用终端。要做到这一点,你需要有sudo访问权限,我假设你已经熟悉了,至少在概念上,因为你提到了Linux。
TL; DR:
find . \! -perm 666 -type f -exec sudo chmod 666 {} \;
是一个单线程,可以解决这个问题,假设你从你想要的确切文件夹中运行它,例如$HOME/Desktop/files_are_in_this_folder
。但是,如果只是一个文件,则可以运行sudo chmod 666 /path/to/the/file
。
请允许我尽我所能解释发生了什么。
find(1)
是一个非常强大的发现实用程序,远远超过whereis
。它如此强大的原因是需要这么多不同的选择; 作为一个更简单的例子,尝试find $HOME -size +100M
; 这将以递归方式查找超过100 MB的所有文件并显示它们的列表。我的输出如下:
/Users/jayands/.rvm/gems/ruby-1.9.3-p385/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/libv8_base.a
/Users/jayands/.rvm/gems/ruby-1.9.3-p385/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/obj.host/tools/gyp/libv8_base.a
/Users/jayands/.rvm/gems/ruby-1.9.3-p385@rails-4.0/gems/libv8-3.11.8.3-x86_64-darwin-10/vendor/v8/out/x64.release/libv8_base.a
/Users/jayands/.rvm/gems/ruby-2.0.0-rc2@rails-4.0/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/libv8_base.a
/Users/jayands/.rvm/gems/ruby-2.0.0-rc2@rails-4.0/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/obj.host/tools/gyp/libv8_base.a
/Users/jayands/Documents/2013-02-10.wav
/Users/jayands/Documents/2013-02-17.wav
/Users/jayands/Documents/2013-02-24.wav
/Users/jayands/Documents/2013-03-03.wav
/Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data0.sdb
/Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data1.sdb
/Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data2.sdb
/Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data4.sdb
/Users/jayands/Library/Caches/com.apple.Safari/Cache.db
/Users/jayands/Music/iTunes/iTunes Media/Podcasts/Bronyville/93 Bronyville Episode 093 – Friendship Gives You Wings!.mp3
如你所见,它会找到所有东西,甚至是你不想修改的东西。例如,如果它们具有特定的命名约定,则*.wav
可以指定find命令以按名称搜索。find . -name '*.wav'
我说了所有这些让你熟悉更容易的部分find
; 以下是倾向于绊倒人的部分。find
有你可以把它做的指令,以什么发现。-print
是如此常见,它是默认的,通常不必指定。-print0
但是,它更有趣:它与大多数情况相同-print
,但0是NUL字符替换换行符; 它使管道xargs
更容易。在一个我们感兴趣的,然而,这是-exec
指令,它可以让你对每个文件运行,这给我们带来了最简单的shell命令{}
和\;
。该\;
awk
如果我没记错的话,就是逃避分号以终止exec命令并且花括号来自。它们被发现的东西取代。
chmod
从Unix时代开始,它仍然存在; 事实上,你可以在Linux中运行的许多命令xterm
在Mac终端中都有一些模拟。chmod 666
会给你每个人的读写权限; 但是,如果你不记得了,试试吧chmod a=rw
。这两个命令都意味着:“获取我要告诉你的文件,并为每个人设置读写访问权限。”
此外,由于您正在协作,您可能需要考虑运行私有的git
Perforce(p4
)或Mercurial(hg
)服务器,因为这些管理系统还管理文件的权限。
更多信息
find
man find
从航站楼
- 本教程
chmod
man chmod
sudo
man sudo
git
:来自git主页
如果您需要更多帮助,请询问。
哦,在我忘记之前:sudo
询问该机器的管理员密码。