2008-11-22 10 views
6

Kennen Sie irgendwelche Ressourcen, die gute Gewohnheiten in der UNIX-Befehlszeile zu lehren lehren?Wie lernen Sie effektiv mit Unix CLI lernen

EDIT: Ich meine nicht allgemeine Bücher über Shell oder Manpages. Ich meine die Dinge, die man nur mit Profis beobachten kann, die mit der Befehlszeile arbeiten. Wenn zum Beispiel häufig zwischen zwei Verzeichnissen gewechselt wird, verwenden sie den "pushd" -Befehl, wenn sie einen Befehl wiederholen, verwenden sie "history". Ich kann über diese Befehle lesen, aber ich möchte es zur Gewohnheit machen, sie effektiv zu benutzen.

Antwort

7

ich aus eigener Erfahrung spräche zu sein, damit es nicht auf Sie zutreffen;

Der beste Weg, um effizient zu sein, ist es tatsächlich täglich zu verwenden, anstatt grafische Werkzeuge zu verwenden, selbst wenn sie die Dinge einfach aussehen lassen. Sie werden dann auf die häufigsten Aufgaben aufmerksam, die Ihnen wichtig sind, und statt zu versuchen, sie sofort zu durchforsten, erhalten Sie einen ziemlich guten Ausgangspunkt, um mit dem Lernen zu beginnen. Man-Seiten sind das erste, was man sich anschaut, aber es gibt nicht-offensichtliche Tricks, die man sowieso suchen muss. Zu wissen, was Sie genau wollen, erhöht die Wahrscheinlichkeit, es zu finden, unendlich.

Zum Beispiel können Sie finden, wie alle mp3-Dateien einfacher in man-Seite von "finden" suchen, als wie mit Dateien im Allgemeinen umzugehen (wo zu starten?).

+0

In der Tat. Das ist der beste Weg. – ayaz

3

Für die fortgeschrittenen Sachen This scheinen ziemlich umfassenden

1

Wenn Sie wollen die Dinge, die Sie können „nur sehen Fachleute arbeiten mit Kommandozeile zu beobachten“, dann haben Sie Ihre eigene Frage beantwortet : Beobachten Sie Profis, die mit der Befehlszeile arbeiten. Ich persönlich finde das nicht sehr nützlich, es sei denn, die andere Person macht dasselbe mehrmals. Es ist schwer, nach nur einer Sitzung etwas aufzunehmen, weil es schwierig ist, den Bildschirm und die Tastatur gleichzeitig zu sehen.

Ich denke, der Schlüssel ist, nicht sofort versuchen, ein Experte zu werden. Verwenden Sie die Befehlszeile häufig, und beachten Sie, dass Sie sie möglicherweise nicht so gut verwenden, wie Sie könnten, aber lassen Sie sich dadurch nicht davon abhalten, sie trotzdem zu verwenden.

Durchsuchen Sie die Manpage Ihrer Shell und durch Listen von Tipps, nicht mit dem Ziel, alles in ihnen zu merken, sondern nur ein paar Dinge auszuprobieren. Blättern Sie durch, bis etwas Ihre Aufmerksamkeit auf sich zieht und Sie zum Nachdenken bringt, "Gee, das klingt nützlich." Dann probier es aus. Nicht alles wird sofort nützlich sein; Sie müssen möglicherweise eine Weile warten, bevor Sie eine Situation, wo Sie etwas ausprobieren können. Vielleicht könntest du ein paar Dinge auf Post-It-Notizen an deinem Schreibtisch aufschreiben, um dich daran zu erinnern, dass bestimmte Kunststücke möglich sind. Wenn du also auf eine Situation stößt, in der eine obskurere Eigenschaft nützlich sein könnte, wirst du dich wahrscheinlich daran erinnern .

4

