dotfiles – oder wie man sich das Leben mit dem Terminal leichter macht

dotfiles - oder wie man sich das Leben mit dem Terminal leichter macht

Die PowerUser unter euch, die auch des Öfteren im Terminal unterwegs sind, kennen und wissen z.B  einen Alias für einen langen Befehl zu Erstellen und zu Verwenden. Was ein Alias ist und wie man einen erstellen kann, könnt ihr hier lesen. Auch Anpassungen des Terminal Prompt, Vi etc werden gerne mal von PowerUsern vorgenommen.

Ich selber nutze auch sehr viel den Terminal um z.B den Library Ordner im User Verzeichnis sichtbar zu machen:

# chflags nohidden ~/Library

Um doppelte Einträge aus dem „Öffnen Mit“ Context Menü zu entfernen:

Weiterlesen

Doppelte öffnen mit Einträge in OS X per Terminal Alias bereinigen

Doppelte öffnen mit Einträge in OS X per Terminal Alias bereinigen

Apple hat das Problem mit den doppelten Einträgen im „öffnen mit“ immer noch nicht im Griff. Anscheinend mehren sich dort die Einträge wenn die Software öfters aktualisiert wird.

Dieser Fehler ist nicht schlimm aber es sieht einfach blöd aus.

Es gibt einen Terminal Befehl und mittlerweile einige Programme die dieses Problem lösen können.

Für die Terminal Geeks unter euch gibt es ja auch die Möglichkeit einen Alias in der .bash_profile anzulegen. Wie ihr diese Anlegen könnt, könnt ihr hier nachlesen.

  • Öffnet im Terminal die .bash_profile z.B mit dem vi tool.

vi .bash_profile

  • Folgenden Alias hinzufügen: (Falls ihr Probleme habt den String zu kopieren, schreibt ihr ihn am besten ab. Ohne Absatz alles hintereinander schreiben)
Alias fixow='/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user;killall Finder;echo "Öffnen mit wurde zurückgesetzt, Finder startet neu"'
  • Abspeichern und vi verlassen mit shift + : + wq

Doppelte öffnen mit Einträge in OS X per Terminal Alias bereinigen

Ihr müsst den Terminal neu Starten damit die .bash_profile neu geladen wird. Jetzt könnt ihr es testen in dem ihr nur noch fixow in den Terminal eingebt.

[OS X] Die 15 meistbenutzten Terminal Befehle anzeigen

Die 15 meistbenutzten Terminal Befehle anzeigen

Der „History“ Befehl ist sehr hilfreich wenn man sich die letzten Terminal Befehle anschauen will, oder nach einem bestimmten Terminal Befehl suchen möchte. Es ist auch möglich sich die am meisten benutzten Befehle anzeigen zu lassen.

Die 15 meistbenutzten Terminal Befehle anzeigen

Den Terminal startet ihr unter Programme > Dienstprogramme > Terminal.app oder gebt Terminal in die Spotlight Suche ein.

Der Befehl sieht wie folgt aus:

history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head -15

Die Ausgabe zeigt nur den root Befehl der 15 meist genutzten Befehle und nicht die Parameter, Pfade etc. Die Ausgabe könnte dann so aussehen:

$  history | awk ‚{a[$2]++}END{for(i in a){print a[i] “ “ i}}‘ | sort -rn | head -15
179 ll
93 cd
55 sudo
53 history
45 defaults
40 pmset
39 killall
36 rm
33 man
31 mount
30 dd
24 chflags
23 ls
21 lsof
19 sqlite3

Die Nummer auf der linken Seite zeigt die Anzahl wie häufig der Befehl benutzt worden ist. Die Zahl kann sich verändern wenn die History gelöscht, vergrößert oder verkleinert wird.

 

[via OSXDaily]

[OS X] Fusion Drive selber bauen

[OS X] Fusion Drive selber bauen

Ich habe ja schon seit November ein selbstgebautes Fusion Drive in meinem Late 2009er 27″ iMac am Laufen, aber leider noch keine Zeit gehabt über den Umbau, Einrichtung und Erfahrung einen Bericht zu schreiben. Jetzt bin ich über die Feiertage endlich mal dazu gekommen.

