Linux "lernen" [geschlossen]

10

Ich habe mich schon lange für Computer interessiert und mich mit vielen Dingen beschäftigt, einschließlich Linux. Ich habe mit Red Hat angefangen, als ich jung war (ungefähr 13) und alle Daten verloren, indem ich ein FAT32-Laufwerk in etwas anderes konvertierte. Später war es Knoppix, das bei der Wiederherstellung und dergleichen wirklich hilfreich war. Dann war es Ubuntu. Außerdem habe ich einige Zeit mit Arch herumgespielt, aber es bricht zu oft für meinen Geschmack (vielleicht hätte ich vorsichtiger sein sollen).

Jedenfalls benutze ich derzeit Ubuntu 9.04. Ich möchte jetzt tiefer in die Linux-Welt eintauchen. Ich möchte lernen, wie die Dinge funktionieren, und das Terminal besser nutzen. Ich bin auch ein Programmierer, also wird es viel helfen.

Also wollte ich fragen:

  • Gute Bücher, um Linux zu lernen und zu verstehen

  • Gute Gewohnheiten, Linux effizienter zu nutzen.

  • Gute Werkzeuge, über die ich Bescheid wissen sollte.

  • Zeit, die Sie einplanen, um jeden Tag etwas Neues zu lernen.

  • Wie können Sie als Programmierer Linux effizient einrichten und verwenden?

Lange Liste. Ich werde den Antwortenden dankbar sein.

Strider
quelle

Antworten:

9

Für mich war das, was ich am meisten über Linux gelernt habe, die Durchführung einer Gentoo-Installation.

Für Uneingeweihte hat Gentoo per se kein Installationsprogramm. Stattdessen laden Sie ein Boot-Image herunter, erstellen Volumes und Dateisysteme von Hand und beginnen dann, viel Quellcode zu kompilieren, um ein funktionierendes System zu erhalten.

Es ist ein paar Jahre her, seit ich Gentoo verwendet habe, vorausgesetzt, es hat sich nicht zu sehr geändert. Ich würde es auf jeden Fall jedem empfehlen, der es lernen möchte.

Die Dokumentations- und Supportforen waren unübertroffen, als ich sie benutzte.

Bry
quelle
2
Meine erste bis fünfte Installation von Gentoo war, als ich das Innenleben von Linux und Distributionen wirklich gelernt habe.
RateControl
Hört hört! Gentoo ist ideal für begeisterte Lernende! +1
wzzrd
5
  1. Zeitschriften wie "Linux Format" und "Linux Journal". Sie können in Buchhandlungen gekauft, abonniert oder im Internet gefunden werden. Alte Ausgaben des Linux-Formats finden Sie unter http://www.linuxformat.com/modules.php?op=modload&name=NewArchives&listpdfs=1 , und alte Ausgaben des Linux-Journals finden Sie unter http://www.linuxjournal.com/magazine .

  2. Holen Sie sich das Linux Journal / Tux Radar "Linux Starter Pack". Es sind 130 Seiten purer Gewinn. Es deckt so ziemlich alles ab, was ein migrierender Windows-Benutzer auf Anhieb wissen möchte. Es ist unter http://www.tuxradar.com/linuxstarterpack verfügbar .

  3. Tritt einem Forum bei. Da Sie Ubuntu verwenden, würde ich empfehlen, mit http://ubuntuforums.org/ zu beginnen . Ein weiteres bemerkenswertes Forum ist www.LinuxQuestions.org. ServerFault funktioniert auch. ;)

  4. Lesen Sie den Rute Guide. Es hilft Ihnen bei der Befehlszeile und führt Sie in andere formative Linux-Konzepte ein. http://rute.2038bug.com/

  5. Befehle wie "man program-name" und "info program-name" sind von unschätzbarem Wert.

  6. Und natürlich können Sie jederzeit Fragen stellen. Wenn Sie jemanden haben, der Ihnen beim Erlernen eines Betriebssystems hilft, wird der Prozess immer einfacher. Suchen Sie sich also einen Mentor, wenn Sie können.

andrewd18
quelle
5

Beginnen Sie vielleicht beim Linux-Dokumentationsprojekt .

Der Abschnitt Anleitungen enthält einige sehr interessante Bücher:

  • Einführung in Linux - Eine praktische Anleitung
  • Linux von Grund auf neu
  • Das Linux-Systemadministratorhandbuch

Die HowTo- Abschnitte bieten eine fachspezifische Hilfe.

p.campbell
quelle
3

