Anzeige:
Ergebnis 1 bis 12 von 12

Thema: Rätsel

  1. #1
    keiner_1
    Gast

    Rätsel

    Hallo Tuxer

    Ich habe einige Rätel (wie verhaltet sich die Shell) für euch, viel Spass bei ausprobieren :-) (oder wissen)

    Aufgabe 1) command a || command b | c
    Aufgabe 2) { command a || command b} |command c

    Da ich dieses Forum nicht nur mit Fragen eröffnen will hier ein nützlicher Befehl:

    Wie finde ich alle Programme die ein SUID Bit gesezt haben und dem User Root gehören??? für die die SUID nie gehört hatten, hier eine Beschreibung!

    mittels find

    find / -user root -perm +7000 -print

    das gleiche

    find / -uid 0 -perm +7000 -print

    Findet alle Files die dem Root gehören und höchstens die Rechtemaske 7000 haben, dann auf die Konsole herausgeschrieben

    postet alles was euch dazu einfällt, sollte ein langer thread werden :-)

    greetz

    adme

  2. #2
    Registrierter Benutzer Avatar von CboyGeek
    Registriert seit
    Apr 2002
    Beiträge
    438

    Re: Rätsel

    [QUOTE]Original geschrieben von adme
    [B]Hallo Tuxer

    Ich habe einige Rätel (wie verhaltet sich die Shell) für euch, viel Spass bei ausprobieren :-) (oder wissen)

    Aufgabe 1) command a || command b | c
    Aufgabe 2) { command a || command b} |command c

    Aufgabe 1: command a oder command b und command c
    Aufgabe 2: keine ahnung...

    lieg ich richtig?

  3. #3
    keiner_1
    Gast
    @CboyGeek

    Ja du liegst nicht richtig: er führt wenn a nicht erfolgreich war, die Pipe b | c aus, wenn er erfolgreich war dann komme die Pipe b | c nicht an die Reihe

    die commands werde von links nach rechts abgearbeitet, oder?

    @alle

    die erste Aufgabe habe ich verraten, nun findet die zweite heraus!

    greetz

    adme

  4. #4
    OSS Hacker Avatar von Trillian
    Registriert seit
    Apr 2001
    Ort
    Das Fleischhaus
    Beiträge
    1.987
    bla || foo
    foo wird nur ausgeführt, wenn bla mit einem Fehler beendet wurde / sich beendet hat (Gegenteil von &&)

    bla | foo
    War wahrscheinlich ne Fangfrage
    Erst durch || verunsichern, dann mit | kommen (stdout von bla an stdin von foo übergeben; | heisst "pipe")

    Edit:
    Ups, zu spät
    Geändert von Trillian (12.04.02 um 12:16 Uhr)

  5. #5
    keiner_1
    Gast
    @Trillian ja ich gebe zu ich war ein bisschen fies :-) ich wills ja nicht zu einfach machen

    übrigens die Augabe zwei kann man auch ausprobieren!!

    greetz

    adme

  6. #6
    OSS Hacker Avatar von Trillian
    Registriert seit
    Apr 2001
    Ort
    Das Fleischhaus
    Beiträge
    1.987
    Original geschrieben von adme
    übrigens die Augabe zwei kann man auch ausprobieren!!
    Ich bin schon erleuchtet, will aber nicht alles vorher verraten. Die anderen wollen auch noch was zum "rätseln" haben

  7. #7
    sackratte Avatar von McG.linux
    Registriert seit
    Mar 2001
    Ort
    Aalen, BW
    Beiträge
    719
    rätseln?

    na conmand a oder comand b und auf jeden Fall danach command c, oder?

    Gruß
    McG.linux
    "Erbsenzähler können nicht einmal richtig Erbsen zählen. Wundert Sie das?" (aus "Rettet die Rundwelt!")

  8. #8
    keiner_1
    Gast
    genau!

    was meint ihr zu dem find command, kennt ihr noch clevere Optionen

    greetz

    adme

  9. #9
    Debianer Avatar von msi
    Registriert seit
    Jan 2002
    Ort
    München
    Beiträge
    1.963
    ja ne sehr clevere Option sogar:

    man find

    da kann man alle optionen sehen ;-)

  10. #10
    keiner_1
    Gast
    Sali

    weiss du Newbies werden nicht immer von den man Seiten schlau!!! die haben lieber einen HOWTO text oder sowas!

    greetz

    adme

  11. #11
    - - - - - - - - - - Avatar von zander
    Registriert seit
    Mar 2001
    Beiträge
    6.144
    Um für jeden Treffer einer Suche mit find einen Befehl auszuführen bieten sich zwei Möglichkeiten; der interne exec Befehl und xargs:

    find . -name \*.c | xargs grep -li "printf"
    find . -name \*.c -exec grep -li "printf" {} \;

  12. #12
    Registrierter Benutzer
    Registriert seit
    Jan 2000
    Ort
    Frankfurt/M
    Beiträge
    92
    Manchmal muß man die Klammern auch mit einem \ versehen:

    find . -name \*.c -exec grep -li "printf" \{\} \;

    Ein beliebter Fehler (von mir zumindest) ist auch das Leerzeichen vor dem \; zu vergessen.

    Sandal

Lesezeichen

Berechtigungen

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