[Terminal] Sammelthread

morten

Gast
Befehle, die Zusatzprogramme überflüssig machen

Hallo Apfeltalker,

Ich möchte hier im Laufe der Zeit Terminal Befehle sammeln, die Zusatzprogramme ersetzen.
Ihr könnt Eure Befehle einfach hier posten und ich werde im Laufe der Zeit ein Verzeichnis der Befehle hier im 1. Post pflegen.



  • Ausgeblendete Programme im Dock 'hervorheben'
    Code:
    defaults write com.apple.dock showhidden -bool yes

  • Standardspeicherordner von Bildschirmfotos ändern
    Code:
    defaults write com.apple.screencapture location /Voller/Pfad/Zum/Ordner
    Hinweis: Mit dem Terminal ist es sehr einfach, den Pfad eines Ordners zu ermitteln
    -> einfach den Ordner in das Terminalfenster ziehen (maclike eben) ;)

  • Bildschirmfotoformat ändern
    Code:
    defaults write com.apple.screencapture type image_format
    Hinweis: "image_format" muss durch das Format (jpg, tiff, o.ä.) ersetzt werden.
    Der Befehl wird durch An- und Abmelden aktiv.

  • Dashboard ausschalten
    Code:
    defaults write com.apple.dashboard mcx-disabled -boolean YES

  • Dashboard einschalten
    Code:
    defaults write com.apple.dashboard mcx-disabled -boolean NO


  • Infos über die Batterie auslesen (mobile Macs)
    Code:
    ioreg -l | grep -i IOBatteryInfo

  • Periodische Skipte ausführen ("cronjobs")
    Code:
    sudo periodic daily weekly monthly
    Hinweis: Euer Mac versucht nachts zwischen 2 und 5 Uhr routinemäßige Aufräumarbeiten durch zu führen.
    Wenn der Rechner allerdings zu dieser Zeit ausgeschaltet ist, werden die Arbeiten nicht durchgeführt.

 
Zuletzt bearbeitet von einem Moderator:

morten

Gast
Tipps zum Programm "Terminal"

  • Das Terminal-Fenster lässt sich beliebig gestalten
Dazu drückt man "Apfel i" oder man geht über Menüleiste/Terminal/Fenstereinstellungen (siehe Bild im Anhang)
 

Anhänge

  • Bild 1.jpg
    Bild 1.jpg
    56,3 KB · Aufrufe: 557

Cyrics

Neuer Berner Rosenapfel
Registriert
01.04.05
Beiträge
1.973
ob das jetzt genau hier passt, weiss ich nicht:

eine Terminallösung von rastafari, wenn OSX sich nicht ausschalten/neustarten/abmelden lässt:

erst:
sudo defaults write /Library/Preferences/com.apple.loginwindow Kiosk -bool NO ;

und dann neustarten (schliesst radikal alle fenster):
sudo shutdown -r now ;
 

DBertelsbeck

Tiefenblüte
Registriert
20.04.04
Beiträge
6.421
Sollten doppelte oder nicht mehr vorhandene Programme in der Liste "Öffnen mit" auftauchen, hilft meist ein Rebuild der LaunchServices Library. Dies kann direkt im Terminal erfolgen:
Code:
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/LaunchServices.framework/ Support/lsregister  -kill -r -domain local -domain system -domain user
 

roYal.TS

Gast
...zu diesem thema sein auch der 'Terminal' UNIX Grundwissen-thread und natürlich die Entdeckrreise durch OS X empfohlen...
  • Prozessor- und Busfrequenz:
    Code:
    sysctl hw.cpufrequency - sysctl hw.busfrequency
  • Doppelte Rollpfeile oben und unten:
    Code:
    defaults write "Apple Global Domain" AppleScrollBarVariant DoubleBoth
  • Rechte reparieren:
    Code:
    [s]sudo update_prebinding -root / -force~[/s]
  • Unsichtbare Files:
    Code:
    defaults write com.apple.finder AppleShowAllFiles -boolean true;killall Finder
    Code:
    defaults delete com.apple.finder AppleShowAllFiles;killall Finder
  • Unsichtbarer Ordner:
    Code:
    mkdir ~/Desktop/.Versteck
    Code:
    open ~/Desktop/.Versteck
ua dank an KayHH und Squart :innocent:
 
Zuletzt bearbeitet von einem Moderator:
  • Like
Reaktionen: 1 Person

Cyrics

Neuer Berner Rosenapfel
Registriert
01.04.05
Beiträge
1.973
wenn mal jemand sein Usernamen und Passwort für Webmin vergessen hat (so wie ich heute abend nach knapp 4 Monaten ohne Login auf diesen *g*):

man such nach einem Perl-Skript namens changepass.pl. Dieses ist bei mir im /usr/share/webmin-Verzeichnis gewesen. Ruft man dieses auf mit dem Verweis auf den Konfig-Ordner von webmin, kann man den User und ein neues Passwort eingeben.
Sollte der User nicht existieren, wird ein existierender User ausgegeben.

