Comment réduire la douleur de l'invite de commande

38

Je souhaite apprendre à mieux utiliser l'invite de commande sous Windows pour mieux contrôler ce que je fais et uniquement pour l'expérience d'apprentissage. La principale contrariété que j'ai actuellement est toute la dactylographie. Si je veux effectuer une opération sur un fichier avec un grand chemin, je suis en train de le taper pendant au moins une minute, et si je fais une erreur, je dois appuyer sur la touche fléchée vers le haut et faire défiler le texte entier pour trouver ce que j'ai mal fait. Y at-il des outils pour rendre cela plus facile?

Adam
la source
J'adorerais que l'invite de commande Windows ait l'option "-o vi" proposée par bash. Ça rend les choses très vite (quand on connait un peu de vi bien sûr)
OscarRyz 8/08
2
Complétez l'onglet! Tout terminal décent l’aura (et dans le cas contraire, je mettrais en doute la capacité du terminal où vous êtes assis).
new123456
Surtout si vous apprenez, apprenez PowerShell. Pour les vieux pets, apprendre un nouveau tour peut être difficile. Mais pour les débutants, il est bon d’obtenir ce conseil le plus tôt possible afin d’orienter vos énergies d’apprentissage vers le meilleur chemin possible dès le début.
music2myear

Réponses:

33

Si vous avez l'intention d'utiliser l'invite de commande uniquement sous Windows, vous pouvez utiliser Windows PowerShell , car il est plus facile à utiliser que l'invite de commande initiale et copie certains comportements des terminaux de type * nix. (Il fournit également beaucoup plus de fonctionnalités, mais au début, du moins pour moi, c'est un "shell de commande plus facile").

photo de powershell

Édition: Changement de la photo pour une "plus amicale".

Gnoupi
la source
par le look de wikipedia, la photo a l'air un peu plus dure que ce que je suis en train d'utiliser. J'ai encore du mal à apprendre les fenêtres, encore moins l'un de ces * terminaux nix, mais je vais le vérifier, merci.
3
Oui, dans ce cas, peut-être que ce n'est pas vraiment adapté. Comme je connaissais déjà * nix terminaux auparavant, ce PowerShell m'aidait, car il fournit également de nombreux alias (raccourcis) pour les commandes * nix habituelles. Typiquement, "ls" fonctionne comme "dir". En général, il est également plus cohérent pour "l'achèvement des onglets", à mon avis, par rapport au shell original, ce qui facilite la navigation.
Gnoupi
1
PowerShell est vraiment la voie à suivre. En tant qu'utilisateur de longue date de cmd.exe, je peux vous dire que c'est vraiment limité. Une fois que vous voulez faire quelque chose d'intelligent, vous finirez par avoir besoin de VBScript ou de quelque chose de similaire, vous devrez donc l'apprendre. Chaque commande a sa propre syntaxe et elles sont rarement similaires, vous devez donc les apprendre toutes les deux et vous ne pouvez pas les deviner facilement. PowerShell est beaucoup plus puissant et cohérent. Vous pouvez ainsi appliquer ce que vous avez appris d'une commande à une autre.
serialhobbyist
De plus, certaines commandes PoSh ont des alias identiques aux commandes cmd pour faciliter la transition. Par exemple, dir fonctionne (alias avec Get-ChildItem). Mais dans PowerShell, vous pouvez également modifier le registre et d’autres choses.
serialhobbyist
1
En outre, PowerShell a un texte d'aide BEAUCOUP mieux (IMO). Quelqu'un vous a-t-il jamais dit de lire les pages de commande?
Bonjour71
45

Vous pouvez utiliser la Tabclé pour compléter automatiquement les noms de fichiers. Gardez toutefois à l'esprit que vous devez d'abord saisir suffisamment de nom de fichier pour l' identifier de manière unique, sans quoi vous devrez mélanger des correspondances incorrectes. Par exemple, vous avez un dossier avec ces fichiers et c'est votre répertoire actuel dans lequel vous vous trouvez cmd:

.
..
Su.exe
Sup.txt
SuperUser.COM

si vous voulez compléter automatiquement SuperUser.COM, vous devez taper supepuis appuyer sur Tab, car aucun des autres fichiers ne commence par ces 4 caractères. Notez que si vous avez tapé suet ensuite appuyé Tab, vous pouvez appuyer Tabdeux fois de plus pour atteindre SuperUser.COM ou vous pouvez taper ShiftTabpour revenir en arrière dans la liste et y accéder.

Une autre astuce consiste à placer le fichier dans une fenêtre d’explorateur, vous pouvez le faire glisser dans la cmdfenêtre et le nom sera saisi.

John T
la source
2
Cela fonctionne très bien, mais quand je passe en revue des fichiers, je passe parfois au-dessus des miens, y a-t-il un moyen de revenir en arrière?
14
Oui, shift-tab :)
John T
2
Le fait bonus: shift+ <any key that cycles through tabs/windows>est toujours équivalent à inverser, par exemple alt-tab-> alt-shift-tab.
Glenneroo
27

