Anzeige:
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 16 bis 30 von 40

Thema: Hilfe in der Bash für Anfänger

  1. #16
    Registrierter Benutzer
    Registriert seit
    Oct 2001
    Beiträge
    56
    Könntest du kurz die Funktion der Tastenkürzel auflisten? Hab bis jetzt nämlich noch nie welche benutzt. Was passiert bei einem ! vor einem Programm?

  2. #17
    Linux-Junkie
    Registriert seit
    Jan 2001
    Beiträge
    242
    Hi,
    angenommen du schreibst einen ewig langen Befehl z.B. tar cvfz file.tar.gz datei1 datei2 dateiN, und machst dann etwas anderes und willst aber genau diesen Befehl nochmal ausführen, dann kannst du entweder mit den Cursortasten den Befehl wieder suchen, oder mit "!tar" den Befehl wiederholen. Also, noch mal genau: Das "!" mit einem Anfangsteil eines schon erteilten Befehls führt genau den letzten Befehl aus, der diesen Anfangsteil besitzt.

    sauron

  3. #18
    Registrierter Benutzer
    Registriert seit
    Oct 2001
    Beiträge
    56
    Super, das ist wirklich hilfreich. Bis jetzt habe ich mich immer totgesucht um einen Bestimmten Befehl erneut auszuführen.

  4. #19
    Debianer Avatar von msi
    Registriert seit
    Jan 2002
    Ort
    München
    Beiträge
    1.963
    und nochmal was cooles:

    wenn ein programm im fordergrund läuft kann man es mit
    STRG+Z unterbrechen. Das Programm ist dann einfach gestoppt
    und man hat die Shell wieder frei.
    Wenn man dann fg eingibt läuft das Programm im Vordergrund weiter,
    bei bg läuft es im Hintergrund weiter.

    und noch was:
    wenn man als user su eingibt und root wird kann man die shell leicht
    stoppen indem man suspend eingibt. dann hat man wieder normale
    userrechte. Wenn man dann wieder fg eingibt ist man wieder root.

  5. #20
    badenser
    Gast
    Hai!

    Besser als das ! vor dem Befehl find ich folgendes:
    Strg+R danach langsam schreiben. In der History wird nun nach dieser Zeichenfolge gesucht. Muss nicht der Anfang sein.
    So hat man noch eine Kontrolle was ausgeführt wird.

    Jeder wie er will

  6. #21
    - - - - - - - - - - Avatar von zander
    Registriert seit
    Mar 2001
    Beiträge
    6.144
    Um den [ctrl]-r Heinweis noch etwas auszubauen: bash benutzt die GNU Readline Bibliothek und kennt daher alle readline Tastaturkürzel. [ctrl]-r started eine Suche in der History Funktion, nach Eingabe eines Suchwortes kann man dann durch wiederholtes [ctrl]-r alle passenden Einträge durchgehen. [ctrl]-s macht das gleiche, lediglich in der anderen Richtung. [ctrl]-g stellt die ursprüngliche Zeile wieder her. [ctrl]-a/e springen zum Anfang/dem Ende der Zeile, [ctrl]-l löschte den aktuellen Terminalinhalt. Es gibt noch wesentlich mehr dieser Kürzel.

    Die !/!!/!-x/... Kürzel stammen von der GNU History Bibliothek. Dokumentation mit allen möglichen Kürzeln und vielen weiteren nützlichen Hinweisen (sowie den Programmierhinweisen) finden sich auf den Seiten des GNU Projekts.

  7. #22
    Registrierter Benutzer
    Registriert seit
    May 2001
    Ort
    Berlin
    Beiträge
    870

    403

    Hi

    habe da auch nen paar Tips.


    Mehre Befehle auf einmal:

    Code:
    uptime; killall named; sleep 3; /usr/local/sbin/named -u named -c /etc/named.conf; ps U named


    ..grep -v grep angehangen lässt "grep" nicht in der Ausgabe auftauchen

    Code:
    ps fax |grep inetd |grep -v grep
    NUR FÜR SYSADS:!!!!!
    ---------------------
    Code:
    # kill -9 `ps -augxww | sort -rn +8 -9  | head -1 | awk '{print $2}'`
    (src: http://www.ugcs.caltech.edu/~werdna/sysadmins.html
    netter artikel)
    Geändert von 403 (08.05.02 um 14:56 Uhr)

  8. #23
    Registrierter Benutzer
    Registriert seit
    May 2002
    Ort
    Wien
    Beiträge
    308
    also ich muss echt sagen der Beitrag hat was )))) irgendwie mal ne richtig tolle idee von demjenigen der dieses Topic ins Leben geruft hat. Naja hab da aber auch mal ne frage: Wie kann ich texte, die ich unter der grafischen Oberfläche (kde) kopiert habe in der konsole einfügen? Aber jetzt mein ich nicht die console unter kde sondern zB.: STRG+Alt+F1.
    ich bräuchte das nämlich für so ein Downloadproggy und will nicht den ganzen Link abschreiben.

    MfG orion

  9. #24
    Registrierter Benutzer
    Registriert seit
    May 2002
    Ort
    Wien
    Beiträge
    308
    Kann mir wer auch Links geben zu Themen wie: "kompilieren des kernels", "was is kompilieren?", "kompilieren für Anfänger". Ich hab schon ein paar einzelne Seiten gefunden über google, aber ich wette ihr kennt noch ein paar gute.

    2. MfG orion

  10. #25
    Registrierter Benutzer Avatar von phoen][x
    Registriert seit
    Jun 2002
    Ort
    Hildesheim
    Beiträge
    560
    C-d (oder [ctrl]+[d] fuer nicht-emacs Benutzer) beendet die aktuelle Sitzung an der bash mittels 'logout'. Sehr nuetzlich fuer Leute wie mich, die oft mit 'su' unterwegs sind.

    Die linke Windowstaste springt eine tty nach links (also von tty3 nach tty2) die rechte eine nach rechts. Das funktioniert jedoch nicht im Xserver, ausser ihr baut euch dafuer einen Keyboard Event Handler (vielleicht mit bbkeys..)

    Und btw, 'su' kann auch ohne das '-' ganz nuetzlich sein. Das '-' ~laedt~ ja bekanntlich die ~/.bash_profile des Benutzers, was dazu fuehrt dass man in dem jeweiligen home landet (also bei 'su -' landet man in /root). Wenn ich nun aber in irgendeinem Unterverzeichnis nur eben Rechte aendern will, benutze ich immer nur 'su', dann bleibt man naemlich im Verzeichnis (allerdings wird der Pfad nicht 100%ig korrekt gesetzt, aber das tangiert mich wenig da ich ja nur das chmod brauche).

    Solltet ihr keine Lust haben, Dienste mit "/etc/init.d/apache restart" neuzustarten, versuchts mal einfach mit "killall -HUP apache". (HUP ist das Signal um dem prozess zu sagen, dass er seine config neu laden soll. Ersetzt man das HUP durch TERM, hat sich die Sache mit dem apache erledigt, der ist dann naemlich gekillt (bzw getermt) )

    'watch' kann ein nuetzlicher Befehl sein, um auf einer zweiten konsole den Status zu checken: So gibt einem "watch -n1 'df -h'" ein sekuendliches update zur plattenausnutzung, oder "watch -n1 'ps waux | grep smbd'" die informationen zum Samba, und so weiter.

    so jetzt hab ich keine lust mehr, aber einfallen tun mir noch tausend sachen. Back to work.

    -phoen][x-
    (*'-._.: System Stats :._.-'*)
    2400MHz Pentium 4 HT w/ 1024MB Dual-channeled DDRAM; ATI Radeon 9700Pro w/ 128 MB DDRAM; WinTV Go; Intel EtherExpress Pro 1000 onboard; Maxtor 160GB @ 7200 RPM, Serial-ATA; Maxtor 80GB @ 5400 RPM, UDMA-100; Sony 24/10/40x CD-RW Drive; Pioneer 16x DVD Drive

  11. #26
    Premium Mitglied Avatar von SeeksTheMoon
    Registriert seit
    Feb 2002
    Beiträge
    1.704
    wer einen mehrzeiligen Befehl schreibt und nochmal an den Anfang springen muss, der tippt schonmal aus versehen die Pfeiltaste oben und hat somit den eigentlichen Befehl durch den letzten Befehl ersetzt.
    Mit STRG+A springt man an den Anfang, mit STRG+E ans Ende zurück.
    Es gibt auch Kürzel, um wortweise zu springen, aber die fallen mir gerade nicht ein.
    09F911029D74E35BD84156C5635688C0

  12. #27
    Premium Mitglied Avatar von dragon's might
    Registriert seit
    Apr 2002
    Beiträge
    1.967
    shortcuts:

    Man (oder fra) schreibt zum Beispiel den Anfang von "befehl" (also "b")
    und drückt tab, dann werden einem alle möglichen Möglichkeiten aufgelistet, denn es gibt mehrere Befehle die so anfangen. *g*
    Geändert von dragon's might (01.07.02 um 13:04 Uhr)
    צה"ל

  13. #28
    Registrierter Benutzer Avatar von phoen][x
    Registriert seit
    Jun 2002
    Ort
    Hildesheim
    Beiträge
    560
    'tail foo' zeigt die letzten paar zeilen von foo, 'tail -f foo' folgt dem output, ist also sehr gut fuer logdateien geeignet ('tail -f /var/log/messages' fex).

    'sort' sortiert eine datei, 'uniq' entfernt doppelte zeilen in einer sortierten datei. 'gawk' und 'sed' sind lustige tools die ich aber nicht naeher erlaeutern moechte (es wuerde zu lange dauern) - 'lsof' kann wie ich schon im forum gelesen habe dafuer benutzt werden, herauszufinden welcher daemon auf welchem port laeuft (mit 'lsof -i'). Ein weiterer Nutzen ist, herauszufinden welcher prozess noch auf dateixy zugreift - Ich benutze es um herauszufinden welches programm noch auf dem dvd-laufwerk haengt; dann lassen sich die cds/dvds naemlich nicht unmounten (beziehungsweise ejecten, ich habe autofs)

    'useradd', 'userdel', 'usermod', 'groupadd', 'groupmod' und 'groupdel' sind auch recht nuetzliche tools - es sei denn man steht darauf die /etc/shadow und /etc/passwd per hand zu editieren.

    'cd ~<username>' wechselts in das home von username, habe ich erst neulich gemerkt. Also beispielsweise "cd ~phoenix" als root wechselt in /home/phoenix.

    Die tty piept immer nervig rum bei tabcompletion oder fehlern? 'setterm -blength 0' schafft da abhilfe, sehr nuetzlich auch in /etc/profile. Eine Konsole im X piept rum und Du has keine Lust lange im Windowmanager nach der Option zu suchen? 'xset -b' und gut ist. btw, 'xset -dpms' schaltet den x11-screensaver (blank screen) aus - fuer divx empfehlenswert.


    pipes:
    hierfuer erstmal eine datei:
    -=[foo.txt]=--------------------------------------------------------
    3
    4
    5
    3
    2
    1
    6
    4
    3
    2
    ------------------------------------------------------=[EOF]=-----

    'sort foo.txt' sortiert die Datei, wie oben bereits erwaehnt.
    Um den Output eines Programmes in den Input eines anderen Programmes zu leiten, benutzt man unter *nix das "|"-Symbol (sprich pipe).

    'sort foo.txt | uniq' sortiert somit die Datei und entfernt doppelte Zeilen.
    Um das ganze jetzt nach clean.txt zu schreiben benutzt man das ">".
    'sort foo.txt | uniq > clean.txt' sortiert somit die Datei, entfernt doppelte Zeilen und schreibt alles in clean.txt. Es wird ansonsten kein output mehr erzeugt, bis auf Fehlermeldungen. Denn Fehlermeldungen werden nicht mit ">" umgeleitet - damit leitet man nur den StdOutput des Programmes um.

    Um die Fehlermeldungen mit umzuleiten, einfach anstelle von ">" ein "&>" verwenden und die Sache hat sich erledigt.

    Ach so, der append-operator fehlt noch: ">>"
    Ein gutes Beispiel ist dieses: Ich moechte an das Ende von foo.txt ein "all your base are belong to us" anhaengen (aus welch dubiosem Grund auch immer ). Der normale operator ">" wuerde die foo.txt neu schreiben, also waeren alle anderen Informationen verloren (Nur mein Text wuerde ueberleben).
    Abhilfe schafft der append-operator: "echo 'all your base are belong to us' >> foo.txt" schreibt den String an das Ende von foo.txt - sehr nuetzlich (in manchen Situationen (beispielsweise Shellskripte))

    So das wars fuer jetzt.

    So long
    -phoen][x-
    (*'-._.: System Stats :._.-'*)
    2400MHz Pentium 4 HT w/ 1024MB Dual-channeled DDRAM; ATI Radeon 9700Pro w/ 128 MB DDRAM; WinTV Go; Intel EtherExpress Pro 1000 onboard; Maxtor 160GB @ 7200 RPM, Serial-ATA; Maxtor 80GB @ 5400 RPM, UDMA-100; Sony 24/10/40x CD-RW Drive; Pioneer 16x DVD Drive

  14. #29
    Registrierter Benutzer Avatar von phoen][x
    Registriert seit
    Jun 2002
    Ort
    Hildesheim
    Beiträge
    560
    Bevor ich anfange zu arbeiten, noch ein paar bash Tips:

    'apropos' - ein wirklich geniales Tool um schnell und gezielt die man-datenbank zu durchforsten. So durchsuch "apropos foo" alle manpages nach dem wort "foo". Bsp.: Ihr wollt etwas ueber signale wissen? 'apropos signals'

    'whatis' und 'whereis' - ahh, ich hab eine binary, und weiss nicht wo genau sie ist, da binaries ja grundsaetzlich in /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin, ~/bin, ~/sbin seien koennen. "whatis foo" oder "whereis foo" gibt mir sofort den korrekten pfad der binary aus.

    'locate' - da 'whatis' und 'whereis' nur die binary verzeichnisse durchsuchen, man aber sicherlich auch ab und zu andere Dateien ~vermisst~ gibt es noch locate. um locate zu benutzen, muss erstmal eine aktuelle locate-datenbank erstellt werden: das geht supereinfach mit "updatedb" (dauert aber ein bisschen, und man braucht root rechte). Sobald updatedb fertig ist, findet ein Befehl wie "locate foo.txt" alle vorkommnisse von foo.txt auf dem system, und gibt diese mit vollstaendigen pfadangaben aus. Aber es kommt noch besser. locate versteht auch ausdruecke als suchstring. so ist es beispielsweise moeglich. den folgenden Befehl auszufuehren "locate /opt/*foo.txt" - sucht in /opt nach vorkommnissen von foo.txt

    'du' - diskusage. 'du' alleine ist praktisch ein 'ls' was nur die Groesse anzeigt. interessant wird 'du' erst mit dem parameter '-s' - damit wird naemlich die Groesse des aktuellen Ordners inklusive aller Unterordner angezeigt. Ein zusaetzliches '-h' rechnet alles in KB/MB/GB um - wer will schon mit Bytes rechnen. Beispiel fuer den Einsatz von 'du':
    Meine /usr partition laeuft nach und nach voll, und ich weiss nicht wo der Speicherplatz hin ist. Ein 'du -hs /usr/src' zeigt einem sofort, dass man noch vergessen hat die alten Kernel mit "make mrproper" wieder zu verkleinern (ein winex ohne "make clean" ist auch ca. 300MB gross, da kanns schon mal eng werden)

    'grep' - das allerwichtigste tool in linux. "grep" durchsucht eine datei oder den StdInput nach einem Ausdruck. Beispielsweise sucht "grep phoenix /etc/shadow" nach Vorkommnissen von 'phoenix' in der /etc/shadow. Besser noch ist es fuer pipes geeignet, beispielsweise: "ps waux | grep httpd" (durchsucht die prozessliste nach laufenden httpds) oder "gunzip -c foo.tar.gz | grep bar" ('gunzip -c' entpackt eine Datei in die StdOutput, das grep durchsucht alles nach bar)
    Natuerlich ist auch eine Syntax wie diese moeglich: "grep foo ~/*" um das Homeverzeichnis nach foo zu durchsuchen oder "grep -R foo ~/*" um das Homeverzeichnis rekursiv nach foo zu durchsuchen (alle Unterverzeichnisse).

    Das reicht fuers erste.
    -phoen][x-
    (*'-._.: System Stats :._.-'*)
    2400MHz Pentium 4 HT w/ 1024MB Dual-channeled DDRAM; ATI Radeon 9700Pro w/ 128 MB DDRAM; WinTV Go; Intel EtherExpress Pro 1000 onboard; Maxtor 160GB @ 7200 RPM, Serial-ATA; Maxtor 80GB @ 5400 RPM, UDMA-100; Sony 24/10/40x CD-RW Drive; Pioneer 16x DVD Drive

  15. #30
    Registrierter Benutzer Avatar von phoen][x
    Registriert seit
    Jun 2002
    Ort
    Hildesheim
    Beiträge
    560
    @orion:
    entweder du nimmst den "gpm", also mausunterstuetzung fuer die konsole, oder du machst es ein wenig anders: erst kopierts du den ganzen kaese in eine temporaere datei (beispielsweise "~/link") und dann greifst du da mit der konsole wieder drauf zu. Ich gebs zu, gpm ist komfortabler - aber das andere hat auch was (vor allem wenn man konsolenfreak ist)

    -phoen][x-
    (*'-._.: System Stats :._.-'*)
    2400MHz Pentium 4 HT w/ 1024MB Dual-channeled DDRAM; ATI Radeon 9700Pro w/ 128 MB DDRAM; WinTV Go; Intel EtherExpress Pro 1000 onboard; Maxtor 160GB @ 7200 RPM, Serial-ATA; Maxtor 80GB @ 5400 RPM, UDMA-100; Sony 24/10/40x CD-RW Drive; Pioneer 16x DVD Drive

Lesezeichen

Berechtigungen

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