+ Antworten
Seite 1 von 4 1 2 3 ... LetzteLetzte
Ergebnis 1 bis 10 von 40

Thema: Users4Users : Die besten NICHT-geheimen "Shell-Tricks" der Linux-User

  1. #1
    Administrator Avatar von Rain_Maker
    Registriert seit
    06.02.2006
    Beiträge
    5,459

    Standard Users4Users : Die besten NICHT-geheimen "Shell-Tricks" der Linux-User

    Hallo,

    Ja, ich weiß, die Überschrifthat B***-Zeitungs-Niveau, aber im Gegensatz zum Boulevardblatt, welches man besser nicht zu schräg hält, weil sonst das Blut raustropft (*SCNR*), hat dieser Thread den Sinn, nützliche Konsolenbefehle, die einem Vieles leichter machen, zu nennen und zu erklären.

    Das Ganze sollte folgende Form haben.

    1. Titel des Postings bitte so ändern, daß drin steht, was man mit diesem/n Befehl(en) machen kann.

    2. Befehl nennen (am besten als [code] Befehl(e) [/code])

    3. Kurze Erklärungen.

    Doppelpostings sind hier AUSDRÜCKLICH erwünscht, damit man anhand der jeweiligen Überschrift sofort weiß, um was es geht!

    Greetz,

    RM
    Geändert von Rain_Maker (15.11.2007 um 13:03 Uhr)
    "Programming today is a race between software engineers striving to build better & bigger idiot-proof programs and the Universe trying to produce bigger & better idiots. So far, the Universe is winning." (Rick Cook)

    Dies ist ein _öffentliches_ Supportforum, keinerlei Support per PN, EMail oder Instant Messenger.

    openSUSE 11.4 - 3.3.X-desktop - fluxbox 1.3.2

    For Windows-Problems - Reboot / For Linux-Problems - BE ROOT!
    (==> Und hier das wirkliche "Geheimnis meines Erfolges")

  2. #2
    Administrator Avatar von Rain_Maker
    Registriert seit
    06.02.2006
    Beiträge
    5,459

    Standard Inhalt von Dateien anzeigen.....

    Hier 3 nützliche Programme, die einem den Inhalt von (Text)dateien anzeigen können.

    1. cat

    Code:
    cat /Pfad_zur_Datei/Dateiname
    Zeigt den Inhalt der Datei an und beendet sich danach. Leider für grössere Dateien nicht besonders gut geeignet, deshalb braucht es "mehr".

    2. more

    Code:
    more /Pfad_zur_Datei/Dateiname
    Im Gegensatz zu cat, zeigt more immer nur einen Teil der Datei an und man kann mit der Leertaste bzw. ENTER nach unten Scrollen. Kann mit q beendet werden.
    Nachteil: Zurückscrollen ist leider nicht möglich, aber "weniger ist mehr".

    Deshalb==>

    3. less

    Code:
    less /Pfad_zur_Datei/Dateiname
    Wie more, aber man kann mit den Pfeiltasten vor und zurück scrollen.

    Greetz,

    RM
    "Programming today is a race between software engineers striving to build better & bigger idiot-proof programs and the Universe trying to produce bigger & better idiots. So far, the Universe is winning." (Rick Cook)

    Dies ist ein _öffentliches_ Supportforum, keinerlei Support per PN, EMail oder Instant Messenger.

    openSUSE 11.4 - 3.3.X-desktop - fluxbox 1.3.2

    For Windows-Problems - Reboot / For Linux-Problems - BE ROOT!
    (==> Und hier das wirkliche "Geheimnis meines Erfolges")

  3. #3
    Administrator Avatar von Kernelman
    Registriert seit
    14.03.2006
    Ort
    88214 Ravensburg
    Beiträge
    601

    Standard Verzeichnisse wechseln, anlegen und löschen

    1. cd - Verzeichnis wechseln
    Code:
    cd /lib/modules
    wechselt ins Verzeichnis /lib/modules.

    Den nächsten Unterordner erreicht man (ohne /) durch
    Code:
    cd precompiled
    Da / immer den absoluten Pfad bezeichnet, würde durch cd /precompiled eine Fehlermeldung (Datei oder Verzeichnis nicht gefunden) erzeugt.


    Code:
    cd ..
    wechselt ins nächst übergeordnete Verzeichnis (hier: /lib/modules).


    Code:
    cd ~
    wechselt ins Home-Verzeichnis, je nachdem ob user oder root.


    Eine feine Sache ist das automatische Vervollständigen der Verzeichnisnamen durch Dücken der TAB-Taste nach Eingabe des ersten oder des/der folgenden Buchstaben des jeweiligen Ordners.

    Hier gilt: Versuch macht kluch.


    2. mkdir - Verzeichnis anlegen
    Code:
    mkdir test
    legt im aktuellen Verzeichnis einen neuen Ordner "test" an.


    3. rmdir - Verzeichnis löschen
    Code:
    rmdir test
    löscht den Ordner "test". Voraussetzung: der zu löschende Ordner muß leer sein.




    ...to be continued


    Gruß
    KM
    Lesen gefährdet die Dummheit!

    openSUSE 11.3-64Bit 2.6.34.7-0.7-desktop KDE 4.4.4

    "Linux is user-friendly, it's just a little picky, who his friends really are"

    My Jabber: Mein_Nickname hier(at)jabber.ccc.de

  4. #4
    Moderator Avatar von benne
    Registriert seit
    09.05.2006
    Beiträge
    365

    Standard Dateien erstellen, kopieren und verschieben/umbenennen und löschen

    1. touch - Datei erstellen

    [code]touch example.txt[/]

    Durch diesen Befehl wurde die Datei example.txt in dem aktuellen Verzeichnis, indem man sich befindet, erstellt.

    2.a) cp - Datei kopieren

    Code:
    cp example.txt /Verzeichnis/zum/einfügen
    cp steht für copy, dann die zu kopierende Datei aus dem aktuellen Verzeichnis und zum Schluss das Verzeichnis in welches kopiert werden soll.

    2.b) mv - Dateien verschieben

    Prinzipiel das gleiche Prozedere:

    Code:
    mv example.txt /Verzeichnis/zum/verschieben
    2.c) Mit dem mv Befehl können die Dateien auch umbenannt werden:

    Code:
    mv example.txt beispiel.txt
    Dieser Befehl ändert den Dateinamen von example.txt in beispiel.txt um.

    3. rm - Datei löschen

    Code:
    rm bespiel.txt
    Durch diesen Befehl wird die Datei beispiel.txt aus dem aktuellen Verzeichnis wieder gelöscht.

    Schönen Gruß,
    benne
    Geändert von benne (13.08.2006 um 18:11 Uhr)

  5. #5
    Administrator Avatar von Rain_Maker
    Registriert seit
    06.02.2006
    Beiträge
    5,459

    Standard Mehrere Programme aus der selben shell starten und kontrollieren

    Hallo,

    Das "Original" zu diesem Thread liegt übrigens hier.

    Manchmal macht es Sinn ein Programm aus der shell zu starten, um z.B. eventuelle Fehlermeldungen lesen zu können. Wie kann man aber ein Programm, welches aus der shell gestartet wurde, nach Schließen des Konsolenfensters weiterlaufen lassen?

    Hier am Beispiel des Texteditors kate:

    Code:
    kate&
    das "&" hat die Funktion, daß das Programm im Hintergrund läuft und man in der shell normal weiterarbeiten kann.

    Würde man nun die shell schliessen, würde in den meisten Fällen auch das gestartete Programm mit "abgeschossen". Deshalb nicht das Fenster schliessen, sondern sich ordentlich aus der Konsole abmelden.

    Code:
    exit
    Alternativ auch STRG-D.

    - Und wenn man das "&" vergessen hat?

    Ganz einfach.

    Man drückt die Tastenkombination STRG-Z. Dadurch wird das Programm angehalten (Probierts mal aus!). Nun gibt man
    Code:
    bg
    ein und das Programm läuft im Hintergrund (bg=Background) weiter, Rest wie gehabt.

    - Und wie hole ich ein Programm wieder in den Vordergrund?

    Code:
    fg
    Muss man nicht weiter erklären, oder?

    - Und wenn man mehrere Programme aus der selben Shell gestartet hat und ein bestimmtes in den Vordergrund holen will?

    Nichts leichter als das, hierzu hilft der Befehl "jobs".

    Machen wir mal ein Beispiel, anhand der beiden Programme kate und gedit.

    Code:
    kate &
    (Man kann also auch ein Leerzeichen machen nach dem Befehl)

    Code:
    User@Rechner:~$ kate &
    [1] 10280
    gedit&
    [2] 10282
    User@Rechner:~$ jobs
    [1]-  Running                 kate &
    [2]+  Running                 gedit &
    Beide laufen im Hintergrund, nun holen wir kate nach vorne, das geschieht mit fg und Aufruf der Jobnummer.

    Die Nummern hinter den Klammern sind übrigens die sogenannten PID (=Process ID) die man zum "Abschiessen" eines Prozesses mit dem Befehl "kill" verwenden kann. Will man Prozesse nach Namen abschiessen dann geht das mit dem Befehl "killall Programmname". ACHTUNG, da man nach Namen "abschiesst", werden logischerweise ALLE Programme dieses Namens abgeschossen. Woher sollte das System auch wissen, welches man meint, wenn mehrere Prozesse den selben Namen haben? Dafür gibt es dann das killen mit PID, die ist IMMER eindeutig.

    Code:
    User@Rechner:~$ fg 1
    kate
    Da wir nun nichts tippen können, stoppen wir kate mit STRG-Z, schicken es nach hinten und holen anschliessend gedit nach vorne.

    Code:
    [1]+  Stopped                 kate
    User@Rechner:~$ bg
    [1]+ kate &
    User@Rechner:~$ fg 2
    gedit
    Nett oder? Jetzt stoppen wir gedit, holen kate nach vorne und beenden kate mit STRG-C, danach holen wir gedit nach vorne und beenden es ebenfalls mit STRG-C.

    Code:
    [2]+  Stopped                 gedit
    User@Rechner:~$ bg
    [2]+ gedit &
    User@Rechner:~$ fg 1
    kate
    
    User@Rechner:~$ fg 2
    gedit
    
    User@Rechner:~$
    Greetz,

    RM
    "Programming today is a race between software engineers striving to build better & bigger idiot-proof programs and the Universe trying to produce bigger & better idiots. So far, the Universe is winning." (Rick Cook)

    Dies ist ein _öffentliches_ Supportforum, keinerlei Support per PN, EMail oder Instant Messenger.

    openSUSE 11.4 - 3.3.X-desktop - fluxbox 1.3.2

    For Windows-Problems - Reboot / For Linux-Problems - BE ROOT!
    (==> Und hier das wirkliche "Geheimnis meines Erfolges")

  6. #6
    Lehrling Avatar von TypeRyder
    Registriert seit
    05.05.2006
    Ort
    Süddeutsches Exil
    Beiträge
    230

    Standard Prozesse überwachen und steuern

    Und wie erkenne ich nun, was auf meinem System läuft?
    Auch dazu hält die Konsole einige nützliche Befehle bereit.

    ps
    Fangen wir mit der Auflistung der Prozesse an, die man mit
    Code:
    ps
    in der rudimentären Version aufrufen kann.

    Ich bevorzuge meist
    Code:
    ps -aux
    , da ich hier wesentlich mehr Informationen zu den laufenden Prozesse bekomme. Wichtig ist auf jedenfall die Ausgabe der PID-Nummer, auf die ich dann später noch zu sprechen komme.

    Die Ausgabe von "ps" kann man übrigens auch mit einer Pipe (|) kombinieren und z.B. an grep übergeben, um die Ausgabe nach einem bestimmten Prozess zu filtern. Beispiel:
    Code:
    ps aux | grep xmms
    gibt mir alle Prozesse aus, die mit xmms zu tun haben.


    top
    Die ps-Ausgabe ist statisch und gibt nur eine Momentaufnahme zum Augenblick des Befehls. Wenn ihr sehen möchtet, welche Prozesse aktuell grade laufen und wieviel Resourcen sie verbrauchen, dann ist der Befehl
    Code:
    top
    das richtige. Einfach mal ausprobieren und auch mal mit
    Code:
    man ps
    oder
    Code:
    man top
    die Manpages (quasi Hilfeseiten, Manual Pages, gibts zu fast allen Befehlen und Programmen] anzeigen lassen. Das ist übrigens auch ein praktischer Konsolenbefehl, den man dringend bemühen sollte, wenn man mit einem Programm nicht klarkommt oder nicht weiß, was es macht.


    kill
    Nun kommen wir zum "Killen", dem Beenden eines Prozesses. Wenn man einen Prozess als User beenden möchte, dann benötige ich die PID-Nummer des Prozesses, die ich mir per ps oder top holen kann. dann kann ich mit dem Befehl
    Code:
    kill [Prozessnummer]
    den gewünschten Prozess schießen. Wenn sich der Prozess als hartnäckig erweist und sich mit einem einfachen kill-Befehl nicht abschiesen läßt, dann erweitere ich das ganze mit
    Code:
    kill -9 [Prozessnummer]
    . Mit ps oder top kann ich jeweils auch kontrollieren, ob der Prozess tatsächlich weg ist. Welche weiteren Optionen der kill-Befehl noch bereit stellt, könnt ihr auch (wer hätte es gedacht) per
    Code:
    man kill
    erfahren.
    010 Praise the Evil KANIN From Outer Space!
    001 Fragen stellen - gewußt wie...
    111 Privatsphäre ist kein Verbrechen!
    Besucht das Unknown Online - Forum - ein Ingameforum für SR4.

  7. #7
    Lehrling Avatar von TypeRyder
    Registriert seit
    05.05.2006
    Ort
    Süddeutsches Exil
    Beiträge
    230

    Standard Dateien auflisten und finden

    Wie kann ich mit Dateien arbeiten? Wie kann ich mir auf der Konsole angucken, welche Dateien ein Verzeichnis enthält? Wie finde ich eine Datei?
    Dazu komme ich hier.

    ls
    Fangen wir mal mit ls an. Mit diesem Befehl
    Code:
    ls
    kann ich mir den Inhalt des Verzeichnisses, in dem ich mich gerade befinde, anzeigen. Auf einigen Distributionen gibt es hier auch einen Alias mit Namen
    Code:
    dir
    *g*

    Auch der ls-Befehl hält eine Fülle weiterer Optionen bereit, die man (wie immer) mit "man ls" erfahren kann.

    Wenn ich eine bestimmte Datei suche, dann kann ich das wahlweise an den Befehl anhängen, beispielsweise
    Code:
    ls (Dateiname)
    oder aber über eine Pipe mit grep arbeiten, z.B.
    Code:
    ls | grep (Dateiname)

    find
    Was mache ich nun, wenn ich gar nicht weiß, wo ich eine Datei suchen muss? Für diese Fälle gibt es den Befehl find, den ich wie folgt aufrufe
    Code:
    find (Verzeichnissebene) -name (Datei- oder Programmname)
    Nehmen wir als Beispiel die Datei "Kochrezepte.txt", die ich irgendwann mal irgendwo gespeichert habe. In fortschreitendem Alter läßt das Gedächnis manchmal nach und so kann ich mich absolut nicht mehr erinnern, wo ich die Datei hingepackt habe. Der find-Befehl fällt mir allerdings noch ein, also tippe ich fröhlich drauflos
    Code:
    find / -name Kochrezepte.txt
    Das System sucht nun, beginnend im Wurzelverzeichnis, sämtliche Verzeichnisse durch, um mir dann hoffentlich einen Ort auszuspucken, an dem ich die Datei dann finde.


    locate
    Der Find-Befehl ist zum Suchen schonmal gut geeignet, braucht aber meist ein wenig, da er zeitnah sucht und zum Augenblick des Befehls das gesamte System durchackert. Nun hat man bei Unix / Linux aber freundlicherweise schon an so vergeßliche Menschen wie mich gedacht und eine Datenbank eingebaut, die in regelmäßigen Abständen eine komplette Bestandsaufnahme aller Dateien macht, meist per Cron-Befehl einmal täglich (je nach Konfiguration). Wie kann ich davon profitieren? Mit dem locate-Befehl.

    Nehmen wir unser Beispiel von oben und ich suche wieder meine Kochrezepte.txt. An den find-Befehl erinnere ich mich grad nicht (ihr wißt, das Gedächniss...), aber der locate-Befehl fällt mir ein, also tippe ich lustig drauflos
    Code:
    locate kochrezepte.txt
    . Das Ergebniss ist hier wesentlich fixer als der find-befehl, vorausgesetzt das die locate-Datenbank aktuell ist. Probiert beide Befehle einfach mal aus, wie immer gibts auch hier per "man" weitere Infos zum Befehl.

    Nachtrag: (RM) SuSE-User müssen hierzu das Paket "findutils-locate" nachinstallieren. Ansonsten aber: Great Posting!
    Geändert von Rain_Maker (25.07.2006 um 10:49 Uhr)
    010 Praise the Evil KANIN From Outer Space!
    001 Fragen stellen - gewußt wie...
    111 Privatsphäre ist kein Verbrechen!
    Besucht das Unknown Online - Forum - ein Ingameforum für SR4.

  8. #8
    Lehrling Avatar von TypeRyder
    Registriert seit
    05.05.2006
    Ort
    Süddeutsches Exil
    Beiträge
    230

    Standard Befehle für den verwirrten Geist (whoami, pwd)

    Auf das Thema "Vergesslichkeit" bin ich ja eben schon zu sprechen gekommen, dabei sind mir auch noch zwei weitere nützliche Befehle eingefallen.

    whoami
    Nehmen wir mal an, ich bin grade mit mehreren su-Verschachtelungen unterwegs oder habe mehrere Konsolen mit verschiedenen Benutzern offen und weiß grad nicht, als welcher Nutzer ich auf einer Konsole unterwegs bin. Kein Problem.
    Per
    Code:
    whoami
    kann ich mir sehr schnell ausgeben lassen, wer ich wirklich bin *g*.


    pwd
    Ähnliches gibts auch für Verzeichnisse. Per
    Code:
    pwd
    kann ich mir den Namen des Verzeichnisses angeben lassen, in dem ich mich gerade befinde.


    Auf der normalen Shell mag sowas unnütz erscheinen, aber es gibt auch Shell-Konfigurationen, die z.B. die Verzeichnisnamen nicht aufschlüsseln oder nicht klar erkennen lassen, als welcher User man gerade unterwegs ist. Hier können diese Befehle unter Umständen sehr nützlich sein. Und mittlerweile nehme ich einfach mal an, daß jeder weiß, wie er weitere Infos zum jeweiligen Befehl bekommt *g*
    010 Praise the Evil KANIN From Outer Space!
    001 Fragen stellen - gewußt wie...
    111 Privatsphäre ist kein Verbrechen!
    Besucht das Unknown Online - Forum - ein Ingameforum für SR4.

  9. #9
    Administrator Avatar von Rain_Maker
    Registriert seit
    06.02.2006
    Beiträge
    5,459

    Standard Was KANN ein Befehl überhaupt alles?

    Hallo,

    Schon mehrfach erwähnt, aber der Übersichtlichkeit halber nochmal extra erklärt (erleichtert die Suche für Querleser).

    Eine Kurze Hilfe zu praktisch jedem Befehl erhält man mit:

    Code:
    Befehl --help
    
    oder 
    
    Befehl -h
    Nicht immer funktionieren beide, aber eines von beidem klappt IMMER.

    Ausführliche Hilfen enthalten die sogenannten "Man Pages", die es zu fast jedem Befehl gibt (allerdings nur auf Englisch).

    Code:
    man Befehl
    Das Ganze funktioniert wie bei less (siehe weiter unten), Scrollen mit Pfeiltasten, Verlassen mit q.

    Wer die SuSE-Handbücher installiert hat, kann es auch im Konqueror mit

    Code:
    help:/Befehl
    probieren. Hier wird man aber bei shell-Befehlen weniger finden, dafür umso mehr bei KDE-Programmen.

    Greetz,

    RM
    "Programming today is a race between software engineers striving to build better & bigger idiot-proof programs and the Universe trying to produce bigger & better idiots. So far, the Universe is winning." (Rick Cook)

    Dies ist ein _öffentliches_ Supportforum, keinerlei Support per PN, EMail oder Instant Messenger.

    openSUSE 11.4 - 3.3.X-desktop - fluxbox 1.3.2

    For Windows-Problems - Reboot / For Linux-Problems - BE ROOT!
    (==> Und hier das wirkliche "Geheimnis meines Erfolges")

  10. #10
    Administrator Avatar von Rain_Maker
    Registriert seit
    06.02.2006
    Beiträge
    5,459

    Standard Informationen zur Hardware erhalten (Wichtig bei der Problemsuche!)

    Hallo,

    Hier ein paar nützliche Befehle, um zu sehen, welche Hardware eingebaut ist.

    Unter Linux bringt es meist nicht viel, zu posten, was auf der Schachtel steht, sondern was das System (also der Kernel) melden.

    - Allgemeine Informationen:

    Code:
    /usr/sbin/hwinfo
    Das ist meist etwas unübersichtlich, aber wenn man eine gesamte Aufstellung der erkannten Hardware haben will, dann kann man das in eine Dateiausgabe umlenken und dann in aller Ruhe diese Datei durchstöbern.

    Code:
    /usr/sbin/hwinfo > /Pfad/wo/man/gerne/die/Datei/hätte/Dateiname
    - PCI-Geräte

    Code:
    /sbin/lspci
    - USB-Geräte

    Code:
    /usr/sbin/lsusb
    - Welche Hardware meldet sich wie am System an (für externe Geräte z.B. an USB)?

    Code:
    dmesg
    Meist sinnvoll in dieser Reihenfolge:

    1. dmesg

    2. entsprechendes Gerät einstecken

    3. dmesg

    Das, was hinten angehängt wurde, sind die Meldungen des neuen Gerätes.

    Der Befehl 'dmesg' gibt auch sämtliche Bootmeldungen bezüglich Hardware aus, also auch nützlich bei Bootproblemen.
    Nachteil an der Sache: Es wird meist ein ziemlicher Rattenschwanz an Meldungen ausgegeben, ähnlich wie bei 'hwinfo'.

    Um die Länge der Meldung von dmesg zu kürzen, empfiehlt sich eine sogenannte "Pipe" auf das Programm 'tail' mit Angabe der Zeilenanzahl.

    Code:
    dmesg | tail -n 20
    gibt die letzten 20 Zeilen von dmesg aus.

    Mit Hilfe dieser Tools bleibt den Helfern hier das lange und teilweise mehrfache Nachfragen nach der verbauten Hardware, die vielleicht Probleme macht, erspart und die Hilfe kann sehr viel flotter von statten gehen.

    Also, nutzt, was Euch das System an leistungsfähigen Tools schon zu bieten hat, es ist in Eurem Interesse!

    Greetz,

    RM
    "Programming today is a race between software engineers striving to build better & bigger idiot-proof programs and the Universe trying to produce bigger & better idiots. So far, the Universe is winning." (Rick Cook)

    Dies ist ein _öffentliches_ Supportforum, keinerlei Support per PN, EMail oder Instant Messenger.

    openSUSE 11.4 - 3.3.X-desktop - fluxbox 1.3.2

    For Windows-Problems - Reboot / For Linux-Problems - BE ROOT!
    (==> Und hier das wirkliche "Geheimnis meines Erfolges")

+ Antworten
Seite 1 von 4 1 2 3 ... LetzteLetzte

Aktive Benutzer

Aktive Benutzer

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

     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 21.07.2006, 06:30
  2. Antworten: 27
    Letzter Beitrag: 05.07.2006, 17:35
  3. Antworten: 0
    Letzter Beitrag: 19.06.2006, 22:30
  4. Linux auf etwas "exotischer" Hardware ;)
    Von Rain_Maker im Forum Smalltalk
    Antworten: 5
    Letzter Beitrag: 17.04.2006, 10:38
  5. Antworten: 5
    Letzter Beitrag: 12.04.2006, 22:01

Berechtigungen

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87