it-swarm.com.de

Ändert das Erstellen einer Textdatei in vi meinen Computer?

Ich weiß, dass Linux ein Betriebssystem ist, das auf Textdateien basiert. Was ich tun möchte, ist, eine Datei mit vi aller verschiedenen Befehle zu erstellen, die ich gelernt habe. Auf diese Weise konnte ich jeden einzelnen Befehl sehr einfach mit dem / in vi finden. Ich möchte dies jedoch nur tun, wenn sich dadurch die Funktionsweise meines Computers nicht ändert. Wäre das eine gute Idee?

9
BJsgoodlife

Das Schreiben einer Textdatei ändert nicht die Funktionsweise Ihres Computers.

Insbesondere, um so etwas zu tun, müsste man eines tun

  • überschreibe eine wichtige Datei
  • schreiben Sie Ihre Datei an einen besonders geschützten Ort wie ein * .d-Verzeichnis in/etc; Sie werden keine Erlaubnis haben, dies zu tun
  • markieren Sie die ausführbare Datei und fügen Sie sie in Ihren Pfad ein

Da Sie so etwas nicht explizit machen, gibt es nichts, worüber Sie sich Sorgen machen müssten. Insbesondere wird die andere Antwort unnötig lang, indem vorgeschlagen wird, dass Ihre Textdateien in jeder Zeile mit einem Hash beginnen müssen. Natürlich nicht. Nur eine Textdatei irgendwo in einem normalen Home-Verzeichnis zu speichern, reicht nicht aus.

34
thomasrutter

Sie können alle Befehle, die Sie gelernt haben, in einer Datei speichern, aber einige wichtige Punkte beachten:

  • Machen Sie die Datei nicht ausführbar
  • Nie source die Datei
  • Der beste Weg wäre, einen # am Anfang aller Befehle einzufügen, um alle Befehle zu kommentieren, damit sie nicht versehentlich ausgeführt werden. Auf diese Weise können Sie tatsächlich nach dem von Ihnen benötigten Befehl suchen und sind auch risikofrei. Sie können # am Anfang jeder Zeile mit dem folgenden Befehl hinzufügen:

    sed -i 's/^/#/' <file_name>

EDIT: Ich habe den dritten Punkt als extreme Sicherheitsmaßnahme angegeben, da "neon_overload" und "David Z" darauf hingewiesen haben, dass das Einfügen von Hashes in alle Zeilen zu umfangreich und daher nicht erforderlich ist mit ihnen in diesem Zusammenhang. Wie auch von "random832" hervorgehoben, wäre es eine weitaus bessere Alternative zu meinem dritten Punkt, die Datei mit exit zu starten, da dann keine späteren Befehle ausgeführt werden.

EDIT-2: "Rinzwind" hat zwei wichtige Punkte erwähnt:

  • Überschreiben Sie keine vorhandene Datei

  • Speichern Sie die Datei im Basisverzeichnis des Benutzers (/home/$USER/).

15
heemayl

neon_overload hat eine sehr gute antwort.

Ich werde ein wenig auf eine bestimmte Facette Ihrer Frage eingehen - ich würde dies als Kommentar machen, aber ich habe hier nicht genug Ruf.

Linux als Betriebssystem basiert NICHT auf Textdateien. Das heißt, ich kann irgendwie sehen, woher du kommst. Für einen externen Beobachter ist das Bearbeiten und Starten von "Text" -Dateien ein ziemliches Unterfangen, insbesondere im Vergleich zu Windows.