Ich entschuldige mich schon mal im Voraus für die schlechten Bilder. Da ich dort keine klassischen Screenshots machen konnte habe ich diese mit der Kamera geknipst.

Wer noch nicht weiß was das Fusion Drive von Apple macht und ist, kann es hier mal schnell nachlesen.

Was wird nun alles benötigt um ein Fusion Drive zu bauen?

  • SSD intern verbaut
  • HDD intern verbaut (geht auch mit einer externen HDD was ich aber keinem raten würde)
  • BACKUP aller Daten auf dem Mac
  • OS X Installationsmedium (Anleitung findet ihr hier)

Da mein 27″ iMac damals nur mir einer HDD ausgeliefert werden konnte, hatte ich von Haus aus nur eine Festplatte und keine SSD verbaut. Ich habe schon vor längerem mit einem Umbaukit von Hardwrk das CD-Rom aus meinem iMac verbannt, und dafür eine zusätzliche SSD verbaut. Die Anleitung dafür findet ihr bei iFixit.com

[OS X] Fusion Drive selber bauen

 

Hatte ich schon erwähnt das ein Backup sehr wichtig ist? Also wer es noch nicht gemacht hat dann mal los. Backup von allen Daten auf dem Mac machen, denn beim Erstellen des Fusion Drives werden beide, SSD und HDD die zu einem Fusion Drive zusammen gefügt werden sollen GELÖSCHT.

Sind alle Daten auf dem Mac gesichert und ein OS X Installationsmedium zur Hand (Anleitung gibt es hier) kann es auch schon losgehen. Der Mac muss nun von dem Installationsmedium gebootet werden. Hierzu beim Starten die „alt“ Taste gedrückt halten und dann in der Auswahl das Installationmedium wählen.

[OS X] Fusion Drive selber bauen

Im Installationsmenü muss man nun den Terminal starten. Den findet man in der oberen Leiste unter Dienstprogramme. Nun ist es notwendig erst mal eine Liste der verfügbaren „Festplatten“ anzeigen zu lassen. Dafür hab ich folgenden Befehl benutzt.

$ diskutil list

In der daraus folgenden Liste muss ich mir nun den Diskidentifier für die SSD und die HDD raus suchen. In meinem Fall ist es eine 128 GB SSD mit dem Identifier „disk0“ und eine 1TB HDD mit dem Identifier „disk1„.

[OS X] Fusion Drive selber bauen

Aus diesen beiden wird nun das Fusion Drive gebaut. Um das Fusion Drive zu bauen muss ich folgenden Befehl benutzen.

$ diskutil cs create Fusion disk0 disk1

[OS X] Fusion Drive selber bauen

 

Nachdem das Fusion Drive erstellt ist, brauchen wir ja auch noch eine Partition mit einem Filesystem darauf. Ich rufe mir die Core Storage Gruppen auf in denen jetzt auch das Fusion Drive auftauchen müsste.

$ diskutil cs list

[OS X] Fusion Drive selber bauen

 

In der Liste sehe ich nun mein Fusion Drive bestehend aus meinen beiden einzelnen Platten (SSD und HDD) und eine Logical Volume Group ID. Diese muss ich mir nun kopieren um auf dem Fusion Drive eine Partition mit Filesystem anzulegen. Mit dem nächsten Befehl wird nun auf dem neuen Fusion Drive ein Volume und ein jhfs+ Filesystem angelegt. In dem Befehl ersetze ich in meinem Fall „LogicalVolumeGroupID“ mit 88DF807-3D7F-4B0E-8598-734EE6EE540B und VolumeName mit MacintoshFusion als Namen für das Volume. Die 100% geben an das die komplette größe verwendet werden soll.

diskutil coreStorage createVolume LogicalVolumeGroupID jhfs+ VolumeName 100%

Wenn die Erstellung des Volumes abgeschlossen, ist kann man den Terminal wieder schließen. Danach habe ich aus dem Installationsmenü „Aus Time Machine-Backup Wiederherstellen“ ausgewählt und habe das letzte Backup wiederhergestellt.

Das Booten von dem Fusion Drive ist gewohnt schnell wie man das von einer SSD kennt. Im System selber findet man nun im Festplattendienstprogramm eine 1.1TB große „Festplatte“.