Einige gemeinsame Bash Kommandozeile Aktionen, nicht um:

  • Kommandozeilenbearbeitung: Sie werden mit Emacs oder vi gut sein wollen und anzuwenden, dass Ihre Befehle zu bearbeiten.
  • Abschluss: Verwenden Sie TAB, um Dateinamen und Pfade zu erweitern.
  • Hinweis: Es gibt eine große Menge von Datei-, Befehls- und Protokollvervollständigungsfunktionen, und es ist konfigurierbar. Großes Thema.
  • "cd -": zurück zum letzten Verzeichnis, das Sie in waren
  • ~ = Home-Verzeichnis (oder ~ Benutzer für Benutzer Home-Verzeichnis)
  • "ESC". : expandiert zum letzten Argument des vorherigen Befehls
  • "! string": Führe den letzten Befehl aus, beginnend mit string
  • learn find, grep, sed, piping "|" und Umleitung ">". Sie werden diese oft kombinieren, um nützliche Dinge zu tun.
  • Schleifen von der Shell-Eingabeaufforderung, z. "for" Schleife - wiederholende Aktionen
  • Lernen Sie Ihre regulären Ausdrücke! Wird oft zum Abgleichen von Dateien verwendet.
    • . Beispiel: ls x [0-5] * {zip, tar} = Listendateien mit x beginnen, gefolgt von einer Zahl von 0 bis 5, durch eine beliebige Zeichenfolge gefolgt in .zip enden oder .tar
  • Wenn möglich fragen Sie andere nach ihren Lieblingstricks, lesen Sie das Handbuch und üben Sie.

    1

    Ehrlich gesagt ist es unmöglich, dieses Zeug in einem Vakuum zu lernen. Sie müssen Probleme lösen.

    Während es sicherlich hilft, vertraut zu sein mit den verfügbaren Werkzeugen (von denen es eine Unzahl gibt), "Lernen" erfordert es anzuwenden. Und es erfordert "echte" Probleme zu lösen.

    Zum Beispiel unterscheiden sich die Skillsets eines Systemadministrators möglicherweise von denen, die mit Datenbanken arbeiten, weil ihre Rollen unterschiedlich sind.

    Ich benutze sie für die Datenverarbeitung, mit meist einer aus Dateien. /tmp/x.sh und /tmp/x.x werden im Verzeichnisordner leer getragen.

    Meine Hämmer neigen dazu, sich zu neigen: ls, finden, sortieren, sed, vi, awk, grep und comm. Kombiniert mit einfachen Shell-Skripten wie: für i in cat /tmp/list; do ..

    Aber ich mache eine Menge ETL-Arbeit, und sehr wenige Skriptdateien, weshalb meine Shell-Skriptfähigkeiten so schwach sind.

    ich stützen sich auf ein Skript, aber:

    #!/bin/sh 
    # latest -- show latest files 
    ls -lt [email protected] | head 
    

    als 95% der Zeit, die Dateien, die ich auf mich arbeiten in den Top 10 der neuesten Dateien. Und "neuste * .txt" funktioniert ein Pfirsich.

    Also, unter dem Strich brauchen Sie Probleme zu lösen. Sie müssen den Befehl "Mann" lernen, Mann -k ist nett, Dinge zu finden. Sie müssen auch das "Siehe auch" unten in den meisten Manpages nutzen. Das ist eine Fundgrube von "Ich wusste nicht, dass du das kannst".

    Dann fangen Sie einfach an, Probleme zu lösen. Fange an herauszufinden, "was wäre schön zu haben" und dann zu sehen, ob es existiert (es kann sehr gut). Wenn nicht, können awk, perl oder python diese "nice to haves" aus der Luft bringen.

    0

    Schließen Sie sich einem LUG an. Dort habe ich schon früh die meisten Dinge gelernt. Bitten Sie die Organisatoren, eine "Bash Tips And Tricks Night" zu machen.

    Geschickte Shell-Benutzer lieben es, sich zu zeigen.

    0

    apropos ist ein wirklich gutes Werkzeug für diese Art von Sache. Wann immer Sie sich unsicher über den besten Weg, etwas zu tun, oder wünschen, dass Sie sich nicht wiederholen, einfach apropos mit einem oder zwei Schlüsselworten, um andere Befehle, die helfen können, zu finden. In Distributionen wie debian können Sie auch webbasierte Hilfe-Tools installieren, die alle auf dem System verfügbaren Handbücher durchsuchen: Texinfo, man pages, html und pdf etc.

    Abgesehen davon, yep, lesen Sie das Handbuch Ihrer Shell durch mindestens einmal --- --- vorzugsweise, wiederhole es, wie Sie mehr lernen, Grenzen erreichen und effizienter sein wollen.

    Die Join eine LUG-Idee ist auch gut; Sie werden definitiv von den Demos anderer lernen.