Erfahren Sie, wie Sie in einem Terminal auskommen. Dies bedeutet, die Seile von Navigations-, Piping- und Unix-Programmen wie grep und sed zu lernen. Ubuntu und andere Distributionen machen Linux immer benutzerfreundlicher, aber letztendlich liegt der größte Segen für das Lernen in seinen CLI-Wurzeln.

Diese Website enthält eine Handvoll guter Shell-Tutorials.

Evan Meagher
quelle
Irgendwelche Bücher, die hilfreich sein werden?
Strider
2

Ich empfehle Advanced Programming in der UNIX-Umgebung. Dies ist ein brillantes Buch über die allgemeine Systemprogrammierung für UNIX.

Igor Krivokon
quelle
2

Verwenden Sie sich nicht Philosophie wiederholen. Führen Sie allgemeine Aufgaben mit dem Terminal aus: Kopieren, Erstellen, Verschieben, Entfernen von Dateien, Suchen von darin enthaltenen Informationen (Verwenden von grep), Suchen von Dateien (Suchen) usw. Versuchen Sie, alle diese Befehle miteinander zu kombinieren, plus Bash-Scripting und awk. Dies bringt Sie zu guten Praktiken und Sie werden die Linux-Power spüren :-).

Wenn Sie beispielsweise einige Dateien entfernen müssen, deren Dateiname ein beliebiges Muster enthält, können Sie jeden Ordner durchsuchen und manuell löschen. Hier kommt DRY - kombinieren Sie einfach find und rm, und Sie tun dies über eine Endleitung.

Richten Sie außerdem, wie bereits erwähnt, einen Heimserver ein. Teilen Sie das Internet darüber, führen Sie den Webserver aus, konfigurieren Sie den Netzwerkdrucker usw.

Pawka
quelle
2

ls / bin, / usr / bin, / sbin und / usr / sbin. Scannen / lesen Sie dann die Manpages für jeden Befehl, den Sie sehen. Sie werden sich nicht an alles erinnern, es sei denn, Sie sind eine Art Wunderkind. Sie werden jedoch den meisten Befehlen auf Ihrem System ausgesetzt, und Sie haben eine vage Vorstellung davon, was sie tun. Wenn Sie dann etwas tun müssen, werden Sie sich hoffentlich an Befehle erinnern, die relevant sein könnten.

Sie werden auch die anderen Manpages lesen wollen, die Sie finden, wo immer Ihr MANPATH zeigt, aber ich würde zuerst mit den Befehlen beginnen.

Das habe ich früher gemacht, als ich am Helpdesk war, aber es kamen keine Anrufe herein und ich fand es sehr nützlich.

Jason Tan
quelle
2

Ein kleiner Tipp in der Seitenleiste, aber ich verwende Mnemosyne (apt-get install mnemosyne), um Flash-Karten mit nützlichen Linux-Befehlen und Tipps zu erstellen, auf die ich stoße. Ein paar Mal pro Woche blättere ich durch einige der Lernkarten und versuche, sie in meinem Kopf frisch zu halten.

Ihr Kilometerstand kann variieren, aber ich habe festgestellt, dass dies eine gute Möglichkeit ist, Befehle beizubehalten, die ich möglicherweise nicht täglich verwende, damit ich sie schnell abrufen kann, wenn ich sie benötige (oder zumindest weiß, welche Manpages ich lesen muss). .

Ich mache das auch für andere Dinge, wie Vim-Tastenanschläge, Python-APIs usw.

Joe Holloway
quelle
2

Ein guter Weg, um in Linux einzusteigen, ist im Grunde die Verwendung.

Die Leistung von Linux liegt in der Befehlszeile. Wenn Sie häufig Linux verwenden, werden Sie wahrscheinlich bald in die Befehlszeile gelangen. Wenn Sie sich wiederholende Aufgaben in der GUI ausführen, fragen Sie sich, ob es möglicherweise eine bessere Möglichkeit gibt, Dinge zu tun. Auf diese Weise werden Sie mit der Befehlszeilenschnittstelle langsam komfortabler.

Als mir in der Schule C beigebracht wurde, haben wir Programme in Emacs geschrieben und sie über die Kommandozeile zusammengestellt. Dadurch habe ich mich in der Kommandozeile wohler gefühlt und im Laufe der Zeit neue Tricks gelernt. Auch wenn Sie C lernen, können Sie tief in die Funktionsweise von Linux und seine Funktionsweise eintauchen, da es hauptsächlich in C geschrieben ist.

Peter Mortensen
quelle
1

Ein gutes allgemeines Buch ist "The Art of Unix Programming". Unix und Linux teilen die gleichen Philosophien, auch wenn sie sich geringfügig unterscheiden.

