Du bist nicht angemeldet.

#201 18.04.2016 12:30:41

Gering-ding-ding-ding-din
Gast

Re: Eure brauchbarsten aliase

quick and dirty:

ams () 
{ 
    echo -e "Volume (L R): \c";
    if [ -n "$1" ]; then
        amixer set Master $1% | tail -2 | cut -d' ' -f7 | tr '\n' ' ';
        echo;
    else
        amixer get Master | tail -2 | cut -d' ' -f7 | tr '\n' ' ';
        echo;
    fi
}
---------------------------------------------------------------------------------
12:27 neutron@phobos ~ $ ams
Volume (L R): [49%] [49%] 
12:27 neutron@phobos ~ $ ams 33
Volume (L R): [33%] [33%] 
12:27 neutron@phobos ~ $

#202 18.04.2016 13:04:05

Gering-ding-ding-ding-din
Gast

Re: Eure brauchbarsten aliase

und für die Tippfaulen wie mich...

12:57 root@phobos opt # cat ~/.bash_aliases_pacman 
#
# ~/.bash_aliases_pacman
#


## PACMAN ##

# Pacman -Q
alias pQ='pacman -Q'
alias pQc='pacman -Qc'
alias pQd='pacman -Qd'
alias pQe='pacman -Qe'
alias pQg='pacman -Qg'
alias pQi='pacman -Qi'
alias pQk='pacman -Qk'
alias pQl='pacman -Ql'
alias pQm='pacman -Qm'
alias pQn='pacman -Qn'
alias pQo='pacman -Qo'
alias pQp='pacman -Qp'
alias pQq='pacman -Qq'
alias pQs='pacman -Qs'
alias pQt='pacman -Qt'
alias pQu='pacman -Qu'

# Pacman -R
alias pR='pacman -R'
alias pRc='pacman -Rc'
alias pRn='pacman -Rn'
alias pRs='pacman -Rs'
alias pRss='pacman -Rss'
alias pRu='pacman -Ru'

# Pacman -S
alias psu='pacman -Syu'
alias pS='pacman -S'
alias pSc='pacman -Sc'
alias pSg='pacman -Sg'
alias pSi='pacman -Si'
alias pSl='pacman -Sl'
alias pSs='pacman -Ss'
alias pSu='pacman -Su'
alias pSw='pacman -Sw'
alias pSy='pacman -Sy'

# Pacman -U
alias pU='pacman -U'


## PACCACHE & PACMAN CONFIGURATION ##

alias ccache='paccache -r -vk 2'
alias vpac='vim /etc/pacman.conf'

#203 18.05.2016 05:45:43

LessWire
Mitglied

Re: Eure brauchbarsten aliase

Bei der Nachbearbeitung von Digitalfotos wird für die Datei meist das aktuelle Bearbeitungsdatum gesetzt. Damit liegt mir meine bessere Hälfte schon länger in den Ohren. Besser finde auch ich, das tatsächliche Aufnahmedatum als Dateidatum zu behalten. In den Exif-Daten des Fotos ist es ja gespeichert, nachprüfbar mit:

exiftool -DateTimeOriginal <filename>

Die Änderung (vergleichbar mit 'touch') ist ebenso einfach:

exiftool "-DateTimeOriginal>FileModifyDate" <filename>

Installiert sein muss dafür 'perl-image-exiftool'. Nicht unbedingt ein 'alias' wert, aber für manchen vielleicht auch ganz nützlich.

Offline

#204 18.05.2016 22:53:39

Dirk
Moderator

Re: Eure brauchbarsten aliase

LessWire schrieb:

Nicht unbedingt ein 'alias' wert, aber […]

Genau darum geht es hier.

alias fixdate='exiftool "-DateTimeOriginal>FileModifyDate"'

Offline

#205 19.05.2016 00:07:25

LessWire
Mitglied

Re: Eure brauchbarsten aliase

Knowledge über die Umsetzung sollte man (aufgrund der vielen vorausgehenden Beispiele) nicht voraussetzen? wink

Beitrag geändert von LessWire (19.05.2016 00:08:48)

Offline

#206 19.05.2016 10:31:24

mis
Mitglied

Re: Eure brauchbarsten aliase

alias pac-clean='sudo pacman -Rsn $(pacman -Qdtq)'
alias checkupdates='checkupdates && cower -u'