Dies hat mehrere Gründe, von denen einige:

  • Unter Linux gibt es kein Registrierungssystem wie unter Windows. Daher ist es üblich, dass Anwendungen ihre Einstellungen in Textdateien speichern, und Sie werden angewiesen, diese zu bearbeiten, anstatt die Registrierung wie in Windows zu bearbeiten.
  • Linux wird sehr häufig als Serversystem verwendet, und viele von denen, die es auf Desktops verwenden, arbeiten mit Serversystemen. Im Gegensatz zu Windows Server werden Linux-Server normalerweise ohne grafische Oberfläche ausgeführt. Daher wird erwartet, dass Produkte, die auf Linux-Servern ausgeführt werden sollen, und auch deren Benutzer und Administratoren, ohne grafische Oberfläche funktionieren. Produkte (und Systemfunktionen), die nur unter Windows ausgeführt werden sollen, sind in der Regel stärker auf die Benutzeroberfläche ausgerichtet (z. B. MS SQL).
  • Linux-Skriptsysteme sind etwas verbreiteter und transparenter als Windows. Sie würden Skripte unter Windows sehen - aber sie würden "something.vbs" oder "another.bat" heißen. Sie würden nicht unbedingt merken, dass es sich um Textdateien handelt - aber wenn man bedenkt, was in meinem zweiten Punkt steht, ist es unter Linux weitaus üblicher, .sh-Dateien zu durchsuchen.
  • Schließlich sind viele Linux-Benutzer daran gewöhnt, ohne grafische Benutzeroberfläche zu arbeiten, und bearbeiten die Dateien in vielen Fällen eher direkt als ohne grafische Benutzeroberfläche, anstatt mit grafischen Werkzeugen herumzuspielen. Ich weiß, wenn ich etwas tieferes im System machen möchte, starte ich einfach das Terminal, und viele meiner Kollegen auch.
7
Fabo.sk

Die kurze Antwort lautet: Nein, Sie werden Ihren Computer nicht ändern, indem Sie eine Textdatei in vi erstellen. Wenn Sie jedoch nicht vorsichtig sind, kann das Erstellen dieser ersten Textdatei Ihr Leben ändern. Das Erlernen des Unix-Weges kann eine zutiefst lohnende Übung sein.

1
hackerb9

vi ist ein Text Editor. Wenn Sie also nur einige Textschnipsel in einer Textdatei speichern und darin suchen möchten, können Sie dies direkt vom Terminal aus mit dem tun eingebaute Befehle.

  1. Schreiben Sie eine Notiz in eine Textdatei (erstellt die Datei, wenn sie nicht existiert hat):

    echo note mit wichtigen daten >> info.txt

WICHTIG: Achten Sie auf einfache und doppelte Anführungszeichen und stellen Sie Schrägstriche voran, wenn Sie möchten, dass diese eingeschlossen werden.

  1. Durchsuchen Sie die Datei nach Text (z. B. important):

    grep --color -i wichtige info.txt

Um zu vermeiden, dass Sie _--color -i_ eingeben, sollte in Ihrem _~/.bashrc_ ein Alias ​​verwendet werden.

Sie können vorhandenen oder nicht vorhandenen Textdateien auch mehrzeiligen Text hinzufügen:

_cat >> info2.txt
_

geben Sie dann den Text ein oder fügen Sie ihn ein und drücken Sie, wenn Sie fertig sind CTR+Z

Was das Ändern des Systems betrifft, nein, es ändert nichts an der Funktionsweise Ihres Systems, solange Sie Dateien in Ihrem eigenen Ausgangsordner erstellen und nicht ausführen (Sie können eine Datei auch dann ausführen, wenn sie nicht ausführbar ist, z. B. mit _bash myFile_). Stellen Sie außerdem sicher, dass Sie die Root-Rechte nur dann verwenden, wenn Sie sie benötigen.

Und schließlich hat Ihre Interpretation von dateibasiertes System Sie etwas irregeführt: Die meisten Betriebssysteme verfügen über Dateien, in denen wichtige Einstellungen gespeichert sind, die sich stark auf die Funktionsweise des Systems auswirken, sich jedoch an vordefinierten Speicherorten befinden Vor Änderungen durch normale Benutzer geschützt.

Es ist jedoch möglich, sich leicht in den Fuß zu schießen, zum Beispiel, wenn Sie als normaler Benutzer einen lokalen 'ausführbaren' Ordner haben, den Sie PATH hinzugefügt haben, und wenn Sie in diesem Ordner ausführbare Dateien haben, die haben dieselben Namen wie integrierte allgemeine Dienstprogramme oder Bash-Schlüsselwörter, z. B. test, echo, cat, for, cut usw.

0
ccpizza