Soviel mir auch mein User und damit das Passwort wieder ein :D
tolle Sache!

Befehl sieht dann wie folgt aus:
Code:
/usr/share/webmin/changepass.pl /etc/webmin user passwort

PS: superuser-Rechte sind nötig dafür.. sollte aber auch logisch sein bei so einem weitreichenden Eingriff auf webmin.

Ansonsten:
wenn man sich gerne per SSH auf andere Rechner verbinden möchte:
man sollte auf dem Client-Rechner ein RSA-Key, der mit 2048 bits verschlüsselt ist, erzeugen:
Code:
ssh-keygen -b 2048 -t rsa
Optional möglich ist auch ein Passphrase noch angebar. Wobei dies aber nur optional ist und auch übersprungen werden kann.

im Home Verzeichnis liegt nun eine rsa_id und eine rsa_id.pub.
Die rsa_id beinhaltet alle entscheidenenen Daten für die Authentifikation. Die rsa_id.pub ist die abgleichende Datei. Diese gehört dann zum Ziel-Rechner auf den wir uns dann per SSH einloggen wollen. Wir kopieren also die id_rsa.pub ins Userverzeichnis bei dem wir uns dann einloggen werden per SSH. Dort erzeugen wenn noch nicht geschehen das Verzeichnis .ssh per mkdir .ssh
und geben folgende Zeile dann ein:
cat id_rsa.pub>>.ssh/authorized_keys

in /etc/ssh/ kann man nun bei der sshd_config die Login-Einstellungen vornehmen und dort die RSA-Authentifikation aktivieren. Wenn alles gut funktioniert, sollte man die Passwortabfrage abschalten.

Zum SSH-Connecten:
ssh ist der Aufruf:
-l Username
-L StartPort:Adresse:ZielPort
-i Ort/der/RSA-Key-File
-p SSH-Port
-v verbose-Mode (3mal möglich)

mehr Dinge hab ich da noch nie Gebraucht...

Beispiel:
Code:
ssh mein-RSA-Key-server.de -l deradmin -L 4080:localhost:4080 -i .ssh/identity -p 4001 -v -v -v
dies bewirkt das anmelden per SSH auf den Server mein-RSA-Key-server.de mit dem Username deradmin. Dabei wird der Port 4080 vom Server auf unseren localhost 4080 umgeleitet. Damit sieht es so aus als würden wir bei uns auf dem Rechner per localhost:4080 arbeiten. Dabei ist dies nur eine Weiterleitung auf den localhost. Die key-File ist extra angegeben weil sie nicht standardmässig rsa_id heisst, sondern im Bsp. identity. Und der SSH-Login findet auf dem Port 4001 statt, da Port 22 geschloßen ist, da nervige Skript-Kiddies den Port einfach dauerbelegen. Per -v verfolgen wir den genauen Ablauf der Authentifikation.

PS: so, dass hab ich jetzt zu 80% eigentlich für mich geschrieben, damit ich mich in 4 Monaten nicht wieder durch Internetseiten wühlen muss um mich nochmal zu erinnern, wie das denn war... so hab ich das gleich kompakt :D
 

morten

Gast
  • Benutzerrechte ändern

http://www.apfeltalk.de/forum/p202364.html

stk schrieb:
Moin,

ändern von Benutzerrechten im Terminal geht mit:

Code:
chmod [-R] ogw /verzeichnis/[dateiname|wildcards]

-R bedeutet dabei "rekursiv" - also den kompletten Verzeichnisbaum unterhalb des angegebene Verzeichnis

ogw steht für die Dateirechte von Owner (Eigentümer), Group (Gruppe) und World (Andere). Anzugeben ist eine Zahl zwischen 0 und 7 wobei 0 keine Rechte sind, 1 für Ausführen steht, 2 für Schreiben, 4 für Lesen. Durch die Addition der Ziffern bekommst die Kombinationen hin, also: 7 für 1+2+4 Lesen, Schreiben, Ausführen. Wenn Du also selbst Schreibleserechte brauchst, die Gruppe lesen können soll und der Rest nix darf wäre 640 die richtige Ziffer.

Verzeichnis- und Dateiname ist klar. Die Wildcard * nimmt alles her, also z.B. "2005*" würde alle Dateien ansprechen, die mit dem Prefix 2005 anfangen, egal was danach an Name oder Erweiterung kommt, *.pdf nimmt alles, was am Ende auf PDF hört, etc.

Dann wäre noch chown der Vollständigkeit halber erwähnenswert. Damit kannst du den Eigentümer der Datei verändern. Syntax ähnlich:

Code:
chown [-R] user:group /verzeichnis/[dateiname|wildcard]

user und group stehen dabei für den Eigentümer, bzw. die Gruppe für Benutzerdateien unter Mac OS X ist da üblicherweise dein Kurzname im System als User und "staff" als Gruppe.

