Über Open Source im Alltag

Schlagwort: terminal

mpv – ein moderner mplayer fork

mpv ist ein Fork von mplayer bzw. mplayer2 der einige Dinge besser macht.

Neben offensichtlichen Vorteilen wie dem kürzerem Befehl (mpv) verbessert der mplayer-Fork die Usability auch durch andere Kleinigkeiten, wie etwa dem Icon und der UI.

Rechts mplayer ohne Icon, links mpv mit

Rechts mplayer ohne Icon, links mpv mit

Andere Bemerkenswerte Unterschiede zu mplayer(2):

  • Fehler und Meldungen werden farbig im Terminal dargestellt
  • mpv kann direkt von Youtube streamen
  • Das Problem dass Videos, bei verschiedenen Aktionen, un-pausiert wurden existiert nicht
  • Spielt man eine Liste von Videos ab, wird nicht jedes mal ein neues Fenster gezeichnet
  • Lange Parameter starten mit doppeltem Minus: –fullscreen

Die Entwicklung findet bei Github statt: mpv-player

Die Lizenz ist GPLv2 oder höher.

Neues OSD (On Screen Display)

Neues OSD (On Screen Display)

Edit: Möchte man eigene Kommandos aus mpv heraus ausführen kann man dies über das run Kommando tun.

Möchte man etwa die Mediendatei löschen die gespielt wird kann man dies über folgenden Befehl tun.

echo 'ctrl+r run "rm" "${filename}"' >> ~/.mpv/input.conf

Dadurch wird ein neuer Eintrag in die Datei ~/.mpv/input.conf geschrieben. Zunächst definiert man die Taste (-nkombination), nutzt dann den run Befehl und das Kommando das man ausführen möchte, hier rm.

Weitere Informationen findet man in der Datei input.rst und unter Property Expansion in der Dokumentation.

safe-rm – oder wie man Daten vor sich selbst schützt

In einem Moment der Unachtsamkeit kann es dazu kommen, dass man aus Versehen ein Verzeichnis mit wichtigen Daten löscht.

So kann ein kleiner Fehler große Auswirkungen haben:

rm -rf /usr/bin/ doofes_programm

Denn hier wird nicht der Ordner /usr/bin/doofes_programm gelöscht sondern /usr/bin und das Verzeichnis doofes_programm.

Wer seine Daten vor der eigenen Unachtsamkeit schützen will der kann safe-rm benutzen.

Das Programm installiert seine Binary nach /usr/bin/rm, das normale rm in /bin/ bleibt also unberührt. Da bei Debian jedoch zunächst in /usr/bin geschaut wird, wird bei dem Aufruf von rm von nun an safe-rm ausgeführt. Möchte man jedoch das normale rm nutzen kann man die einfach über den vollständigen Pfad ausführen.

In den Konfigurationsdateien für safe-rm kann man festlegen welche Verzeichnisse oder Dateien von safe-rm geschützt werden sollen.

  • /etc/safe-rm.conf – globale Konfigurationsdatei
  • ~/.safe-rm – Konfigurationsdatei des Benutzers Das Programm ist in Debains Repositories zu finden oder bei manch anderer Distribution. Das Programm kann auch von der Projektseite heruntergeladen werden. Die Lizenz ist die GPLv3.

pv – pipe viewer: Fortschrittsbalken und ETA für die Pipe

Leitet man in der Konsole etwas von einem Programm zum nächsten verwendet man dazu auf Unix-System die sog. Pipes, dargestellt durch das „|“-Zeichen. Leider gibt es dafür keinen Fortschrittsanzeige oder eine Anzeige für Übertragungsraten. Abhilfe schafft hier das Programm pv (pipe viewer). Das Programm lässt sich auch verwenden, wenn ein Programm von sich aus keine Fortschrittsanzeige mitbringt. Im Folgendem ein paar Beispiele.

cat große_datei.log | pv | grep SUCHWORT

Oder als Trick bei einem Programm den Fortschritt zu überblicken:

pv wichtiges_backup.img | dd if=/dev/stdin of=/dev/festplatte bs=1

Terminal-Trick: Befehl vor `history` verstecken

Führt man einen Befehl in der Kommandozeile aus, dann wird dieser in der sog. history protokolliert.

Möchte man dies verhindern, da man etwa ein Passwort an ein Programm übergibt, dann reicht es vor dem Befehl ein Leerzeichen zu setzen.

Normaler Befehl:

ftp user@passwort:host.tld/verzeichnis

history-Ausgabe:

3760* man ls
3761* bash
3763  ftp user@passwort:host.tld/verzeichnis

„Versteckter Befehl“:

 ftp nobody@topsecret:not-my-department.tld/

history-Ausgabe:

3760* man ls
3761* bash
3763  ftp user@passwort:host.tld/verzeichnis

Der Befehl wurde der Historie also nicht hinzugefügt.

© 2020 [z]-Blog

Theme von Anders NorénHoch ↑