Offline

#207 08.07.2016 12:59:04

Gering-ding-ding-ding-din
Gast

Re: Eure brauchbarsten aliase

Wo bin ich?

alias mylocation='curl -A "Mozilla/4.0" https://www.whatismyip.com/ 2> /dev/null | egrep "(City:|State:|Country:|ISP:)" | sed -r "s|</?td>||g" | column -ts: -o" : "'

#208 25.10.2016 13:12:56

svnset
Mitglied

Re: Eure brauchbarsten aliase

 alias vim='nvim' 

big_smile

Offline

#209 13.11.2016 19:05:42

Werner
Mitglied

Re: Eure brauchbarsten aliase

Wenn ich ein Programm im Terminal starte, möchte ich gerne, dass dies leise und vom Terminal losgelöst vonstatten geht – falls ich nicht gerade explizit nach einem Fehler suche. Seit GTK+ 3.22 gibt es bei jedem Start eines GTK3-Programmes eine Flut unnützer Gtk-WARNING-Meldungen. Beim Start von eog beispielsweise erhalte ich etwa 40 dieser nervigen Hinweise.

Mit diesem Alias ist nun Ruhe im Karton:

# Keep quiet!
alias kq='param=$(echo) && setsid $(echo $param) 2>/dev/null'

Anwendungsbeispiel:

kq eog
kq eog -s ~/Bilder

Edit:
Gering-ding-ding-ding-din hat mich im folgenden Beitrag dankenswerterweise darauf aufmerksam gemacht, dass die mit "echo" gesetzte Variable "$param" leer bleibt. Das war mir nicht aufgefallen, weil es auf das Resultat des Alias keine Auswirkung zeigte.
Die Variable "$param" sollte die nach "kq " eingegebenen Parameter abholen und zwischen "setsid" und "2>/dev/null" platzieren. Damit das erwartungsgemäß funktioniert, muss der Befehl so lauten:

# Keep quiet!
alias kq='yes | read param && setsid $(echo "$param") 2>/dev/null'

Beitrag geändert von Werner (26.03.2017 17:41:45)

Offline

#210 23.03.2017 11:10:24

Gering-ding-ding-ding-din
Gast

Re: Eure brauchbarsten aliase

Werner schrieb:
alias kq='param=$(echo) && setsid $(echo $param) 2>/dev/null'

Ich habe jetzt ca. 20 min. überlegt, wozu und in welcher Funktionalität du die Variable eingebaut hast, aber ich komme einfach nicht drauf ...
So wie ich das verstehe macht dein alias folgendes:
- der Variable param wird eine leere Zeichenkette (eben die Ausgabe von echo) zugewiesen
- wenn das geklappt hat (also bei exit code 0), startet das Programm setsid mit dem Argument <leere Zeichenkette>, einer Umleitung von stderr nach /dev/null und möglichen weiteren Argumenten
Bei mir funktionert es entsprechend auch ohne echo und Variable:

alias kq='setsid 2>/dev/null'

Habe ich da was wichtiges übersehen? o.O

Auf jeden Fall schonmal danke für den Hinweis auf setsid - das kannte ich vorher noch nicht und habe das bisher immer mit

nohup <Programm + Argumente> &

gelöst...

#211 23.03.2017 16:12:46

Werner
Mitglied

Re: Eure brauchbarsten aliase

@Gering-ding-ding-ding-din
Die Variable macht einen Aikido-Griff, damit die nach der Eingabe von "kq" folgenden Befehlsparameter zwischen "setsid" und "2>/dev/null" platziert werden.
Bei deiner Version würden die nach "kq" im Terminal folgenden Parameter erst nach "setsid 2>/dev/null" ausgeführt werden.
So hatte ich mir das jedenfalls gedacht. Aber du hast recht, das ist Unsinn, es geht mit deiner Version genauso:

alias kq='setsid 2>/dev/null'

Beitrag geändert von Werner (23.03.2017 16:28:35)

Offline

#212 23.03.2017 16:21:48

LessWire
Mitglied

Re: Eure brauchbarsten aliase

Danke - ein toller Tipp!

Nach

Beitrag geändert von Werner

hab' ich auch nichts mehr hinzuzufügen. smile

Beitrag geändert von LessWire (23.03.2017 16:38:56)

Offline

