Ich folge Unix Tool Tip auf Twitter und es ist interessant, dass viele der geposteten Tipps nicht auf OS X verfügbar sind.
Zum Beispiel:
cp - u kopiert nur Dateien in das Zielverzeichnis, die nicht existieren oder neuer sind als ihre vorhandenen Gegenstücke.
Wenn ich dies auf meinem Computer ausprobiere, ergibt sich Folgendes:
cp: illegal option -- u
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory
Warum sind diese Optionen nicht verfügbar und ist es möglich, unter OS X darauf zuzugreifen?
Holen Sie sich Homebrew und lassen Sie es die Kerndienstprogramme installieren. Sie können dann sehen, ob die GNU-Version von cp die gewünschten Flags unterstützt. Hier ist eine gute Antwort auf einer Partnerseite und ich werde die genauen Schritte ausziehen, die Sie benötigen, um cp durch die GNU-Version zu ersetzen, wenn Sie dies wünschen:
Hier ist Homebrew - Link
Hier ist die lange Geschichte - https://superuser.com/questions/476575/replace-os-xs-shell-commands-with-the-linux-versions/476594#476594
Ein Beispiel für eine solche Umgebung ist Homebrew , das beispielsweise sed
unter anderem GNU enthält. Sobald Sie Homebrew installiert haben, können Sie tippen
brew install coreutils
und installieren Sie die GNU Coreutils . Diese stellen Ihnen sed
, date
, printf
und wc
viele andere Tools zur Verfügung, die mit GNU/Linux geliefert werden, aber nicht mit OS X. Um jedoch die standardmäßigen OS X-Binärdateien nicht zu „überschreiben“, wird ihnen g
standardmäßig das Präfix vorangestellt. Wenn Sie also nach der Installation der Coreutils GNU sed verwenden möchten, geben Sie Folgendes ein
gsed
Wenn es zu mühsam ist, dies jedes Mal einzugeben, können Sie Ihrem PATH ein "gnubin"-Verzeichnis hinzufügen und einfach GNU sed mit aufrufen sed
. Sie müssen Folgendes zu Ihrem hinzufügen ~/.bash_profile
:
PATH="$(brew --prefix coreutils)/libexec/gnubin:$PATH"
port
?sudo port install coreutils
.Der Grund dafür ist, dass OSX BSD-Befehlszeilentools verwendet und die Unix-Tooltip-Benutzer wahrscheinlich Linux verwenden, das GNU-Befehlszeilentools verwendet.
Sie können GNU-Tools unter OSX (und BSD unter Linux) installieren.
Am einfachsten ist es, einen Paketmanager wie Macports, Homebrew oder Fink zu verwenden
Lri
brew install coreutils findutils gnu-sed gawk
. Siehe apple.stackexchange.com/questions/69223/… .Gordon Davisson
gcp
, um Verwirrung zu vermeiden) nicht, wie er die komplexen Metadaten kopieren soll, die OS X-Dateien haben können (erweiterte Attribute usw.); Wenn Sie alsogcp
eine Alias-Datei verwenden, fehlen der Kopie wichtige Informationen und sie funktioniert nicht.DQdlM
Gordon Davisson
gcp -R
werde es zusammen mit allem anderen kopieren). Wenn Sie meinen._somefilename
, das ist eine AppleDouble-Datei, die verwendet wird, um Metadaten (die Informationen, von denen ich spreche) auf einigen Arten von fremden Volumes zu speichern, was ... kompliziert ...DQdlM
Thorbjørn Ravn Andersen