Befehlszeilenverwendung bei Legasthenie


57

Ich bin neu in Linux und als Legastheniker empfinde ich das Arbeiten von der Kommandozeile aus als Herausforderung. Welche Hilfsmittel oder Ratschläge helfen bei der Lösung dieses Problems?


4
Wenn Sie eine Datei in das Terminal ziehen, wird automatisch der vollständige Pfad gedruckt. Wenn Sie die Aufwärtspfeiltaste drücken, wird automatisch der letzte Befehl gedruckt.
Karl

21
Das ist eine gute Frage, aber ich kann mir kaum vorstellen, was Ihre Probleme sind. Bitte bearbeite und erkläre, was genau dich am meisten herausfordert. Mögliche Lösungen sind möglicherweise einfacher als Sie denken (siehe andere Kommentare).
Dessert

6
Tastaturkürzel helfen viel , nützliche finden Sie hier: askubuntu.com/q/45521/507051 und askubuntu.com/q/444708/507051
Dessert

4
Um Zeit zu sparen, indem ich einen langen Pfad zu einer Datei eingebe, ziehe ich das Dateisymbol in das Terminal, um den Pfad der Datei zu drucken, und kopiere ihn dann / füge ihn in den nächsten Befehl ein.
Karl

3
Zsh kann tatsächlich vertauschte Buchstaben in Befehlsnamen automatisch korrigieren! (Die Handbuchseiten enthalten weitere Informationen.)
SilverWolf

Antworten:


90

