Rektal
Here to stay
|
Alle de-installierten Debian Packages purgen (hab ich irgendwo mal gesehen, brauch ich immer wieder); Ubuntu-agnostisch (wenns das Wort gibt : sudo aptitude purge `dpkg --get-selections | grep deinstall | awk '{print $1}'`
|
t3mp
I Love Gasoline
|
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: for x in /var/db/pkg/*/*; do quickpkg --include-config=y $(echo $x | sed 's#/var/db/pkg/#=#'); done
Alle installierten Packages inklusive Dependencies werden damit als BINPKGs in /usr/portage/packages abgelegt. Bleibt nur noch die make.conf, world und world_sets und /etc/portage nebst einiger anderer Dinge auf die SSD zu übertragen und /usr/portage aus der alten Installation einzuhängen vor dem chroot - mit dem zusätzlichen emerge flag "-k" werden dann die existierenden BINPKGs verwendet anstatt CPU-Zeit zu verschwenden.
Bearbeitet von t3mp am 14.10.2012, 13:20
|
watchout
Legendundead
|
Löscht alle Mails eines Users aus der Mail Queue: for str in $(mailq | grep -E "^[0-9A-F].*username" | sed "s/ .*//g"); do postsuper -d $str; done
("username" mit dem user ersetzen) Benötigt: - sed
- postfix - Output von "mailq" kann auch mit verschiedenen postfix versionen variieren
- bash - müsste aber mit den meisten Shells funktionieren
|
watchout
Legendundead
|
Ping mit timestamp: ping google.com | while read pong; do echo "$(date): $pong"; done
Output: 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
PS: Nur mit Uhrzeit: ping google.com | while read pong; do echo "$(date +%H:%M:%S): $pong"; done
|
COLOSSUS
AdministratorGNUltra
|
Wem seconds since epoch genuegen, der verwende stattdessen: ping -D <HOST>
|
watchout
Legendundead
|
Wem seconds since epoch genuegen, der verwende stattdessen:
ping -D <HOST>
Das geht unter Linux, aber nicht BSD ping hat unterschiedliche Command-Line Parameter in BSD und Linux, einer der Unterschiede ist dass es den Time-Stamp (-D) unter BSD nicht gibt.
|
COLOSSUS
AdministratorGNUltra
|
Wenn wir uns hier im Thread auf 100%ige POSIX-Kompatibilitaet bzw. Portabilitaet besinnen wollen, haben wir eine ganz schirche Dose voller Wuermer offen
|
GrandAdmiralThrawn
XP Nazi
|
Hier kommt der Sinn!! for i in {1..8}; do (while true; do true; done) & done
Spawned 8 Subshells, die ewig nichts tun, aber davon recht viel. 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. Was besseres is mir auf die Schnelle nicht eingefallen..
|
issue
Rock and Stone, brother!
|
Hier kommt der Sinn!!
for i in {1..8}; do (while true; do true; done) & done
Spawned 8 Subshells, die ewig nichts tun, aber davon recht viel. 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.
Was besseres is mir auf die Schnelle nicht eingefallen.. for i in {1..8};do yes > /dev/null &;done
sollte aber relativ aufs gleiche rauskommen edit: thx that
Bearbeitet von issue am 05.06.2014, 10:41
|
that
Hoffnungsloser Optimist
|
for i in {1..8};do yes > /dev/null;done
sollte aber relativ aufs gleiche rauskommen
Ich würde sagen, da fehlt ein "&".
|
watchout
Legendundead
|
Generieren von JavaDoc für einen kompletten Tree. ( Quelle) find . -type f -name "*.java" | xargs javadoc -d outputdir
Benötigt:
Bearbeitet von watchout am 17.10.2014, 16:48
|
COLOSSUS
AdministratorGNUltra
|
Statt des klassichen Pipe-Konstrukts find ... | xargs <programm> <prog_args>
verwendet man besser find ... -exec <programm> <prog_args> {} +
`find` ersetzt dabei die Zeichenfolge {} mit der Liste der gefundenen Pfadnamen, und zwar in einer Art und Weise, die auch bei exotischen Dateinamen (mit '\n' und dergleichen im Pfadnamen) nicht bricht. Auszerdem spart man sich einen zusaetzlichen Prozess
|
COLOSSUS
AdministratorGNUltra
|
for i in {1..8};do yes > /dev/null &;done
sollte aber relativ aufs gleiche rauskommen
edit: thx that
Weil's mir gerade aufgefallen ist: &; ist keine korrekte Bourne-sh-Syntax; der vermeintliche Fix ruiniert deinen kleinen Einzeiler 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. Du willst also eigentlich das hier: for i in {1..8}; do yes > /dev/null & done
|
issue
Rock and Stone, brother!
|
Weil's mir gerade aufgefallen ist: &; ist keine korrekte Bourne-sh-Syntax; der vermeintliche Fix ruiniert deinen kleinen Einzeiler 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.
Du willst also eigentlich das hier:
for i in {1..8}; do yes > /dev/null & done
Bei mir haben beide das gleiche ergebnis; es werden 8 mal yes in den hintergrund geforkt. Kann das sein, dass da die zsh nicht so heikel ist?
|
COLOSSUS
AdministratorGNUltra
|
Ja, kann schon sein - POSIX-konform ist das allerdings nicht.
|