Supposons que vous ne savez pas ce que vous faites et que vous essayez de faire une sauvegarde d'un disque dur.
dd if=/dev/disk1 of=/dev/disk2
Si vous les mélangez (en intervertissant "si" et "de"), il écrasera les nouvelles données avec les anciennes, sans poser de questions.
Des erreurs similaires peuvent se produire avec les utilitaires d'archivage. Et franchement avec la plupart des utilitaires de ligne de commande.
Si vous voulez un exemple de confusion d'un caractère qui fera planter votre système, regardez ce scénario : Vous voulez déplacer tous les fichiers du répertoire actuel vers un autre :
mv -f ./* /path/to/other/dir
Acceptons le fait que tu as appris à utiliser ./
pour désigner le répertoire courant. (Je le fais) Si vous omettez le point, il commencera à se déplacer. tous vos fichiers. Y compris vos fichiers système. Vous avez de la chance de ne pas avoir fait de sudo. Mais si vous avez lu quelque part qu'avec 'sudo -i' vous n'aurez plus jamais à taper sudo, vous êtes maintenant connecté en tant que Root. Et maintenant votre système est en train de se manger lui-même sous vos yeux.
Mais encore une fois, je pense que des choses comme écraser mes précieux fichiers de code avec des déchets, parce que j'ai raté un caractère ou parce que j'ai mélangé l'ordre des paramètres, sont plus problématiques.
Disons que je veux vérifier le code assembleur que gcc génère :
gcc -S program.c > program.s
Supposons que j'ai déjà un programme.s et que j'utilise la complétion TAB. Je suis pressé et j'oublie de faire deux TAB :
gcc -S program.c > program.c
Maintenant j'ai le code assembleur dans mon program.c et plus de code c. Ce qui est au moins un vrai revers pour certains, mais pour d'autres c'est le moment de repartir à zéro.
Je pense que ce sont ceux qui causeront un réel "préjudice". Je ne me soucie pas vraiment que mon système se plante. Je me soucierais plutôt de la perte de mes données.
Malheureusement, ce sont les erreurs qui devront être commises jusqu'à ce que vous appreniez à utiliser le terminal avec les précautions appropriées.
0 votes
Un type a accidentellement effacé tous les ordinateurs de son entreprise en une seule ligne, je l'ai vu sur ce site il y a quelques années, c'était un faux mais, ça pourrait quand même facilement arriver. Je mettrai un lien si je peux le trouver.
7 votes
Le terminal est juste un interface de ligne de commande aux programmes en cours. Il s'agit d'une alternative à un interface utilisateur graphique . Vous pouvez exécuter des programmes arbitraires à partir de l'un ou l'autre. Votre question n'a donc pas vraiment de sens ; vous devriez plutôt demander : Pouvez-vous faire planter votre ordinateur en exécutant un programme ?
0 votes
Que voulez-vous dire par "plantage" ? Les commandes exécutées dans le terminal peuvent souvent être puissant et fera souvent "ce que vous dites et non ce que vous voulez" sans le demander, contrairement à la plupart des commandes de l'interface graphique de Mac OS X. Mais à moins que vous n'ayez intentionnellement essayez vous avez peu de chances de crash la machine. (Je peux penser à quelques façons de le faire intentionnellement cependant)
1 votes
Coller des commandes depuis le web peut être très dangereux . Indépendamment de la possibilité de suspendre votre machine. Taper des commandes que vous comprenez au moins vaguement ne devrait pas être dangereux cependant. Sinon, il y a beaucoup de façons de bousiller votre ordinateur. C'est comme cliquer sur des paramètres de configuration système aléatoires dans l'interface graphique, mais dans l'interface graphique au moins les possibilités sont plus limitées. En ce qui concerne le danger de coller des commandes - le texte que vous voyez visuellement copié peut être différent du texte réel copié, il peut donc contenir des commandes malveillantes mélangées.
0 votes
@cii Maybe serverfault.com/questions/769357/recovering-from-a-rm-rf
0 votes
@wythagoras c'est celui-là