Sie können ein paar Dinge versuchen, um Ihre Erfahrung mit der Befehlszeile zu verbessern.

  1. Verwenden Sie nach Möglichkeit die Tabulatorvervollständigung (füllen Sie teilweise eingegebene Befehle durch Drücken von automatisch aus Tab).
  2. Drücken Sie (Pfeiltaste nach oben) drucken automatisch dem letzten Befehl, und gedrückt halten und ( nach oben und unten Pfeiltasten) , um durch die Befehlshistorie.
  3. Ziehen Sie eine Datei in das Terminal, um den vollständigen Pfad automatisch auszudrucken.
  4. Drücken Sie Alt+ .(Punkt), um das letzte Argument aus dem zuletzt ausgeführten Befehl einzufügen (nützlich für z . B. mkdirgefolgt von cd).
  5. Verwenden Sie Tastaturkürzel (siehe dies und das ).
  6. Verwenden Sie Bash-Aliase (siehe dies und das ).
  7. Verwenden historySie, Sie können den Befehlsverlauf anzeigen und dann die Nummer des Verlaufsbefehls verwenden, um den Befehl erneut auszuführen (z. B. Befehl # 352 wiederholen mit !352). Alias ​​es einfach hfür den schnellen und einfachen Zugriff.
  8. Verwenden Sie eine umgekehrte Terminalsuche ( Ctrl+ R, und geben Sie dann etwas ein), um frühere Befehle zu finden. Es ist ein schneller Weg, um Dinge von früher zu finden.
  9. Verwenden Sie eine Shell, die Befehle und optionale Argumente wie Zsh oder fish vervollständigt .
  10. Verwenden Sie im Terminal eine Schriftart, die die Lesbarkeit für Leser mit Legasthenie verbessert , z. B. " OpenDyslexic ".
  11. Hören Sie, was auf dem Bildschirm angezeigt wird, während Sie lesen. Aktiviere einen Screenreader wie Orca . Sie können es nur ein Wort, eine ganze Seite lesen lassen, Buchstaben für Buchstaben buchstabieren, Geschwindigkeit, Lautstärke, Detaillierungsgrad usw. ändern.
  12. Vergrößern Sie einen Teil des Bildschirms, während Sie lesen. Schauen Sie sich Apps wie Magnifier an, die mit Tastaturkürzeln zoomen .
  13. Erweitert: Passen Sie die Anzeige der Ausgabe an, wie z. B. das Festlegen bedingter Textfarben. Die Standard-Ubuntu-Distribution bietet verschiedene Verbesserungen für Terminal. Wenn Sie beispielsweise lsden Inhalt eines Verzeichnisses auflisten, werden die Unterverzeichnisse in Blau und die Dateinamen in Weiß gedruckt, um die Unterscheidung zu erleichtern. Schauen Sie sich für andere Beispiele die vielen Personalisierungen an, die von Menschen geteilt wurden. Einige sind es sicher wert, "wie sie sind" auszuprobieren. Ein guter Ausgangspunkt ist das beliebte Awesome-Dotfiles- Repository.

1
@flith Es soll !352statt history 352, innit sein?
Pomsky

2
Ich habe bisher auf die legasthene Schrift umgestellt und Farben im Terminal aktiviert. Das hat beim Lesen und den Kopfschmerzen einiges geholfen. Immer noch in den Büchern Ubuntu Unleashed und Linux Bible. Vim und einige der anderen Editoren geben möglicherweise Antworten.
Dale Davidson

Strg + R - das habe ich noch nie gesehen. Das ist unglaublich nützlich
Noel Evans

16

Ich werde eine umfassende Antwort versuchen. Wenn ich etwas ausgelassen habe, bitte kommentieren und ich werde es hinzufügen.

Tab Fertigstellung

Das Ausfüllen von Registerkarten ist hier Ihre größte Hilfe. Durch Drücken von Tabwird der Befehl abgeschlossen, soweit dies eindeutig identifizierbar ist. Durch Tabzweimaliges Drücken wird eine Liste mit Optionen angezeigt. Wenn Sie genügend Zeichen eingeben, um die gewünschte Option zu identifizieren, und Taberneut drücken , wird die Eingabe abgeschlossen. Dies funktioniert auch mit Pfad- / Dateinamen.

Nehmen wir zum Beispiel an, ich habe einen Benutzer namens Paul, der die Dateien text123.txt und text124.txt in seinem Download-Ordner hat:

Ich könnte / h tippen Tabund bash wird mir geben /home/. Dann tippe P Tabund erhalte /home/Paul/. Und mache so weiter, bis ich die komplette Datei und den Pfad habe.

Pfad- / Dateinamenerweiterung

Die automatische Vervollständigung akzeptiert auch Platzhalter *und ?. ?Stimmt mit einem einzelnen Zeichen *überein und stimmt mit allen Zeichen überein (oder mit keinem). Mit dem obigen Beispiel könnte ich Folgendes eingeben:

/h*/P*/Dow*/t*4*dann Tabund bash wird mir geben /home/Paul/Downloads/text124.txt. Wenn ich sicher bin, dass ich mit der richtigen Datei übereinstimme, kann ich einfach drücken Enter, um den Befehl auszuführen, ohne ihn zuerst zu erweitern.

Einige häufig verwendete Verzeichnisreferenzen sind:

  • ~ für Ihr Home-Verzeichnis.
  • .. übergeordnetes Verzeichnis
  • .Aktuelles Verzeichnis; falls du absolut sicher sein willst, dass bash im richtigen verzeichnis aussieht.

Tastatürkürzel

Mit den Aufwärts- und Abwärtspfeiltasten können Sie durch eine Liste der zuletzt verwendeten Befehle navigieren. Drücken Sie Ctrl+ Gzu entkommen aus der Geschichte Suchmodus. Alt+ .wiederholt das letzte Argument des vorherigen Befehls.

Aliase

Mit Bash können Sie Aliase angeben. Wenn Sie feststellen, dass Sie einen Befehl häufig auf dieselbe Weise falsch eingeben, können Sie benutzerdefinierte Aliase ~/.bashrchinzufügen, indem Sie die folgenden Zeilen bearbeiten und hinzufügen:

alias agi='apt-get install'
alias mkdri='mkdir'

Dann melden Sie sich erneut an, um sie zu aktivieren.


4
~ist keinealias , sondern wird erweitert um bashwie in EXPANSION / Tilde Expansion in beschriebenman bash - ~wird beispielsweise zu $HOME, ~+nach $PWDund ~-nach erweitert $OLDPWD. Sie können z. B. tatsächlich festlegen, alias ~='cd ~'und es ist sehr nützlich, schnell zum Ausgangsverzeichnis zurückzukehren, aber das unterscheidet sich grundlegend von der Erweiterung (und schadet ihr nicht).
Dessert

Nun, man bashhat einen ganzen Abschnitt EXPANSION... Sie haben bereits ein wenig über die Erweiterung der Pfadnamen gesprochen.
Dessert

Auf meinem System scheint es mir nicht möglich zu sein, die meisten anderen Erweiterungen in CLI zum Laufen zu bringen. Aber ich werde mich neu organisieren, um die Erklärung der Tilde zu korrigieren.
Ravery

1
@WJAndrea: Die Shell hat eine spezielle Unterstützung für ..und .; Entfernt beispielsweise cd ..tatsächlich das letzte Pfadsegment aus dem aktuellen Arbeitsverzeichnis, anstatt ein ..Segment hinzuzufügen .
Ruakh

1
@WJAndrea und Ravery: Strg + G beendet die Befehlshistoriensuche, die Sie mit Strg + R starten. Einmal gestartet, geben Sie einfach den Beginn eines Befehls ein und es wird Ihnen der aktuellste passende angezeigt. Blättern Sie mit Strg + R durch die passenden Befehle, führen Sie einen Befehl mit der Eingabetaste aus oder bearbeiten Sie ihn mit einer Taste, die die Cursorposition ändert, z. B. Start, Ende, Pfeile usw. Dieser Suchmodus ist äußerst hilfreich, wenn Sie einen aktuellen Befehl suchen möchten Sein Name - probieren Sie es aus, es wird Sie umhauen. ;)
Dessert

