URL: https://www.overclockers.at/linux/nuetzliche_shell-einzeiler_217442/page_2 - zur Vollversion wechseln!
Alle de-installierten Debian Packages purgen (hab ich irgendwo mal gesehen, brauch ich immer wieder); Ubuntu-agnostisch (wenns das Wort gibt
:
Code:sudo aptitude purge `dpkg --get-selections | grep deinstall | awk '{print $1}'`
Bin gerade dabei, mit meiner Gentoo-Installation am ThinkPad auf eine SSD umzusiedeln - da eh ein paar Dinge neu sein werden (GPT statt MBR, grub2 statt grub) und die Partitionierung völlig umgestoßen wird, ist das eine gute Gelegenheit sich durch eine Neuinstallation von eventuell angesammelter debris zu befreien. Da man aber ohnehin schon über ein Gentoo System verfügt, das man dem Prozessor in mühevoller Kompilierzeit abgerungen hat, wäre nichts dümmer als das alles noch einmal zu tun. Zum Glück hat sich das schon mal jemand gedacht:
Alle installierten Packages inklusive Dependencies werden damit als BINPKGs in /usr/portage/packages abgelegt.Code:for x in /var/db/pkg/*/*; do quickpkg --include-config=y $(echo $x | sed 's#/var/db/pkg/#=#'); done

Löscht alle Mails eines Users aus der Mail Queue:
Code:for str in $(mailq | grep -E "^[0-9A-F].*username" | sed "s/ .*//g"); do postsuper -d $str; done
Ping mit timestamp:
Output:Code:ping google.com | while read pong; do echo "$(date): $pong"; done
PS: Nur mit Uhrzeit:Code:Mon Jun 2 10:30:19 CEST 2014: PING google.com (64.15.113.29): 56 data bytes Mon Jun 2 10:30:19 CEST 2014: 64 bytes from 64.15.113.29: icmp_seq=0 ttl=57 time=10.741 ms Mon Jun 2 10:30:20 CEST 2014: 64 bytes from 64.15.113.29: icmp_seq=1 ttl=57 time=26.582 ms Mon Jun 2 10:30:21 CEST 2014: 64 bytes from 64.15.113.29: icmp_seq=2 ttl=57 time=10.318 ms Mon Jun 2 10:30:22 CEST 2014: 64 bytes from 64.15.113.29: icmp_seq=3 ttl=57 time=16.781 ms Mon Jun 2 10:30:23 CEST 2014: 64 bytes from 64.15.113.29: icmp_seq=4 ttl=57 time=15.884 ms Mon Jun 2 10:30:24 CEST 2014: 64 bytes from 64.15.113.29: icmp_seq=5 ttl=57 time=11.461 ms
Code:ping google.com | while read pong; do echo "$(date +%H:%M:%S): $pong"; done
Wem seconds since epoch genuegen, der verwende stattdessen:
Code:ping -D <HOST>
Das geht unter Linux, aber nicht BSDZitat von COLOSSUSWem seconds since epoch genuegen, der verwende stattdessen:Code:ping -D <HOST>

Wenn wir uns hier im Thread auf 100%ige POSIX-Kompatibilitaet bzw. Portabilitaet besinnen wollen, haben wir eine ganz schirche Dose voller Wuermer offen 
Hier kommt der Sinn!!
Spawned 8 Subshells, die ewig nichts tun, aber davon recht viel.Code:for i in {1..8}; do (while true; do true; done) & done
Grund: Ich wollte meine neue USV etwas testen, und hab schnell sinnlose Last auf allen 8 CPU Threads haben wollen um ein wenig mehr Strom zu verheizen. 
Zitat von GrandAdmiralThrawnHier kommt der Sinn!!Spawned 8 Subshells, die ewig nichts tun, aber davon recht viel.Code:for i in {1..8}; do (while true; do true; done) & doneGrund: Ich wollte meine neue USV etwas testen, und hab schnell sinnlose Last auf allen 8 CPU Threads haben wollen um ein wenig mehr Strom zu verheizen.
Was besseres is mir auf die Schnelle nicht eingefallen..
sollte aber relativ aufs gleiche rauskommenCode:for i in {1..8};do yes > /dev/null &;done

Zitat von IsSuEsollte aber relativ aufs gleiche rauskommenCode:for i in {1..8};do yes > /dev/null;done
Generieren von JavaDoc für einen kompletten Tree. (Quelle)
Code:find . -type f -name "*.java" | xargs javadoc -d outputdir
Statt des klassichen Pipe-Konstrukts
verwendet man besserCode:find ... | xargs <programm> <prog_args>
Code:find ... -exec <programm> <prog_args> {} +

Zitat von IsSuEsollte aber relativ aufs gleiche rauskommenCode:for i in {1..8};do yes > /dev/null &;done
edit: thx that
Man muss sich in diesem Kontext ENTWEDER fuer &, ODER fuer ; entscheiden. Das kaufmaennische Und backgrounded das Kommando, dessen Kommandozeile durch es terminiert wird, waehrend der Semikolon die Shell bis auf das Terminieren des Kommandos warten laesst.Code:for i in {1..8}; do yes > /dev/null & done
Zitat von COLOSSUSWeil's mir gerade aufgefallen ist: &; ist keine korrekte Bourne-sh-Syntax; der vermeintliche Fix ruiniert deinen kleinen EinzeilerMan muss sich in diesem Kontext ENTWEDER fuer &, ODER fuer ; entscheiden. Das kaufmaennische Und backgrounded das Kommando, dessen Kommandozeile durch es terminiert wird, waehrend der Semikolon die Shell bis auf das Terminieren des Kommandos warten laesst.
Du willst also eigentlich das hier:Code:for i in {1..8}; do yes > /dev/null & done
Ja, kann schon sein - POSIX-konform ist das allerdings nicht.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026