Kleines Copy / Paste Snippet um einen gesamten Mac (oder ein Linux) in ein beliebiges Zielverzeichnis auf einen anderen Rechner zu übertragen. Zuerst wird ins Root-Directory ” / ” gewechselt und von dort aus relativ in das entfernte Zielverzeichnis übertragen. Da dieses sehr wahrscheinlich etwas länger dauert, habe ich dem “rsync” ein “nohup” vorgeschaltet. Hierdurch kann man den laufenden Befehl mit der Tastenkombination Ctrl-z anhalten und anschliessend mit ” bg ” als Hintergrundprozess weiterlaufen lassen und das Terminal schliessen. Evtl. Fehler kann man später dann in der Datei ” nohup.out ” nachlesen.
cd /
nohup rsync \
--relative \
--archive \
--executability \
--compress \
--exclude=/Volumes/* \
. <user>@<zielrechner>:/<zielpfad>
Kommandozeilen Notizzettel.
Suche alle Dateien , mit den Extensions
und konvertiere den Windows Zeilenumbruch CRLF ( \r\n )
in den Unix Zeilenumbruch LF ( \n).
Die betroffenen Dateien werden dabei aufgelistet.
Erläuterung zu dem -exec /bin/rm ....
Die -i Option des sed legt (zumindest auf dem Mac) eine gleichnamige Tempdatei mit der Erweiterung “*-e” an.
Diese Tempdatei wird im gleichen Durchlauf entfernt.
find . -type f \
\( -name "*.php" -or \
-name "*.htm*" -or \
-name "*.js" -or \
-name "*.css" \) \
-exec /usr/bin/sed -i -e 's/'"$(printf '\015')"'$//g' {} \; \
-exec /bin/rm {}-e \; \
-print
In /etc/paths werden die einzelen Einträge für $PATH hinterlegt, das war’s schon.
Weitere, interne Verarbeitung:
/etc/profile führt /usr/libexec/path_helper beim Starten einer Terminal-Shell aus, welches dann wiederum $PATH aus den hinterlegten Infos generiert.