12

Die Zsh-Shell (oder zumindest die Version, die ich verwende, Oh-my-ZSH ) verfügt über eine Funktion, die Sie korrigiert, wenn Sie kleine Tippfehler in Befehls- und Dateinamen machen:

$ pyhton scirpt.py
zsh: correct 'pyhton' to 'python' [nyae]? y
zsh: correct 'scirpt.py' to 'script.py' [nyae]? y
...

Sie können es mit der folgenden Zeile in Ihrem aktivieren .zshrc:

# Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="true"

kann es automatisch gemacht werden? Ich weiß, es bittet um Ärger, mr fr- ./ -oe--rvoeorrpne-st->zsh: automatically correcting to rm -rf / --no-preserve-root
Katze

1
@cat Soweit ich weiß nicht. Der Grund, den Sie angegeben haben, ist ein Grund, warum, aber es würde Sie auch daran hindern, legitime Dinge wie zu tun mv file1 file1.old, weil es den zweiten Dateinamen zum ersten korrigieren würde, was es zu einem No-Op macht.
Graipher

1
tcsh macht das auch.
Peter - Reinstate Monica

11

Sie können versuchen, die offene Legastheniker-Schriftart in Ihrem Terminal zu verwenden. Es könnte beim Lesen des Textes helfen. Dies setzt voraus, dass Sie das Standard-Ubuntu-Terminal verwenden, das hoffentlich mit dem GNOME-Terminal identisch ist.

https://opendyslexic.org/

  1. Lade es herunter.
  2. Installieren Sie die Schriftart.
  3. Öffnen Sie ein Terminal, navigieren Sie zur Menüleiste und wählen Sie Bearbeiten-> Profileinstellungen
  4. Aktivieren Sie die benutzerdefinierte Schriftart, und wählen Sie die geöffnete dyslexic mono-Schriftart aus.

Die Installation kann mit erfolgen sudo apt install fonts-opendyslexic.
Chai T. Rex

2

Um die Antwort von @pomsky zu vervollständigen, möchte ich einige Punkte hinzufügen:

  • Erfahren Sie, wie Sie Dinge automatisieren, insbesondere, wie forSchleifen funktionieren, wie sie readfunktionieren, wie sie iffunktionieren, was sie sind, [ ]und [[ ]]verwenden Sie den inoffiziellen Bash-Strict-Modus , denn sobald ein Skript gültig ist, ist es einfacher, keine Fehler zu machen.

  • Wenn Sie können, installieren Sie das Bash-Completion-Paket (kann je nach Version unterschiedliche Namen haben).

  • Verwenden Sie rmden -iSchalter in gefährlichen Situationen (z. B. mit sudo), oder installieren und verwenden Sie ihn rmtrash(der Müll wird in den Papierkorb geworfen).

  • Verwenden Sie cpmit dem -nSchalter, der vorhandene Dateien beim Kopieren nicht überschreibt. (Nützlicher beim rekursiven Kopieren)

  • Erfahren Sie, wie Sie die ~/.bashrcDatei verwenden. Dadurch wird die $PS1Variable für Sie klarer.