#213 23.03.2017 17:01:59

Schard-nologin
Gast

Re: Eure brauchbarsten aliase

Werner schrieb:

Die Variable macht einen Aikido-Griff, damit die nach der Eingabe von "kq" folgenden Befehlsparameter zwischen "setsid" und "2>/dev/null" platziert werden.

Nein! Das macht sie nicht!

$ alias kq='param=$(echo) && echo foo $(echo $param) bar 2>/dev/null'
$ kq tollesprogramm mit argumenten
foo bar tollesprogramm mit argumenten

#214 23.03.2017 17:09:59

Schard-nologin
Gast

Re: Eure brauchbarsten aliase

Will heißen, es macht genau das, was @Gering-ding-ding-ding-ding beschrieben hat.

#215 23.03.2017 17:37:02

Werner
Mitglied

Re: Eure brauchbarsten aliase

@Schard
Ja, das war ein klarer Fall von Denkfehler. Fehler erkannt, Gefahr gebannt smile
Danke für den Hinweis!

Offline

#216 24.03.2017 10:15:39

Gering-ding-ding-ding-din
Gast

Re: Eure brauchbarsten aliase

So wie ich das bisher kapiert habe, macht ein Alias, technisch gesehen, nichts anderes, als eine Zeichenkette durch eine andere Zeichenkette zu ersetzen.
Das heißt, sie wird von der Bash nicht vor-evaluiert und befindet sich entsprechend im gleichen Scope wie alle anderen Zeichen innerhalb einer Kommandozeile.

Wenn man auf einer Kommandozeile mehrere Kommandos unterbringt (, die z.B. durch ; , && oder || voneinander getrennt sind), dann werden diese Kommandos von der Bash so abgearbeitet, dass zuerst das am weitesten links stehende Kommando evaluiert wird, danach das Kommando eine Position weiter rechts usw. ...
Dadurch ist es also unmöglich, dass das Kommando ganz links schon wissen kann, was im Kommando ganz rechts steht, denn die Bash kann keine Zeitreisen.

Anders ist es bei Funktionen. Diese befinden sich, im Gegensatz zum Alias, nicht im gleichen Scope wie die übrigen Zeichen einer Kommandozeile. Nur durch diese Eigenschaft sind sie in der Lage, mit nachgestellten Argumenten umzugehen. Eine Funktion kann das, was eine tote Zeichenkette nicht kann, nämlich Argumente verarbeiten, die ihr von außerhalb des Scopes mitgegeben werden.

Funktionen können also Aikido, Aliase können das nicht:

kq() { setsid $@ 2>/dev/null; }

Soweit so richtig?

#217 24.03.2017 14:00:20

Schard-nologin
Gast

Re: Eure brauchbarsten aliase

Gering-ding-ding-ding-din schrieb:

Soweit so richtig?

Sehe ich auch so. Sowas geht mit Aliasen nur über Umwege die imho immer ein Extra-Enter beinhalten müssen:

 alias magic='read MIDDLE; echo foo ${MIDDLE} bar'
$ magic              # [Enter]
My middle                    # [Enter]
foo My middle bar

Und funktioniert auch nicht mit Pipes:

$ echo lulz | magic
foo My middle bar

#218 24.03.2017 14:13:08

Schard-nologin
Gast

Re: Eure brauchbarsten aliase

Wenn es nur um Shell-Umleitung ginge, dann kann man das mit

quiet() {
    $@ &> /dev/null
}

lösen. Mit dem Detachment mittels setsid gehts aber auch mit einem alias:

alias quietbg='setsid &> /dev/null'

#219 24.03.2017 17:32:44

Werner
Mitglied

Re: Eure brauchbarsten aliase

Mein Irrtum bestand darin, dass echo die Variable eben nicht rekursiv holt. Wenn‘'s denn eine rekursive Variable sein soll, dann so:

# Falsch:   alias kq='param=$(echo) && setsid $(echo $param) 2>/dev/null'
# Rekursiv: alias kq='read param && setsid $(echo $param) 2>/dev/null'

Offline

#220 24.03.2017 19:50:56

Werner
Mitglied

Re: Eure brauchbarsten aliase

Schard schrieb:

Sowas geht mit Aliasen nur über Umwege die imho immer ein Extra-Enter beinhalten müssen …

Yes, Sir! smile