Abgesehen davon würde ich empfehlen, eine Shell (wie Bash) und eine Skriptsprache wie Perl oder Python zu lernen. Um eine Shell zu lernen, würde ich mit den Manpages beginnen und vielleicht ein Buch in die Hand nehmen (O'Reilly-Bücher sind gut).

Andy White
quelle
1

Das Linux-Dokumentationsprojekt besteht aus vielen Lernressourcen.

Alan Haggai Alavi
quelle
1

Sie haben nach einer effizienten Verwendung von Linux als Programmierer gefragt. In diesem Fall hätte ich gedacht, dass Shell-Scripting unerlässlich ist (ob Sie wissen, wie Parameter ein- oder ausgegeben werden, oder ob Sie vermeiden, Code zu schreiben, um etwas zu erreichen, das bereits vorhanden sein kann commamnds). Probieren Sie die O'Reilly-Referenz "Classic Shell Scripting".

DBMarcos99
quelle
1

Linux-Benutzer

Programmierer würden viele Linux-Befehlszeilentools nützlich finden. Einige davon sind:

  • ls -lrt
  • finden - zu lange, um alles zu lesen. Als Referenz verwenden.
  • xargs
  • Bash - zu lang, um alles zu lesen. Als Referenz verwenden.
  • Toilette
  • crontab

Es gibt viele Bücher für fortgeschrittene Linux-Benutzer und es gibt keine guten Bücher für fortgeschrittene. Ich habe die folgende Übung angewendet, um in Linux einzusteigen:

  • Zuerst nehmen Sie an einem Kurs teil oder lesen ein Buch für Anfänger. Während des Vorgangs sollte keine grafische Benutzeroberfläche untersucht werden.
  • Im nächsten Schritt ist Übung erforderlich. Verwenden Sie Ihren PC oder Server und durchsuchen Sie die Handbücher nach den Befehlen, die zur Ausführung der täglichen Aufgaben erforderlich sind. Wenn Sie nicht wissen, welcher Befehl das tut, was Sie brauchen, fragen Sie Ihren kompetenten Freund oder Ihre Community.
  • Drittens kommt Shell-Scripting. Dies bietet nicht nur eine gute Möglichkeit, die täglichen Aufgaben zu automatisieren, sondern bietet auch die Erfahrung, die für eine effiziente Nutzung der interaktiven Shell erforderlich ist.

Die Verwaltung und Konfiguration von Linux erfolgt auf die gleiche Weise, es wird jedoch tendenziell mehr gegoogelt.

Basilevs
quelle
1

Ich habe mit SuSE angefangen, als ich jung war. Später war es auch Knoppix für mich. Damals war es Ubuntu und derzeit benutze ich Ubuntu 9.04.

Ich habe fast alles, was ich über Linux weiß, aus dem Internet und von Freunden gelernt.

Das einzige Buch, das mir geholfen hat, Linux besser zu lernen und zu verstehen, ist Andrew S. Tanenbaums Modern Operating Systems .

Ludwig Weinzierl
quelle
1

Eine gute Möglichkeit, Linux kennenzulernen, besteht darin, Dinge damit zu tun. Sie können versuchen, eine Linux-Box in Ihrer Internetverbindung zu Hause oder in einer virtuellen Maschine einzurichten.

Versuchen Sie, einige Serveranwendungen einzurichten:

  • Webserver (zB Apache)
  • Content Management System (zB Drupal)
  • Datenbank (zB MySQL)
  • Mailserver (zB Kurier) mit Spamfilter (zB Spamassassin)

Dies wird Ihnen helfen, sich mit gängigen Linux-Tools und -Praktiken vertraut zu machen.

p.campbell
quelle
0

Bücher können gut sein, aber versuchen Sie, einen menschlichen Mentor zu finden. Als ich jünger war, hatte ich das Glück, dass mir ein Unix-Systemadministrator die Seile zeigte. Nach ein paar Jahren Arbeit unter ihnen übertraf ich sogar ihr Wissen.

Unix ist ein seltsames Biest. Sie können 10 Unix-Administratoren bitten, eine Aktion auszuführen, und Sie erhalten wahrscheinlich 10 verschiedene Antworten. Möglicherweise ist keine der Antworten falsch, da das Tool so flexibel ist, dass es mehrere Aufgaben ausführen kann.

Es ist definitiv nicht die "One Microsoft Art" Dinge zu tun :-)

Manchmal können die Freenode-IRC-Kanäle eine große Hilfe sein, wenn Sie beim Lesen mit Konzepten nicht weiterkommen. Probieren Sie sie aus, sie sind freundlich, wenn Sie freundlich sind.

Der Unix-Hausmeister
quelle