Voici d'autres astuces et astuces pour utiliser l'invite de commande, notamment:

"... faites glisser des fichiers ou des dossiers depuis une fenêtre de l'explorateur vers une invite de commande; le chemin indiqué est inséré comme si vous l'aviez collé manuellement ..."

C'est encore un autre moyen de réduire le nombre de saisies impliquées dans les chemins d'accès aux fichiers longs.

Ray Vega
la source
3
Maintenant que c'est utile. Je ne le connaissais pas du tout.
EvilChookie
1
Je l'avais déjà dans ma réponse initiale: P
John T
Cela ne fonctionne pas sous Windows Vista ou Server 2008, mais fonctionne à nouveau sous Windows 7 et Windows Server 2008 R2. Voir superuser.com/questions/27347/what-is-conhost-exe/28897#28897 pour plus de détails.
Reuben
Les autres conseils sont très bons aussi
Casebash le
21

Voici la liste complète des actions clés de fonction:

F1 retypes the previous command one character at a time
F2 brings up a dialog and asks “Enter the char to copy up to:”
F3 retypes the last command in full
F4 brings up a dialog and asks “Enter char to delete up to:”
F5 as for F3
F6 Print EOF character (Ctrl+Z)
F7 brings up a dialog of all the recent command history
F8 brings up each of the most recent commands, one at a time
F9 brings up a dialog and asks “Enter command number:”
harrymc
la source
2
Quelqu'un a-t-il F4 au travail? La boîte de dialogue apparaît mais ne supprime pas.
Charles Beattie
15

Appuyez sur F7 pour lister les dernières commandes exécutées.

cd \ pour revenir au c:répertoire.