alias kq='yes | read param && setsid $(echo "$param") 2>/dev/null'

Offline

#221 27.03.2017 21:30:52

LessWire
Mitglied

Re: Eure brauchbarsten aliase

Wer alle Programme sauber über das pacman Paketsystem installiert und das testing Repo nicht verwendet, braucht folgendes eigentlich nicht - aber es schadet auch nicht, es mal laufen zu lassen.

Ich setze doch hin und wieder mal symbolische Links in /usr/lib, um neuere lib Versionen für ein noch nicht angepasstes Programm zur Verfügung zu stellen - das klappt dann auch meistens und ist die schnellste Lösung, um ein Programm wieder lauffähig zu machen. Das ist heute z.B. mit 'mpv' und dessen Versionsabhängigkeit von 'libass' und 'libbluray' passiert. In den nächsten Tagen wird sicher eine passende 'mpv' Version kommen, dann sind meine symlinks überflüssig und können gelöscht werden - was man allerdings auch gerne vergisst.

Für mich ist es hilfreich, von Zeit zu Zeit die Zugehörigkeit aller Dateien/Verzeichnisse unter '/usr/lib' und '/usr/bin' zu prüfen - hierzu folgendes kleine Skript:

SEARCH_DIRS='/usr/bin /usr/lib'

function CheckFilesInDir {
	Matches=0
	for F in $1/*; do
		if ! /usr/bin/pacman -Qo $F &>/dev/null; then
			echo "-> $F -> no pkg member"
			(( Matches++ ))
		fi
	done
	echo "Matches: $Matches"
}

for D in $SEARCH_DIRS; do
	echo -e "\n----- checking $D -----"
	CheckFilesInDir $D
done

Nichts weltbewegendes und auch leicht als Einzeiler für ein Alias umzuschreiben.
Bei meinen Systemen ist die Erstinstallation meistens schon einige Jahre her - erstaunlich, was für "verwaistes" Zeug da zutage kam.

Gruß, LW

Beitrag geändert von LessWire (27.03.2017 21:32:34)

Offline

#222 27.03.2017 23:36:16

Schard-nologin
Gast

Re: Eure brauchbarsten aliase

Oder einfach

find /usr/bin /usr/lib -type f -exec pacman -Qoq {} > /dev/null \;

#223 28.03.2017 00:08:08

LessWire
Mitglied

Re: Eure brauchbarsten aliase

Schard-nologin schrieb:

Oder einfach

find /usr/bin /usr/lib -type f -exec pacman -Qoq {} > /dev/null \;

... and the winner is !!! tada-tada-tada smile

Sehr gut!
So werden auch gezielt in den subdirs einzelne files geprüft
Ein prima alias Einzeiler ist es obendrein.

Danke Dir!

(Ich sollte mich doch mal intensiver mit den mächtigen Kommandos wie zB. find beschäftigen)

EDIT:
Bevor man etwas löscht, sollte man sich schon erst vergewissern, was für eine Datei das ist.
Es werden z.B. in /usr/lib auch cache-files angelegt, die mit der Paketverwaltung nichts zu tun haben. Was die in diesem Verzeichnis verloren haben - das frage ich mich auch. sad
Ansonsten gibt's natürlich auch für find noch einige Parameter zum Verfeinern - so macht es für mich z.B. nur selten Sinn, alle Unterverzeichnisse zu prüfen (siehe -maxdepth).

Beitrag geändert von LessWire (28.03.2017 01:04:31)

Offline

#224 28.03.2017 00:54:43

Gering-ding-ding-ding-din
Gast

Re: Eure brauchbarsten aliase

LessWire schrieb:
Schard-nologin schrieb:

Oder einfach

find /usr/bin /usr/lib -type f -exec pacman -Qoq {} > /dev/null \;

Bevor man etwas löscht, sollte man sich schon erst vergewissern, was für eine Datei das ist...

Trotzdem ne super Sache, wenn man hin und wieder frech und faul am Paketmanager vorbei installiert.
Besten Dank! smile

#225 27.09.2017 13:59:40

Schard-nologin
Gast

Re: Eure brauchbarsten aliase

Aus aktuellem Anlass mad

alias ftp='echo "Warning: ftp is broken. Using lftp instead." >&2; /usr/bin/lftp'

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Deine Antwort

Fußzeile des Forums