Comment ont-ils réussi à conduire un ordinateur Unix avant les souris et à copier-coller?


12

Depuis Unix a 40 ans, Unix est plus ancien que l'invention de la souris d'ordinateur. (En fait, seulement 3 ans, si Unix date de 1969 et la souris de 1972.) Comment un nouvel utilisateur a-t-il fait quoi que ce soit sur Unix sans copier-coller? Je sais qu'ils ont toujours eu un éditeur de texte avec copier / coller, mais tout ce que je fais sous Linux est copier depuis un navigateur Web et coller (depuis le CLIPBOARD) dans vim ou gedit ou terminal gnome. Vous êtes pareil, non?

Je ne peux tout simplement pas imaginer charger un fichier man dans vim, copier et coller du code à partir de celui-ci dans un tampon temporaire, puis demander à bash d'exécuter ce tampon. Peut-être qu'ils n'ont jamais quitté emacs; est-ce la réponse?


11
devinez pourquoi les anciennes commandes UNIX ne font que deux lettres? :-)
Riccardo Murri

2
@RiccardoMurri C'est un problème différent: il a fallu environ une décennie pour que les shells Unix soient terminés.
Gilles 'SO- arrête d'être méchant'

4
Notez que "le web" n'était pas une lueur dans les yeux de Tim Berners-Lee lors de l'écriture d'Unix. En effet, le réseautage informatique tel que nous le connaissons en était encore à ses balbutiements. C'était un monde différent.
dmckee --- chaton ex-modérateur

8
tout ce que je fais est copier-coller semble une habitude très dangereuse;)
M. Shunz

J'ai à peine C&P en utilisant la souris dans Vim. Utilisez simplement les commandes de texte pour cela, par exemple yypour copier (copier) la ligne actuelle et ppour la coller.
Martin Scharrer

Réponses:


30

Le copier-coller est plus ancien que la souris. Le premier éditeur Unix, ed , avait la tcommande pour copier un tas de lignes vers un emplacement différent. Dans vi, il existe différentes commandes pour couper, tirer et coller du texte. Pour copier du texte entre des fichiers, vous devez enregistrer le texte à copier dans un fichier temporaire et importer ce fichier temporaire dans le document cible, par exemple avec wet rdans ed ( :wet :rdans vi). Pour inclure la sortie d'une commande dans un fichier, vous devez rediriger sa sortie ( mycommand >fileou mycommand >>file) et importer ce fichier dans votre document; vi a introduit la !commande et ses amis pour insérer directement la sortie sans avoir besoin d'un fichier temporaire.

Charger une page de manuel dans Vim ou Emacs et copier-coller à partir de celle-ci est une routine pour les utilisateurs de Vim / Emacs. Les navigateurs Web n'existaient pas jusqu'à ce qu'Unix soit assez vieux pour boire, mais le même principe s'applique partout: le presse-papiers est plus ancien que les environnements de fenêtres. Ce que les environnements de fenêtres apportaient était le copier-coller entre applications , ce qui pouvait être fait avec un peu plus d'effort via les fichiers.


Merci d'avoir répondu sérieusement à ma question!
marinara

24

La réponse simple est "ils n'ont pas copié et collé". Pas de la façon dont vous le comprenez, de toute façon.

Les tout premiers systèmes Unix utilisaient des télétypes ou des terminaux muets pour une utilisation interactive. Ces appareils n'avaient pas les puissants jeux de commandes de terminaux qui rendaient possibles les innovations ultérieures (!) vi. (Oui, une fois , viétait haute technologie.) Vous avez eu donc aucun moyen de texte visuellement marque à copier ou couper.

Faute de terminaux intelligents, les premiers systèmes Unix proposaient un éditeur de ligne appelé ed. La chose la plus proche , vous devez couper-coller avec edest la tcommande, avec laquelle vous pouvez spécifier les lignes par numéro à t ransferred (copié) vers un autre emplacement dans le fichier.

Les cartes perforées et les bandes de papier étaient encore des supports d'E / S importants à cette époque. Une façon de "modifier" une bande de papier est de filtrer ses données à travers quelque chose comme sed, directement à partir d'un lecteur de bande de papier pendant qu'il lit les données. Aujourd'hui, il sedest utilisé pour d'autres choses, mais c'était beaucoup plus important au début de Unix.


2
sedest génial pour gratter les pages Web récupérées avec wget.
LawrenceC

9

Non, tout le monde n'est pas pareil. Tout le monde ne copie pas le code d'Internet pour l'exécuter sur sa machine. Certaines personnes écrivent du code et le publient parfois sur le Web.

Vous n'avez généralement pas besoin de quitter un éditeur de texte pour lire les données d'un autre fichier (comme une page de manuel) ou pour envoyer des données pour exécution ou vers un fichier.

De plus, je fais souvent du copier-coller entre applications dans un terminal sans utiliser la souris, même aujourd'hui. GNU-screenet tmuxprendre en charge l'utilisation du clavier pour sélectionner des éléments de l'écran dans un presse-papiers et les coller dans le shell ou dans d'autres programmes dans d'autres fenêtres de terminal, ou les conserver pour plus tard.


4
+1 "Certaines personnes écrivent du code". Je vous remercie. L'OP ne fait que renforcer le stéréotype du script-kiddies copier / coller des choses sans savoir ce qu'il fait. Programmation Cargo-Cult quelqu'un l'a appelé. Il n'était pas plus difficile de faire les choses `` à l'époque '', cela vous demandait simplement de SAVOIR les choses, plutôt que d'avoir un rappel de mémoire piloté par Google. Les gens lisaient des choses appelées livres, mémorisaient des informations et comprenaient comment les choses fonctionnaient. Beaucoup a été perdu. (Je vais pointer du doigt "Visual ...", bousculant les programmeurs).
lornix

4

Lorsque j'ai commencé à utiliser SunOS (avant Linux), si quelque chose était vraiment compliqué, nous l'imprimions sur ce joli papier à barres vert et blanc, le rapportions au terminal et nous mettions au travail. Nous avons également (ab) utilisé des applications qui nous permettaient d'exécuter plusieurs terminaux à partir d'une seule connexion à distance. (300 modems bauds secoués!)

Oh, et nous avons fait beaucoup d'erreurs de caractère unique qui ont pris des jours à traquer. C'était la vie.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.