Ich folge Unix Tool Tip auf Twitter und es ist interessant, dass viele der dort veröffentlichten Tipps nicht auf OS X verfügbar sind.
Zum Beispiel:
cp - u kopiert nur Dateien, die nicht existieren oder neuer sind als ihre bestehenden Gegenstücke, in das Zielverzeichnis.
Der Versuch, dies auf meinem Computer auszuführen, führt zu folgenden Ergebnissen:
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 können Sie unter OS X darauf zugreifen?
macos
terminal
command-line
KennyPeanuts
quelle
quelle
brew install coreutils findutils gnu-sed gawk
. Siehe apple.stackexchange.com/questions/69223/… .gcp
, um Verwirrung zu vermeiden) die komplexen Metadaten, die OS X-Dateien haben können (erweiterte attrs usw.), nicht kopieren. Wenn Sie alsogcp
eine Alias-Datei verwenden, fehlen der Kopie wichtige Informationen und sie funktioniert nicht.gcp -R
wird es zusammen mit allem anderen kopieren). Wenn Sie meinen._somefilename
, das ist eine AppleDouble-Datei, die zum Speichern von Metadaten (die Informationen, von denen ich spreche) auf einigen Arten von fremden Volumes verwendet wird, was ... kompliziert ist ...Antworten:
Holen Sie sich Homebrew und lassen Sie die Kerndienstprogramme installieren. Sie können dann sehen, ob die GNU-Version von cp die von Ihnen gewünschten Flags unterstützt. Hier ist eine gute Antwort auf einer Partnerseite und ich werde die genauen Schritte, die erforderlich sind, um cp durch die GNU-Version zu ersetzen, auflisten, wenn Sie dies wünschen:
Hier ist Homebrew - http://mxcl.github.com/homebrew/
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] ( http://mxcl.github.com/homebrew/ ), die
sed
unter anderem GNU enthält . Sobald Sie Homebrew installiert haben, können Sie eingebenund installiere die GNU Coreutils . Dies wird Ihnen mit
sed
,date
,printf
,wc
und viele andere Tools , die mit GNU / Linux versenden, aber nicht OS X. Allerdings, um nicht zu „überschreiben“ default OS X Binärdateien, werden sie mit dem Präfix werdeng
standardmäßig aktiviert . Wenn Sie also nach der Installation von Coreutils GNU sed verwenden möchten, geben Sie Folgendes einWenn dies jedes Mal zu umständlich ist, können Sie Ihrem PATH ein "gnubin" -Verzeichnis hinzufügen und GNU sed mit aufrufen
sed
. Sie müssen Folgendes zu Ihrer hinzufügen~/.bash_profile
:quelle
port
?Der Grund dafür ist, dass OSX BSD-Befehlszeilentools verwendet und die Benutzer des Unix-Tooltips 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
quelle