Und vielleicht am schwierigsten, wenn Sie jung sind:

  • Versuchen Sie, die neuesten und gebräuchlichsten Werkzeuge Ihrer Arbeit ein wenig besser zu kennen.

    • Wenn Sie als Student beispielsweise lernen, wie man mit c ++ entwickelt, versuchen Sie, das $CXXFLAGSin Ihrem ~/.bashrc. (Zum Beispiel: export CXXFLAGS=" -std=c++17 -fmax-errors=1 -Wall -Wextra -pedantic -Werror "entsprechend Ihrer C ++ - Version, also denke ich, C ++ 11 für Ubuntu), dann kompilieren Sie mit make main.cppund Ihre Optionen werden übernommen. Beachten Sie, dass dieser Optionssatz ziemlich hart ist: Alles, was korrekt und standart ist, wird als Fehler angesehen und verhindert, dass Sie kompilieren.

2

Probieren Sie "FISH" Friendly Interactive Shell. Erhältlich in den Repos.

Ich kämpfte mit der Befehlszeile mit BASH. Fisch merkt sich alle letzten Befehle und bietet Abschluss. sudo apt installiere fish dann in bash type; Fisch. Wenn es Ihnen gefällt, lesen Sie die Anweisungen, wie Sie es zu Ihrer Standard-Shell machen. Es gibt andere Muscheln zur Verfügung; Fisch ist meine Wahl. Wenn Sie erst einmal angefangen haben, wird es Ihnen vielleicht gefallen.


2

Ich habe gelernt, dass ich Legastheniker bin, nachdem ich viele Jahre als Unix-Ingenieur und kompetenter Shell-Benutzer auf vielen verschiedenen Plattformen (Linux, AIX und Solaris) gearbeitet habe.

Legasthenie betrifft verschiedene Menschen in unterschiedlichem Maße, so dass die Annahme, dass "wir die Dinge in Unordnung sehen", eine übermäßige Vereinfachung und Frustration sein kann, wenn es Sie nicht so betrifft - ich finde die Standardschriftart für Terminals mit fester Breite extrem lesbar ( weiß auf schwarz scheint mir nett zu sein)

Muscheln sind mit vielen Akronymen und nicht intuitiven Navigationskonventionen schwer zu lernen, was es Menschen, die einfache Wörter mit regelmäßigen Mustern mögen, oft schwer macht, sie zu lernen.

Ich verstehe jetzt, dass die meisten Legastheniker aus eigener Erfahrung lernen und sich diese merken. Wir sind sehr schlecht darin, eine Menge wortreicher Theorie zu lernen oder zu konsumieren. Sobald wir die Theorie durch Anwendung verdaut haben, bleibt sie jedoch in der Regel mit einem tiefen intrinsischen Verständnis bestehen. Konzentrieren Sie sich zu diesem Zweck darauf, Shell-Beispiele zu finden und auszuprobieren, indem Sie sie von Hand eingeben und die Funktionen der einzelnen Zeilen verstehen. Experimentieren Sie, brechen Sie Dinge, bleiben Sie die ganze Nacht wach und reparieren Sie sie.

Mit der Zeit werden Sie sich immer mehr Befehle und Muster merken, wie Entwickler ihre Programme implementiert haben, die auf den nächsten Befehl angewendet werden können. Da jedoch nicht alle Befehle bei der Übergabe von Argumenten / Parametern denselben Konventionen folgen, wird es eine Weile dauern, bis Sie die Befehle kennen, die ähnlich sind.

Wie jeder andere wird es nach ein paar Jahren zur zweiten Natur werden. Im Laufe der Zeit können Sie jedoch den Vorteil einer Legasthenie gewinnen, dass Sie intuitiv wissen, wie man Lösungen löst und komplexe Ursachenanalysen durchführt, indem Sie Ihre 6. sinnvolle Fähigkeit nutzen, Muster oder Brüche in Mustern zu erkennen.

Mit Ausnahme der Tab-Vervollständigung und der wichtigsten Tipps, finde ich, dass die meisten Antworten das Erlebnis nur noch überwältigender machen werden. Ignoriere sie. Vereinfachung ist der Schlüssel


2

Es gibt ein Werkzeug, das zwischen einem Witz und einem unschätzbaren Helfer steht.

https://github.com/nvbn/thefuck

Sie können es zusätzlich zu anderen Empfehlungen in diesem Thread versuchen. Die Hauptidee ist, dass wenn Sie etwas schreiben und den unbekannten Befehl oder was auch immer erhalten, dieses Tool ihn korrigiert und erneut ausführt.

Es ist keine Wunderwaffe, aber es kann sich lohnen, es zu versuchen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.