utilisateur8228
la source
2
Hmm, je ne le savais pas.
Gnoupi
COOL! (c'est tout ce que je dois dire , mais une réponse doit être de 15 caractères de long ...)
Voyager Tech Guy
J'utilise l'invite de commande tout le temps et je ne savais pas que F7 - très pratique!
Justin
8

Souvent, vous pouvez réduire votre saisie en étant dans le bon répertoire. Vous pouvez ouvrir un interpréteur de commandes dans le répertoire affiché dans une fenêtre de l'Explorateur en ajoutant cmd.exe aux associations de types de dossiers.

(Outils - Options des dossiers - Types de fichiers - Dossier - Avancé - Nouveau - cmd)

Ensuite, lorsque vous sélectionnez cmd en cliquant avec le bouton droit de la souris sur ce dossier, la fenêtre de commande qui s'ouvre aura pour répertoire actuel le répertoire du dossier sur lequel vous avez cliqué.

texte alternatif

Diomidis Spinellis
la source
1
pour les utilisateurs de XP, MS Power Toys pour XP vous le fournira également: microsoft.com/windowsxp/Downloads/powertoys/Xppowertoys.mspx
akf
Je savais que plusieurs widgets étaient conçus pour vous, mais j'aime toujours une configuration automatique qui remplacera un widget. Merci pour cette info.
music2myear
7

Si Windows PowerShell est trop pénible, il existe également des coques de remplacement cmd:

Et plus peut être trouvé via google.

harrymc
la source
+1 pour cygwin: utiliser cet ensemble d'outils signifie que les astuces que vous apprendrez sont portables pour les installations Linux et, dans une certaine mesure, pour d'autres systèmes d'exploitation (BSD, MacOS, ...) où les mêmes outils ou des outils similaires ainsi que des interpréteurs de commandes bash-a-like sont présents. Bien que si powershell soit écrasant, cygwin le sera probablement aussi.
David Spillett
+1 pour la console, qui n'est pas un shell de remplacement, mais un meilleur terminal pour les shells existants.
wfaulk
+1 pour Cygwin, mais l'émulateur est affreux. Suggérerait Terminator + Cygwin, dans ce cas.
jamesh
Je suis un grand fan de TCC (depuis le 4DOS, en 1989); Je le préfère de loin à PowerShell. Et maintenant que TCC / LE est un freeware, je peux envoyer des scripts .BTM complets avec une installation de TCC :-) Notez que PowerCMD et la console ne sont pas des processeurs de commande de remplacement, mais des terminaux de remplacement. Personnellement, j'utilise la console avec plusieurs onglets, chacun contenant une session TCC (ou Cmd ou Cygwin).
Billdehaan
andlinux.org andLinux est beaucoup plus convivial que Cygwin.
7

Quelque chose que j'utilise constamment en utilisant l'invite de commande est la flèche vers le haut (et la flèche vers le bas) pour faire défiler les commandes récemment utilisées. Surtout quand j'ai entré une longue commande et que je souhaite seulement en éditer une partie sans la retaper.

Un petit exemple si vous:

c:\>ping 192.168.1.1

Et puis voulez cingler une autre adresse similaire, vous pouvez simplement appuyer sur la flèche vers le haut. La commande apparaît sur l'invite avec le curseur à la fin. Cela facilite le retour arrière une fois et change l'adresse en 192.168.1.2 ou quelque chose de similaire.

JYelton
la source
4

Je vous suggère d' utiliser l'invite de commande.

Je sais, cela semble facétieux, mais c'est grave --- si ce n'est instantanément utile - des conseils. Il y a beaucoup de choses à savoir et pour l'absorber profondément, vous devez l' utiliser encore et encore.

dmckee
la source
9
Oui, il le veut, mais il aimerait savoir ce qu’il peut en faire, je pense. Parce que "renforcer" les commandes disponibles peut prendre un certain temps.
Gnoupi
J'ai appris l'invite de commande en écrivant un script de lot de déploiement de système ambitieux. J'ai essayé d'intégrer toutes les fonctionnalités auxquelles je pouvais penser qui seraient bénéfiques pour la tâche désirée, mais je ne cessais de poser des questions sur des forums et à d'autres que je connaissais jusqu'à ce que cela fonctionne. 1500 lignes et beaucoup de bonne expérience que j'utilise encore.
music2myear
@ music2myear vous avez 28 ans, assez vieux. Où avez-vous été que vous n'avez pas appris DOS sous son jour?
Barlop
Mon père a acheté notre premier ordinateur quand j'avais 10 ans. DOS 4, je suppose, et Win 3.1. Je ne m'intéressais qu'à la peinture d'applications et aux jeux auxquels elle pouvait jouer. Ce n'est qu'en 98 que j'ai eu mon propre ordinateur pour étudier l'ingénierie. Et ce n’est que lorsque ce système a commencé à avoir des problèmes et je devais le réparer moi-même que je me suis vraiment mis à la technologie et aux ordinateurs. C’est en 2003 que j’ai eu un travail dans le domaine de l’assistance informatique et que j’ai construit le script de traitement par lots mentionné plus haut. J'étais juste un débutant en termes de geek.
music2myear
4

