Tipps zum Umgang mit der Kommandozeile [closed]

29

Als ich zum ersten Mal von Windows auf Ubuntu umgestiegen bin, musste ich mit Abstand die Befehlszeile verwenden.

Das Eingeben von Befehlen ist eine fremde Erfahrung, wenn Sie bisher nur mit dem Zeigen und Klicken vertraut waren.

Wenn ich mit neuen Ubuntu-Benutzern spreche, haben sie oft Probleme damit, direkt mit ihrem Computer zu sprechen.

Gibt es eine einfache und benutzerfreundliche Anleitung, um neue Benutzer mit der Befehlszeile vertraut zu machen?

Hast du irgendwelche Tipps, um die Erfahrung einfacher zu machen oder um mehr Spaß zu haben?

Wendel
quelle
4
Für das, was es wert ist, bemüht sich Ubuntu (zumindest härter als jede andere Linux-Distribution), Sie nicht dazu zu bringen, die Befehlszeile zu verwenden, wenn Sie dies nicht möchten. Aber es wird immer Dinge geben, die auf der Kommandozeile viel einfacher / schneller zu erledigen sind als in einer GUI. Es ist also eine gute Idee, davon zu lernen (und eine gute Frage).
David Z

Antworten:

17

Wenn Sie nach einer guten Anleitung zum Erlernen der Befehlszeile suchen, ist LinuxCommand.org mein Favorit

Die Anleitung zeigt Ihnen die Grundlagen der Befehlszeile und führt Sie sogar in das Schreiben nützlicher Shell-Skripte ein.

Allerdings müssen die meisten Benutzer die Befehlszeile für die meisten täglichen Vorgänge nicht verwenden. Ich denke nicht, dass die Befehlszeile Benutzer von der Migration auf Ubuntu abhalten sollte. Aber wenn Sie die Macht der Kommandozeile erst einmal gelernt haben, werden Sie ohne sie nicht mehr leben können!

Dariel Dato-on
quelle
15

Im Folgenden sind einige allgemeine Befehle zum Bearbeiten des Dateisystems aufgeführt:

  • cp [src] [dest] - kopiert src nach dest
  • mv [src] [dest] - verschiebt src nach dest (wird auch zum Umbenennen verwendet)
  • cd [dir] - Ändert das aktuelle Verzeichnis in dir
  • pwd - druckt das aktuelle Verzeichnis
  • cat [file] - druckt den Inhalt der Datei auf den Bildschirm
  • rm [file]- Entfernt eine Datei 1
  • rmdir [dir] - Entfernt ein leeres Verzeichnis

Das Präfixieren eines sudoBefehls mit bewirkt, dass der Befehl als Root-Benutzer ausgeführt wird.

1 - Geben Sie nicht ein, sudo rm -rf /da dies das Dateisystem löscht

Nathan Osman
quelle
5
Heh, +1 für die sudo rm Warnung :)
Nicholas Knight
2
Vergessen Sie nicht den Hinweis auf die berüchtigte Gabelbombe ": () {: |: &} ;:", die im Wesentlichen eine unendliche Anzahl neuer Prozesse aufgibt und das System allmählich verlangsamt, bis die Ressourcen aufgebraucht sind, die einen Neustart des Systems erfordern. Weitere Informationen finden Sie unter en.wikipedia.org/wiki/Fork_bomb .
Evan Plaice
12

1) Tab Vervollständigung:

Eine riesige Zeitersparnis. Wenn Sie einen Befehl eingeben, müssen Sie nur eine ausreichende Anzahl von Befehlen eingeben, um ein anfängliches Segment bereitzustellen, das nur auf eine einzige Weise erweitert werden kann. Anschließend können Sie die Tabulatortaste einmal drücken, um das anfängliche Segment auf den gesamten Befehl zu erweitern. So erweitert sich zum Beispiel mein System umo TABum umount. (Auf meinem System hängt das, was anfängliche Segmente nur auf eine Weise erweiterbar sind, davon ab, was Sie installiert haben usw.) Wenn Sie nicht genug eingeben, um die Vervollständigung eindeutig zu machen, wird TAB nicht erweitert, sondern ein zweites TAB zeigt a an Liste der möglichen Abschlüsse. Auf meinem System um TAB TABergibt sich also:

umask       umax_pp     umount      umount.hal

Die Tab-Vervollständigung funktioniert auch bei Pfaden: cd /home/me/docs/reallylo TABWenn sie eindeutig sind, wird sie auf erweitert, cd /home/me/docs/reallylongdirnameund wenn sie nicht eindeutig ist, wird eine Liste der Kandidatenfortsetzungen wie umoben angegeben angeboten.

