Existe-t-il un moyen de modifier un fichier s’il n’existe pas vi, vim, joe, mcedit? En d'autres termes, existe-t-il un moyen de modifier un fichier en utilisant uniquement les commandes du shell?
Dans ce cas, j'essaierais de transférer des fichiers et de les éditer sur un autre ordinateur, puis de les transférer à nouveau. Si vous avez ssh, vous devriez avoir scp (j'espère), vous devriez donc pouvoir envoyer des fichiers. Sinon, vous pouvez également rechercher via ftp le transfert des fichiers.
Si ce n'est pas le cas, alors je pense que votre meilleure option est d'essayer d'utiliser les redirections cat, grep, sed, echo et I/O (surtout avec append avec >>
). Et beaucoup de fichiers temporaires.
Bien que si vous avez accès à Perl (ou quelque chose de similaire), vous pouvez l'exécuter sans arguments et cela vous permettra de saisir une source de script à partir d'une entrée standard. Une fois que vous appuyez sur ctrl + d, il peut ensuite exécuter le script. Vous pouvez utiliser cette méthode pour créer un fichier. Ce serait plus puissant que de pirater quelque chose sur la ligne de commande, comme je l'ai déjà mentionné.
J'imagine que vous pouvez faire ce dont vous avez besoin avec grep
et Perl
- cherchez la ligne que vous voulez avec grep
, éditez cette ligne avec Perl
(Perl
peut agir comme un gros remplacement pour sed
), puis confirmez que vous n'avez pas apporté plus de modifications que vous. prévu en faisant diff filename filename.new
. Si oui, rendre les modifications permanentes - mv filename.new filename
En supposant que vous soyez SSH dans votre routeur, vous pouvez également utiliser divers utilitaires pour transférer le fichier en quatrième et en quatrième sur votre ordinateur/routeur. Vous pouvez télécharger une copie sur votre PC, la modifier, puis la renvoyer par SSH au routeur via SFTP (voir PuTTY ou WinSCP si vous utilisez Windows).
Si vous utilisez un firmware personnalisé sur le routeur/passerelle, vous aurez peut-être de la chance. Il existe différents packages Optware contenant des éditeurs de texte simples (et petits). En fonction de vos besoins, vous pouvez obtenir le package nano
ou simplement choisir busybox
qui contient vi
.
Une façon serait de produire le résultat d'un écho.
echo "foo" > bar.txt
Cela créera un fichier intitulé bar.yxy avec le texte contenant "foo".
Avez-vous effacé/bin ou quelque chose? Sinon, vous pourriez peut-être pirater quelque chose avec les utilitaires de texte dans le GNU Coreutils qui devrait être standard sur un système Linux.