Activer le mode d'édition rapide pour:

  • Copier le texte en: sélectionnez le texte + ENTREE
  • Collez le code en appuyant sur un clic droit.

entrez la description de l'image ici

Je modifie également la police et la présentation en quelque chose de plus agréable que le bitmap par défaut.

entrez la description de l'image ici

Enfin, ajoutez plus de lignes et de colonnes dans la fenêtre d’édition et plus de lignes dans la mémoire tampon.

entrez la description de l'image ici

Les captures d'écran sont en espagnol, mais elles sont exactement au même endroit en anglais

OscarRyz
la source
1
Changer la largeur de la fenêtre de la console est l'une des premières choses que je fais sur un nouvel ordinateur.
Justin
+1 La hauteur par défaut est tout aussi inutile.
Glenneroo
2

Prenez une copie de Cygwin et ajoutez son dossier \ bin à votre variable PATH. C'est comme une invite de commande utilisable!

Mais vraiment, la seule façon de s’y habituer est de s’y habituer, alors utilisez-le!

Phoshi
la source
J'ai du mal à vivre avec des fenêtres sans mon
aide
1

Si vous utilisez XP (vous ne connaissez pas Vista), vous pouvez télécharger un powertoy qui ajoute une entrée de menu "Ouvrir la fenêtre de commande ici" au menu contextuel de votre dossier d'exploration.

Une autre chose que j'ai trouvée utile est de ne plus utiliser les chemins par défaut de Windows. Ils sont trop difficiles à retenir et les espaces peuvent devenir un problème. Utiliser quelque chose qui ressemble plus à la structure de répertoires de Linux peut être un réel gain de temps. Mes répertoires ressemblent à ceci (à titre d'exemples):

 - C:\usr\bin\firefox 
 - C:\usr\bin\7zip
 - C:\usr\bin\dropbox

 - C:\usr\lang\cpp\gcc
 - C:\usr\lang\cpp\lib\qt_4_5_0
 - C:\usr\lang\python\py25

 - C:\usr\home\wrksp\cpp
 - C:\usr\home\doc
 - C:\usr\home\wrksp\svn

Bien plus facile à retenir.

drby
la source
5
Vista (au moins Ultimate Edition) l’a par défaut, mais est caché de l’utilisateur moyen. Maintenez la touche Maj enfoncée, puis cliquez avec le bouton droit de la souris sur un dossier du volet de droite de l'explorateur. La fenêtre «Ouvrir la fenêtre de commande ici» devrait s'afficher.
GAThrawn
@GAThrawn, j'ai Vista Home Premium et je confirme avoir également vu cette fonctionnalité.
Shivasubramanian Un
"C: \ usr \ bin \ 7zip" est-il beaucoup plus rapide à obtenir que "c: \ Program Files \ 7zip"? Pour ce qui est des frappes au clavier, c: \ prog <tab> \ 7zip vs c: \ usr \ bin \ 7zip peut-être que les fichiers de programme sont plus rapides à obtenir?
Barlop
1

Personnellement, je pense que si vous voulez apprendre à utiliser l'invite de commande et que vous ne le trouvez pas joyeux, vous n'avez probablement pas besoin d'utiliser l'invite de commande.

Dès que vous aurez besoin d'appuyer sur une CLI, vous la trouverez utile et même agréable. Si vous essayez d'accomplir vos tâches quotidiennes, vous vous cognez la tête contre un mur.

Une fois que vous êtes familiarisé avec l'invite de commande, vous pouvez y migrer vos tâches quotidiennes simplement parce que c'est plus facile que toujours d'atteindre la souris :)