2) man some-commandoder some-command --helpoder some-command -h:

Wenn Sie sich nicht erinnern können, wie ein Befehl funktioniert, können Sie die Dokumentation direkt in der Shell abrufen. manbietet in der Regel die meisten Details. In der Regel eine oder beide der --helpund -hArgumente auf einen Befehl enthält eine kurze Zusammenfassung.

3) head:

man some-commandübernimmt das Terminal und verhindert, dass Sie Befehle eingeben, während der Man-Text angezeigt wird. man some-command | headzeigt die ersten 10 Zeilen an. man some-command | head -nzeigt die ersten n Zeilen an. In beiden Fällen erhalten Sie Ihre Eingabeaufforderung zurück, sodass Sie den Man-Text bei der Eingabe Ihres Befehls auf dem Bildschirm sehen können.

vanden
quelle
Wenn ich es benutze man some-command, erlaubt man mir, auf und ab durch die Seite zu scrollen. Ist das nicht üblich
Michael Crenshaw
@ mac9416: In der Tat. Ich hatte das noch nie versucht: - [Die Antwort wurde geändert, um dies zu berücksichtigen. Vielen Dank!
Vanden
Ja, manverwendet (normalerweise ) einen Pagerless . Wenn Sie eine Datei auf ähnliche Weise untersuchen möchten, geben Sie Folgendes ein less somefile. Wenn Sie sich daran gewöhnen vim, können Sie mit den jkTasten blättern.
Umang
Die Tab-Vervollständigung ist nicht in allen Shells verfügbar.
Nathan Osman
@ George Edison: Richtig. Aber wenn es ein neuer Benutzer in Rede ist (wie es in der Frage ist), werden sie nicht sehr wahrscheinlich sein , die Schale von der Standardeinstellung geändert hat und somit wird Tabulatorvervollständigung haben.
Vanden
7

Wechsle zu zsh!

Es ist zwar sehr ähnlich wie bash, hat aber viele nette Zusatzfunktionen (wie zum Beispiel Tippfehlerbehebung, sogar in einer vorhergehenden Pfadkomponente oder einem nützlichen Widget, um die Hilfe für den aktuellen Befehl aufzurufen (über run-help; Ich drücke ESC-h nachdem ich zB getippt habe mplayerund es öffnet sich die Manpage. Nach dem Schließen bin ich wieder in der alten Zeile)).

Ich empfehle das folgende Buch, das zsh, bash und einige andere Shells behandelt:
Von Bash zu Z Shell: Erobern der Kommandozeile . Es ist zwar schon ein paar Jahre alt, aber ich bin froh, dass mich das nicht vom Kauf abgehalten hat. Diese Empfehlung gilt auch, wenn Sie nicht zu zsh wechseln möchten.

Ich benutze die Befehlszeile seit einigen Jahren häufig (lokal und über SSH). Ich habe erst vor kurzem selbst auf zsh umgestellt (hauptsächlich aufgrund meiner benutzerdefinierten Bash-Eingabeaufforderung, die nicht kompatibel ist). Hier ist meine zsh-Konfiguration (integriert in mein Dotfiles-Repository ).

Sie können chsh -s /bin/zshIhre Shell mit wechseln (über / etc / passwd) oder sie einfach von Ihrer aktuellen Shell aus aufrufen, dh zshIhre Bash-Eingabeaufforderung eingeben (wahrscheinlich müssen Sie sie zuerst installieren ( sudo apt-get install zsh).

bläulich
quelle
5

"apropos" (oder gleichbedeutend mit "man -k"), um einen Befehl zu finden, der etwas bewirkt.

$ apropos [my query]

So finden Sie beispielsweise den Befehl zum Kopieren von Dateien:

$ apropos copy

listet eine Reihe von Befehlen auf, von denen

cp (1) - copy files and directories

ist ein.

"cp" ist der Befehl und "1" ist der Abschnitt aus den Handbüchern, in dem er angezeigt wird. Abschnitt 1 enthält allgemeine Benutzerbefehle (andere Abschnitte enthalten Dinge wie Bibliotheksaufrufe, die Sie nicht interessieren). Um die Suche auf Abschnitt 1 zu beschränken, verwenden Sie:

$ apropos -s1 [my query]

Um dann mehr über den Befehl herauszufinden, verwenden Sie "man". z.B

$ man cp
Dave Jennings
quelle
+1 für die erste Erwähnung man. Bravo!
Jonathanismus
4

Versuchen Sie es mit Fisch

fish ist eine benutzerfreundliche Kommandozeilen-Shell für UNIX-ähnliche Betriebssysteme wie Linux.

Unter anderem bietet es eine erweiterte Tab-Vervollständigung als Bash, was beim Lernen sehr hilfreich sein kann.

Alt-Text

https://www.pablumfication.co.uk/2010/02/26/fish/

http://fishshell.org/index.php

Mark Davidson
quelle
1
Ich liebe die Verlaufssuchfunktion. Geben Sie einfach etwas ein, drücken Sie die Aufwärtspfeiltaste und Sie suchen in Ihrem Verlauf nach denselben Wörtern. Sehr zeitsparend.
Javier Rivera
Der Link zu fishshell.org ist veraltet. fishshell.com ist das neue.
NES
2

history | grep SOMETHING - Findet den Befehl, den Sie zuvor verwendet haben und der ETWAS enthält.

fortune - :-)

Dmitry
quelle
2
Dafür verwende ich Ctrl+R SOMETHING(mit dem Unterschied, dass dies das letzte Vorkommen gibt). Wiederholen Ctrl+RSie diesen Vorgang, um weitere Vorkommen SOMETHINGim Befehlsverlauf zu finden .
Bert Van Vreckem
2

Um zu lernen, wie ein Befehl verwendet wird, fügen Sie ein Leerzeichen hinzu und "--help" am Ende des Befehls. Hier erfahren Sie, wie Sie ihn verwenden, und es wird eine Liste mit Optionen angezeigt.

z.B

cp --help
Nico Burns
quelle
Achtung, das funktioniert nicht bei allen Befehlen!
SilverWolf - Wiedereinsetzung von Monica
2

Ich empfehle die Verwendung von CLI Companion :

CLI Companion ist ein Tool zum Speichern und Ausführen von Terminalbefehlen über eine GUI. Personen, die mit dem Terminal nicht vertraut sind, werden CLI Companion als einen nützlichen Weg finden, um sich mit dem Terminal vertraut zu machen und sein Potenzial auszuschöpfen. Erfahrene Benutzer können mit CLI Companion ihre umfangreiche Befehlsliste in einer durchsuchbaren Liste speichern.

Bildbeschreibung hier eingeben

Du bekommst es durch Laufen:

sudo add-apt-repository ppa:clicompanion-devs/clicompanion-nightlies
sudo apt-get update
sudo apt-get install clicompanion

Wenn Sie die PPA nicht hinzufügen möchten, versuchen Sie diese Datei für 12.04 (neueste Version 1.1-6, veröffentlicht am 14.04.2012 - auf dieser Seite finden Sie neuere Versionen.) - oder entfernen Sie die PPA nach der Installation mit sudo add-apt-repository -r ppa:clicompanion-devs/clicompanion-nightlies.

Jakob
quelle
1

Suchen Sie ein Ubuntu-Buch mit einem guten Befehlszeilenindex, setzen Sie es auf Null und platzieren Sie es in der Nähe des Computers. Zwinge dich, es zu benutzen. Eine gute Ressource ist das Buch "Ubuntu Linux Toolbox 1000+ -Befehle", das alle wichtigen Informationen enthält (http://www.amazon.com/Ubuntu-Linux-Toolbox-Commands-Debian/dp/0470082933).

Wenn Sie jedoch keinen Server ausführen, ist auf dem Ubuntu-Desktop fast alles über die GUI verfügbar.

Aviah Laor
quelle
0

Durch das Lesen des Bash Cookbook von O'Reilly and Associates lernte ich eine Menge über die Verwendung der Befehlszeile und die Arbeit damit . Es ist ein Buch über Bash-Skripte, aber die mundgerechten Stücke des Kochbuchformats machen es sehr zugänglich. Als Nebeneffekt können Sie, wenn Sie denken "Gee, ich würde gerne X machen, aber ich weiß nicht wie", das Inhaltsverzeichnis verwenden, um X (und Y und Z für diese Angelegenheit) und nachzuschlagen Machen Sie sich eine gute Vorstellung davon (und erklären Sie, wie es funktioniert, indem Sie auf andere Rezepte und Ressourcen verweisen, die Ihr Verständnis erweitern können).

Jim
quelle
0

Ich habe Official Ubuntu Server Book, The (2nd Edition) gelesen , um die Systemadministration zu erlernen, und bin nicht nur mit der Verwendung der Befehlszeile besser vertraut geworden, sondern habe auch begonnen, die Funktionsweise des Betriebssystems selbst zu erlernen.

Die Verwendung der Ubuntu Server Edition erleichtert mir das Erlernen der Befehlszeile, da ich nicht die GUI habe, auf die ich zurückgreifen kann.

jumpnett
quelle