Ich habe viele schreibgeschützte Dateien von einem Windows-System auf meinen Mac kopiert. Wenn ich die Informationen für jede Datei mit "Get Info" anzeige, kann ich sehen, dass sie gesperrt sind. Ich schreibe ein Bash-Skript, um einige Dateien zu kopieren, und es wird die Fehlermeldung "Vorgang nicht zulässig" angezeigt. Daher muss ich zuerst die Dateien entsperren. Da ich häufig Dateien aus dem Windows-System ziehen werde, möchte ich, dass mein Skript diese Dateien entsperrt.
Was ist der Terminalbefehl zum Entsperren von "gesperrten" Dateien unter OSX?
macos
command-line
file-attributes
Michael Prescott
quelle
quelle
schg
die das System unveränderbar Flag ist (siehe developer.apple.com/library/mac/documentation/Darwin/Reference/... ) Der Befehl um es zu löschen ist ähnlich:sudo chflags noschg PATH/TO/LOCKED/FILE
/bin/ls -lO /path/to/file
diese Option , um das MacOSflags
in Dateien anzuzeigen . Beachten Sie den vollständigen Pfad zumls
Befehl macOS ' '. Dies wird benötigt, wenn Sie GNU Coreutils installiert haben.Sie können auch verwenden
SetFile -a l
, obwohl es dasselbe tut wiechflags nouchg
:-a l
setzt das Bit für das gesperrte Attribut zurück. Sie können SetFile installieren, indem Sie das Command Line Tools-Paket aus den Xcode-Einstellungen oder von developer.apple.com/downloads herunterladen .quelle
Dies ist hilfreich, wenn Sie ein gesamtes Verzeichnis durchsuchen und alle Dateien entsperren möchten.
Im Terminal
cd
zum TelefonbuchDieser Befehl findet und druckt eine Liste von ihnen .
Dieser Befehl gibt sie frei .
Mit dem ersten Befehl können Sie überprüfen, ob alle Dateien entsperrt sind, nachdem Sie den zweiten Befehl, voilà!, Ausgeführt haben.
quelle
Es gibt tatsächlich zwei Sperrflags, die für eine Datei gesetzt werden können:
uchg
undschg
. Eine Datei, für die dasuchg
Flag gesetzt ist, ist für normale Benutzer unveränderlich, für das System jedoch veränderlich. Eine Datei, für die dasschg
Flag gesetzt ist, kann von niemandem geändert werden. Beide Flags können gleichzeitig gesetzt werden.Verwenden Sie, um zu sehen, welche Flags in einer Datei gesetzt sind
Das ist ein Großbuchstabe o, nicht Null.
Um eine Datei definitiv zu entsperren, müssten Sie ausführen
Als ob beide Flags gesetzt wären und Sie nur eines davon entfernen, wird es dennoch gesperrt.
quelle