Gruß Stefan
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Re: Befehle, die Zusatzprogramme überflüssig machen

morten schrieb:

  • Periodische Skipte ausführen ("cronjobs")
    Code:
    sudo periodic daily weekly monthly
    Hinweis: Euer Mac versucht nachts zwischen 2 und 5 Uhr routinemäßige Aufräumarbeiten durch zu führen.
    Wenn der Rechner allerdings zu dieser Zeit ausgeschaltet ist, werden die Arbeiten nicht durchgeführt.

Seit 10.4 macht launchd die periodischen Aufgaben (vergleiche dazu http://osx.realmacmark.de/osx_auto-clean.php) und Cron ist von Tiger ungenutzt. Cron kann prinzipiell auch vom Benutzer genutzt werden, ist aber nicht mehr empfohlen. Launchd wird mit launchctl gesteuert. Das tägliche Wartungsskript wird beispielsweise (aus Spaß per Hand) aufgerufen durch:
Code:
sudo launchctl start com.apple.periodic-daily
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Rastafari schrieb:
roYal.TS schrieb:
Das repariert leider keine Rechte, sondern versucht das Prebinding zu erneuern (bringt nix).
Rechte vom Startvolume reparieren geht mit

sudo diskutil repairPermissions /

Seit 10.2 wird das Prebinding automatisch durchgeführt, sobald es notwendig ist. Es besteht seit 10.2 definitiv keine Notwendigkeit, Prebinding per Hand zu starten.
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
<oo> schrieb:
Wenn man zip-Dateien ohne Resourcen und ".DS_Store" an Windows-Benutzer weitergeben will:

Code:
ditto -c -k <quellobjekt> <zipdatei.zip>

Ab Tiger muss das heissen:
Code:
ditto -norsrc -c -k <quelle> <ziel.zip>
(Sonst sind die Resourceforks *doch* mit drin. Nur anders codiert.)
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
MacMark schrieb:
ASCII-Film-Version von Starwars per Terminal
Code:
telnet towel.blinkenlights.nl
Ich empfehle da mit mahnendem Finger:

sh -c 'telnet sonst.irgendein.host'

(Für sowas benutzt man ein "Wegwerf-Environment", merci...)
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Rastafari schrieb:
Ich empfehle da mit mahnendem Finger:

sh -c 'telnet sonst.irgendein.host'

(Für sowas benutzt man ein "Wegwerf-Environment", merci...)

Was ist der Vorteil / Unterschied?
 

morten

Gast
Disk-Image Überprüfung an-/abschalten

http://www.mactechnews.de/index.php?id=12525
http://www.macworld.com/2006/03/features/speedtoptips/

MacTechNews schrieb:
Um die langwierigen Prüfungen von Disk-Images zu übergehen, kann man entweder in dem jedes mal beim Aktivieren ein Disk-Image erscheinenden Dialog auf Überspringen klicken, oder man deaktiviert die Prüfung der Disk-Images mit Hilfe des Terminals. Dort deaktiviert man den Dialog [..] und kann ihn [..] auch wieder aktivieren. Allerdings sollte man bei der Deaktivierung bedenken, dass dadurch aus dem Internet geladene fehlerhafte Disk-Images durchaus unerkannt bleiben können.

Überprüfung aus:
Code:
defaults write com.apple.frameworks.diskimages skip-verify true

Überprüfung an:
Code:
defaults write com.apple.frameworks.diskimages skip-verify false
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
MacMark schrieb:
Was ist der Vorteil / Unterschied?
Das Kommando läuft durch das vorangestellte 'sh' in einer "Einweg-Subshell". Nach dem Beenden derselben hat dein Terminal wieder die gleichen Umgebungsvariablen, das es vorher hatte.

Machst du das nicht, könnte zB ein Skript deinen Suchpfad PATH neu einstellen und dein Terminal dazu bringen, in dieser Sitzung ab sofort ganz andere Kommandos auszuführen als die mit dem OS gelieferten, aus einem ganz anderen Ordner.
Hinter einem arglos eingetippten 'ls' könnte sich dann beispielsweise ein Kommando zum Löschen deiner gesamten privaten Daten verbergen - statt des normalen Befehls zum Auflisten eines Ordners.
Ich nehme an, das würde dir nicht zusagen....
 

Trapper

Meraner
Registriert
12.05.05
Beiträge
231
Rastafari schrieb:
Machst du das nicht, könnte zB ein Skript deinen Suchpfad PATH neu einstellen und dein Terminal dazu bringen, in dieser Sitzung ab sofort ganz andere Kommandos auszuführen als die mit dem OS gelieferten, aus einem ganz anderen Ordner.

Bei Skripten unbekannten Ursprungs ist das unbestritten. Kannst du das aber bitte mal für den Befehl telnet begründen? Inwieweit sollte telnet mein aktuelles Environment ändern?