Wie kann ich eine Datei bearbeiten, wenn kein vi, vim, joe usw. vorhanden ist?

Wie kann ich eine Datei bearbeiten, wenn kein vi, vim, joe usw. vorhanden ist?

Gibt es eine Möglichkeit, eine Datei zu bearbeiten, wenn vi, vim, joe oder mcedit nicht vorhanden sind? Mit anderen Worten: Gibt es eine Möglichkeit, eine Datei nur mit Shell-Befehlen zu bearbeiten?

Antwort1

In diesem Fall würde ich versuchen, Dateien herauszuübertragen und sie auf einem anderen Computer zu bearbeiten und sie dann zurück zu übertragen. Wenn Sie SSH haben, sollten Sie (hoffentlich) auch SCP haben, sodass Sie Dateien ein- und ausschieben können. Wenn nicht, können Sie auch nach FTP suchen, um Dateien ein- und auszuschieben.

Wenn nicht, dann ist es meiner Meinung nach am besten, wenn Sie versuchen, cat, grep, sed, echo und E/A-Umleitung zu verwenden (insbesondere Anhängen mit >>). Und jede Menge temporärer Dateien.

Wenn Sie jedoch Zugriff auf Perl (oder etwas Ähnliches) haben, können Sie es ohne Argumente ausführen und eine Skriptquelle über die Standardeingabe eingeben. Sobald Sie Strg+D drücken, kann das Skript ausgeführt werden. Sie könnten diese Methode verwenden, um eine Datei zu erstellen. Es wäre leistungsfähiger, als etwas auf der Befehlszeile zu hacken, wie ich bereits erwähnt habe.

Antwort2

Verwenden Sie ein Terminal, bei dem Sie mit der Maus kopieren und einfügen und Ihre Dateien auf diese Weise zusammenstellen können?

e.g.  cat > myfile
(use terminal to copy/paste)
^D

Handelt es sich um eine Binärdatei, können Sie diese mit diesem Befehl in Text umwandeln, den Sie mit der Maus kopieren können:

 openssl base64 -in <infile>

Öffnen Sie dann auf einem anderen Computer erneut OpenSSL, um es mit dem Schalter -d zu dekodieren, bearbeiten Sie es nach Belieben (z. B. Hexedit), kodieren Sie es dann erneut und öffnen Sie es auf der Box ohne Editor erneut OpenSSL, um es zu dekodieren und von Ihrem Terminal aus einzufügen.

Antwort3

Eine Möglichkeit wäre, das Ergebnis eines Echos auszugeben.

echo "foo" > bar.txt

Dadurch wird eine Datei mit dem Titel bar.yxy und dem enthaltenen Text „foo“ erstellt.

Antwort4

Vorausgesetzt, Sie verbinden sich per SSH mit Ihrem Router, können Sie auch verschiedene Dienstprogramme verwenden, um die Datei zwischen Ihrem Computer/Router und umgekehrt zu übertragen. Sie können eine Kopie auf Ihren PC herunterladen, sie ändern und sie dann per SSH über SFTP an den Router zurücksenden (sieheKittoderWinSCPwenn Sie ein Windows-Benutzer sind).

Wenn Sie jedoch eine benutzerdefinierte Firmware auf dem Router/Gateway verwenden, haben Sie möglicherweise Glück. Es gibt verschiedene Optware-Pakete, die einfache (und kleine) Texteditoren enthalten. Abhängig von Ihren Anforderungen können Sie das nanoPaket erwerben oder sich einfach für busyboxdas entscheiden, das Folgendes enthält vi.

verwandte Informationen