Was ist und wird nun noch passieren? OS X hat durch das Wiederherstellen des Systems erst den SSD Bereich beschrieben und danach den HDD Bereich befüllt. Neue Schreibzugriffe werden erst mal durch den 8GB großen Cache der auf der SSD reserviert wurde bedient. In den nächsten Tagen wird OS X sich die Daten je nach Benutzung so umschaufeln, dass oft benutze Daten/Programme auf der SSD liegen und weniger benutzte auf der HDD.

An dein beiden Screenshots kann man erkennen das es auch keinen Geschwindigkeitsverlust nach dem Erstellen des Fusion Drive gibt. Nach ein paar Wochen mit Fusion Drive kann ich nur sagen das es sich lohnt, und man Geschwindigkeit mit Kapazität gut verbinden kann. Denkt aber daran das OS X erst mal ein bisschen braucht um die Daten so zu verschieben das häufig genutzte Daten auf der SSD liegen.

[OS X] Fusion Drive selber bauen [OS X] Fusion Drive selber bauen

Soweit mein Erfahrungsbericht zu Fusion Drive und dessen Erstellung. Falls ihr das nachbauen wollt, hoffe ich dass euch das hier geholfen hat. Ich übernehme aber keine Verantwortung für irgendwelche Schäden und Datenverluste bei euch. Denkt immer daran ein Backup zu haben und dieses auch auf Funktion zu überprüfen.

[OS X] Zwei verschiedene Ordnerinhalte mit diff oder comm vergleichen

Zwei verschiedene Ordnerinhalte mit diff oder comm vergleichen

Wenn man sich auf dem Mac die Unterschiede zwischen zwei Ordnern anzeigen lassen will, kann man das über den Terminal machen. Mit dem Command Line Tool „comm“ bekommt man eine vereinfachte Darstellung der Unterschiede. Um „comm“ zu benutzen, startet ihr als erstes natürlich den Terminal.

Den „comm“ Befehl benutzen um Ordner zu vergleichen

Den Terminal startet ihr unter Programme > Dienstprogramme > Terminal.app oder gebt Terminal in die Spotlight Suche ein.

Der Befehl um mit comm zu vergleichen sieht wie folgt aus:

comm -3 <(ls -l Ordner1) <(ls -l Ordner2)

Zum Beispiel um zwei Ordner auf dem Desktop zu vergleichen würde das Kommando so aussehen:

comm -3 <(ls -l /Users/Alex/Ordner\ 1/) <(ls -l /Users/Alex/Ordner\ 2/)

Die Ausgabe könnte dann so aussehen:

$ comm -3 <(ls -l /Users/Alex/Ordner\ 1/) <(ls -l /Users/Alex/Ordner\ 2/)
Text2.rtf
Text3.rtf

Hier ist zu beachten das Dateien die nur in Ordner 1 zu finden sind linksbündig ausgegeben werden, und Dateien die nur in Ordner 2 zu finden sind werden rechtsbündig angezeigt. Und diesem Fall also ist Text2.rtf und in Ordner 1 und Text3.rtf nur in Ordner 2 vorhanden.

 

Zwei verschiedene Ordnerinhalte mit diff oder comm vergleichen

Mit dem Command Line Tool „diff“ bekommt man eine etwas genauere Ausgabe als wie mit dem „comm“ Tool.
Der Befehl um mit diff zu vergleichen sieht wie folgt aus:

Den „diff“ Befehl benutzen um Ordner zu vergleichen

diff -rg Ordner 1 Ordner 2

In dem gleichen Beispiel wie oben würde dann das Kommando wie folgt aussehen:

diff -rg /Users/Alex/Ordner\ 1/ /Users/Alex/Ordner\ 2/

Die Ausgabe könnte dann so aussehen:

Files /Users/Alex/Desktop/Ordner 1/.DS_Store and /Users/Alex/Desktop/Ordner 2/.DS_Store differ
Only in /Users/Alex/Desktop/Ordner 1/: Text2.rtf
Only in /Users/Alex/Desktop/Ordner 2/: Text3.rtf

Hier ist die Ausgabe schon etwas granularer und zeigt in der Ausgabe auch den Ordner an in dem sich die Datei befindet.