salmonmose
la source
Tellement vrai. La nécessité engendre la familiarité.
J. Polfer
1

Utiliser les variables d'environnement.

Par exemple, au lieu de taper c: \ documents et settings \ nom d'utilisateur, vous pouvez simplement utiliser% userprofile%. Pour obtenir une liste des variables d’environnement standard, tapez SET et appuyez sur Entrée à l’invite de commande.

En outre, familiarisez-vous avec les commandes disponibles - j'aime bien deux sites: www.ss64.com et www.robvanderwoude.com

Vous pouvez également apprendre à créer des scripts par lots, ce qui vous permet d’automatiser les tâches fréquemment utilisées.

Multiverse IT
la source
1
  • Pour coller dans une fenêtre de commande à l'aide du clavier, appuyez sur alt-space, e, p.
  • Pour répéter la dernière commande commençant par la lettre "d" (par exemple, il peut s'agir de n'importe quel caractère), appuyez sur d puis sur F8.

Ce dernier conseil peut sembler obscur, mais lorsque vous passez beaucoup de temps dans la console, cela peut être beaucoup plus rapide et plus facile que d'appuyer plusieurs fois sur la flèche vers le haut ou sur F8.

pierre
la source
1

Il y a quelques bons conseils postés dans ce fil!

À mon avis, l’affichage de remplacements CMD est plutôt «hors sujet». Mais cela semble être OK ici, donc je pourrais ajouter ColorConsole à la liste.

L' interface à onglets , le menu Commandes préférées , Copier / Couper et Coller et même l' exportation HTML sont des fonctionnalités très utiles que je ne veux plus rater.

ps: essayez ceci dans le fil "Doit avoir des addons pour Firefox": Lads, récupérez Opera, il contient les bonus déjà intégrés! :)

Molly7244
la source
0

Je suis d'accord avec la suggestion d'utiliser PowerShell. De plus, je trouve extrêmement utile de configurer des fonctions et des alias afin de réduire les tâches courantes à moins de lettres tapées.

Par exemple, pour lancer un lien http, je l’installe dans mon profil powershell:

function browse-url { param($url="http://www.google.com/"); (new-object -com shell.application).ShellExecute($url); }
set-alias -name "browse" -value "browse-url"

puis je tape juste browsepour ouvrir google, ou browse http://....pour ouvrir un lien spécifique

Un autre exemple pour lister des fichiers ou des répertoires:

function lsa { param($path="."); Get-ChildItem -Force $path }
set-alias -name "la" -value "lsa"
set-alias -name "ll" -value "lsa"
function lsd { param($path="."); lsa $path | ? { $_.PSIsContainer } }
function lsf { param($path="."); lsa $path | ? { !$_.PSIsContainer } }
function lat { param($path="."); lsa $path | sort -property lastwritetime -descending }
function latr { param($path="."); lsa $path | sort -property lastwritetime }
function fi { param($pat,$root="."); gci -r $root | ? {$_.Name -match $pat} | % { $_.FullName } }

Et puis j'utilise lsapour afficher tous les éléments d'un répertoire, y compris les éléments cachés. Utilisez laou llcomme alias encore plus courts.

J'utilise lsdpour répertorier uniquement les dossiers, lsfpour répertorier uniquement les fichiers, latpour répertorier par ordre de dernière écriture et latrpour répertorier par heure dans le sens opposé.
fia été configuré comme un simple substitut à la findcommande unix , il suffit de chercher récursivement un nom de fichier.

John Weldon
la source
0

Installez le remplacement de l’Explorateur Windows Xplorer2 . Il inclut un outil d'invite de commande qui autorise toutes les fonctions de l'invite de commande ALONG AVEC l'interface graphique de Windows, comme l'utilisation de la souris, un clic droit pour les fonctions de copier-coller, etc. Jetez un coup d'œil à la capture d'écran ci-dessous.

Capture d'écran d'invite de commande

Vinayak
la source