OS Xで「ロックされた」ファイルをロック解除するコマンド


84

私はWindowsシステムから私のMacにたくさんの読み取り専用ファイルをコピーした。 「情報を見る」を使って各ファイルの情報を見ると、それらがロックされているのがわかります。私はいくつかのファイルをコピーするためのbashスクリプトを書いています、そして、私は「操作は許可されていません」と言うエラーを得ています。私はWindowsシステムからファイルを頻繁に取り込むので、スクリプトにこれらのファイルのロックを解除してもらいたいのです。

OSXで "Locked"ファイルをロック解除するための端末コマンドは何ですか?

回答:


124

ファイルをロック解除するには、次のものを使用できます。

chflags -R nouchg /PATH/TO/DIRECTORY/WITH/LOCKED/FILES/
  • chflags = "locked"のようなファイル/フォルダのフラグを変更する
  • -R =再帰的またはすべて指定し、指定されたディレクトリ内のディレクトリをたどる
  • nouchg =はファイルを変更できることを意味します
  • /PATH/ =はもちろん変更したいファイルへのパスです。 何かのようなもの: ~/Sites/mysite/directory/with/locked/files/ のように動作します そうですね。

1
あなたが答えていたのと同じように、私はその解決策を見つけたようです。また、-Rは再帰的なものであることも学びました。そのため、現在のディレクトリ内のすべてのファイルのロックを解除するには、< br /> chflags nochg *< br />ファイルを1つだけ変更する< br /> chflags nouchg onefile.txt参照: mehtanirav.com/2009/04/16/recursively-unlock-files-on-mac-os-x
Michael Prescott

1
別の関連フラグがあります schg これはシステム不変フラグです(参照 developer.apple.com/library/mac/documentation/Darwin/Reference/… それをクリアするコマンドは似ています: sudo chflags noschg PATH/TO/LOCKED/FILE
Andy Madge

つかいます /bin/ls -lO /path/to/file macOSを見る flags ファイルに。 macOSのフルパスに注意してください。 ls 'コマンド。これはあなたがGNU Coreutilsをインストールしている場合に必要です。
Tony Barganski

15

また使用することができます SetFile -a lたとえそれが同じことをしても chflags nouchg

SetFile -a l file.ext

-a l ロックされた属性のビットを設定解除します。 SetFileをインストールするには、Xcodeの環境設定またはからCommand Line Toolsパッケージをダウンロードします。 developer.apple.com/downloads


これは、Windowsマシンからコピーされたいくつかのファイルを使って、macOS Sierraで私にとってうまくいった方法です。私が使ったのは:SetFile -a l〜/ Documents / Arduino / Samples / *
callisto

13

これは、ディレクトリ全体を検索してすべてのファイルのロックを解除したい場合に役立ちます。

ターミナルで cd ディレクトリへ

このコマンドは それらのリストを印刷する

$ find . -flags uchg

このコマンド それらのロックを解除します

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

最初のコマンドを使用して、2番目のコマンドを実行した後にすべてのファイルがロック解除されていることを再確認することができます。


1
これは機能しますが、ファイルごとに新しいプロセスを開始するため、多数のファイルでは非常に遅くなる可能性があります。
Richard Waite
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.