Jak zmniejszyć ból wiersza polecenia


38

Chcę nauczyć się lepiej korzystać z wiersza polecenia w systemie Windows, aby mieć większą kontrolę nad tym, co robię, i po prostu do nauki. Główną irytacją, którą mam teraz, jest całe pisanie. Jeśli chcę wykonać operację na pliku o dużej ścieżce, siedzę tam, pisząc go przynajmniej przez minutę, a jeśli popełniam błąd, muszę nacisnąć klawisz strzałki w górę i przewinąć całą zawartość, a następnie znaleźć Co zrobiłem źle. Czy są jakieś narzędzia, które to ułatwią?


Chciałbym, aby wiersz polecenia systemu Windows miał opcję „-o vi”, którą robi bash. Sprawia, że ​​wszystko jest bardzo szybkie (gdy znasz trochę vi)
OscarRyz

2
Zakończenie zakładki! Każdy przyzwoity terminal będzie go miał (a jeśli nie, kwestionowałbym możliwości terminalu, na którym siedzisz).
new123456

Zwłaszcza jeśli się uczysz, naucz się PowerShell. W przypadku starych pierdów nauka nowej sztuczki może być trudna. Ale dla początkujących dobrze jest uzyskać tę radę wcześniej, aby od samego początku kierować energie uczenia się na najlepszą ścieżkę.
music2myear

Odpowiedzi:


33

Jeśli zamierzasz używać wiersza polecenia tylko w systemie Windows, możesz użyć programu Windows PowerShell , ponieważ jest on łatwiejszy w użyciu niż początkowy wiersz polecenia i kopiuje pewne zachowanie z terminali podobnych do * nix. (Zapewnia również o wiele więcej funkcji, ale na początku, przynajmniej dla mnie, jest to „łatwiejsza powłoka poleceń”).

obraz PowerShell

Edycja: Zmieniono zdjęcie na bardziej „przyjazne”.


według wyglądu wikipedii obraz wygląda trochę trudniej niż obecnie. Nadal walczę o naukę systemu Windows, nie mówiąc już o jednym z tych terminali * nix, ale sprawdzę to dzięki.

3
Tak, w tym przypadku może nie jest tak naprawdę dostosowane. Dla mnie, jak już wcześniej znałem terminale * nix, ta skorupa PowerShell pomogła mi, ponieważ zapewnia także wiele aliasów (skrótów) dla zwykłych poleceń * nix. Zazwyczaj „ls” działa jak „reż”. Ogólnie, moim zdaniem, jest to bardziej spójne z „uzupełnianiem tabulatorów” w porównaniu do oryginalnej powłoki, co ułatwia nawigację.
Gnoupi,

1
PowerShell naprawdę jest właściwą drogą. Jako długoletni użytkownik cmd.exe mogę powiedzieć, że jest naprawdę ograniczony. Gdy chcesz zrobić coś sprytnego, będziesz potrzebować VBScript lub czegoś podobnego, więc musisz się tego nauczyć. Każde polecenie ma własną składnię i rzadko są one podobne, więc musisz nauczyć się każdego z nich i nie możesz łatwo zgadnąć. PowerShell jest znacznie potężniejszy i bardziej spójny, dzięki czemu możesz zastosować to, czego nauczyłeś się z jednego polecenia do drugiego.
serialhobbysta

Ponadto niektóre polecenia PoSh mają aliasy, które są takie same jak polecenia cmd, aby ułatwić przejście. Np. Dir działa (alias do Get-ChildItem). Ale w PowerShell możesz również zmienić rejestr i inne rzeczy.
seryjny hobbyści

1
Ponadto PowerShell ma DUŻO lepszy (IMO) tekst pomocy. Czy ktoś kiedykolwiek powiedział ci, abyś przeczytał strony cmdpage?
Cześć71,

45

Możesz użyć Tabklawisza do automatycznego uzupełniania nazw plików. Pamiętaj, że musisz najpierw wpisać wystarczającą nazwę pliku, aby go jednoznacznie zidentyfikować, w przeciwnym razie będziesz musiał przeszukiwać niepoprawne dopasowania. Na przykład masz folder z tymi plikami i jest to twój bieżący katalog, w którym siedzisz cmd:

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

jeśli chcesz wykonać autouzupełnianie SuperUser.COM, musisz wpisać, supea następnie nacisnąć Tab, ponieważ żaden z pozostałych plików nie zaczyna się od tych 4 znaków. Zauważ, że jeśli wpiszesz, sua następnie naciśniesz Tab, możesz nacisnąć jeszcze Tabdwa razy, aby przejść do SuperUser.COM lub możesz wpisać, ShiftTababy przewinąć listę do tyłu i dostać się tam.

Inna sztuczka polega na tym, że jeśli plik znajduje się w oknie eksploratora, możesz przeciągnąć go do cmdokna, a nazwa zostanie wpisana za Ciebie.


2
Działa to świetnie, dziękuję, ale kiedy przeglądam pliki czasami, pomijam moje, czy jest sposób na cofnięcie się?

14
Tak, shift-tab :)
John T

2
Dodatkowy fakt: shift+ <any key that cycles through tabs/windows>jest zawsze równoważne odwróceniu np. alt-tab-> alt-shift-tab.
glenneroo,

27

Oto kilka porad i wskazówek dotyczących korzystania z wiersza polecenia, w tym:

„... przeciągnij i upuść pliki lub foldery z okna eksploratora do wiersza polecenia; wstawia to cytowaną ścieżkę tak, jakbyś ją wkleił ręcznie ...”

Jest to kolejny sposób na zmniejszenie ilości pisania wymagającego długich ścieżek plików.


3
Teraz jest to przydatne. W ogóle tego nie wiedziałem.
EvilChookie

1
Miałem to już w mojej oryginalnej odpowiedzi: P
John T

To nie działa w systemie Windows Vista lub Server 2008, ale działa ponownie w systemie Windows 7 i Windows Server 2008 R2. Zobacz superuser.com/questions/27347/what-is-conhost-exe/28897#28897 po kilka szczegółów.
Reuben,

Druga wskazówka jest również bardzo dobra
Casebash

21

Oto pełna lista akcji klawiszy funkcyjnych:

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:”

2
Czy ktoś ma F4 do pracy? Okno dialogowe pojawi się, ale nie zostanie usunięte.
Charles Beattie

15

Naciśnięcie F7 wyświetli listę ostatnio wykonanych poleceń.

cd \ wrócić do c:katalogu.


2
Hmm, nie wiedziałem o tym.
Gnoupi,

FAJNE! (to wszystko, co muszę powiedzieć, ale odpowiedź musi mieć 15 znaków ...)
Traveling Tech Guy

Cały czas używam wiersza poleceń i nie wiedziałem, że F7 jeden - bardzo przydatny!
Justin

8

Często możesz ograniczyć pisanie, znajdując się we właściwym katalogu. Możesz otworzyć powłokę poleceń w katalogu widocznym w oknie Eksploratora, dodając cmd.exe w powiązaniach typów folderów.

(Narzędzia - Opcje folderów - Typy plików - Folder - Zaawansowane - Nowe - cmd)

Następnie, po wybraniu cmd przez kliknięcie prawym przyciskiem myszy tego folderu, okno, które zostanie otwarte, będzie miało jako bieżący katalog folder, który kliknąłeś.

alternatywny tekst


1
dla użytkowników XP MS Power Toys dla XP zapewni to również dla Ciebie: microsoft.com/windowsxp/Downloads/powertoys/Xppowertoys.mspx
akf

Wiedziałem, że istnieją różne widżety, które to dla ciebie zrobiły, ale zawsze lubię samokonfigurację, która zastąpi widżet. Dzięki za te informacje.
music2myear

7

Jeśli Windows PowerShell jest zbyt przytłaczający, istnieją również niektóre powłoki zastępcze cmd:

I więcej można znaleźć za pośrednictwem Google.


+1 dla cygwin: użycie tego zestawu narzędzi oznacza, że ​​sztuczki, których się uczysz, są przenośne w instalacjach Linuksa i do pewnego stopnia innych systemach operacyjnych (BSD, MacOS, ...), w których obecne są te same lub podobne narzędzia i powłoki podobne do bash. Chociaż jeśli PowerShell jest przytłaczający, prawdopodobnie Cygwin też.
David Spillett,

+1 dla konsoli, która nie jest zastępczą powłoką, ale lepszym terminalem dla istniejących powłok.
wfaulk

+1 dla Cygwina, ale emulator jest okropny. W takim przypadku sugerowałby Terminator + Cygwin.
jamesh,

Jestem wielkim fanem TCC (odkąd to było 4DOS, około 1989 roku); Wolę to od PowerShell. A teraz, gdy TCC / LE jest darmowy, mogę wysyłać skrypty .BTM wraz z instalacją TCC :-) Pamiętaj, że PowerCMD i konsola nie są zamiennymi procesorami poleceń, ale zamiennymi terminalami. Osobiście używam konsoli z wieloma kartami, z których każda zawiera sesję TCC (lub Cmd lub Cygwin).
billdehaan

andlinux.org i Linux są znacznie bardziej przyjazne dla użytkownika niż Cygwin.

7

Podczas korzystania z wiersza poleceń używam stale strzałki w górę (i strzałki w dół), aby przewijać ostatnio używane polecenia. Zwłaszcza, gdy wprowadziłem długie polecenie i chcę edytować tylko jego część bez konieczności ponownego wpisywania.

Krótki przykład, jeśli:

c:\>ping 192.168.1.1

A następnie chcesz pingować inny podobny adres, możesz po prostu nacisnąć strzałkę w górę. Polecenie pojawia się w wierszu z kursorem na końcu. Ułatwia to cofnięcie raz i zmianę adresu na 192.168.1.2 lub coś podobnego.


4

Sugeruję użycie wiersza polecenia.

Wiem, wydaje się to żartobliwe, ale to poważna - jeśli nie natychmiastowa pomoc - rada. Jest dużo wiedzieć i wchłonąć ją głęboko, musisz mieć go używać w kółko.


9
Tak, chce, ale myślę, że chciałby wiedzieć, co może z tym zrobić. Ponieważ „brutalizowanie” dostępnych poleceń może zająć trochę czasu.
Gnoupi,

Nauczyłem się wiersza poleceń, pisząc ambitny skrypt wsadowy wdrażania systemu. Starałem się uwzględnić każdą funkcję, o której mogłem pomyśleć, która byłaby korzystna dla pożądanego zadania, po prostu zadawałem pytania na forach i innych znajomych, dopóki nie zadziałało. 1500 linii i dużo dobrego doświadczenia, z którego wciąż korzystam.
music2myear

@ music2myear masz 28 lat, wystarczająco stary. Gdzie byłeś, że nie nauczyłeś się DOS w tamtych czasach?
barlop

Mój tata kupił nasz pierwszy komputer, gdy miałem 10 lat. DOS 4, tak mi się wydaje, i Win 3.1. Byłem zainteresowany tylko malowaniem aplikacji i grami, w które mógłby grać. Dopiero w 98 roku dostałem własny komputer do nauki inżynierii. Dopiero gdy system zaczął mieć problemy i musiałem to naprawić, naprawdę zainteresowałem się technologią i komputerami. W 2003 r. Dostałem pracę w zakresie wsparcia IT i zbudowałem skrypt wsadowy, o którym wspomniałem wcześniej. Spóźniłem się na start zgodnie ze standardami maniaków.
music2myear

4

Włącz tryb szybkiej edycji, aby:

  • Skopiuj tekst: wybierz tekst + ENTER
  • Wklej kod, klikając prawym przyciskiem myszy.

wprowadź opis zdjęcia tutaj

Zmieniam także czcionkę i układ na coś przyjemniejszego niż domyślna mapa bitowa.

wprowadź opis zdjęcia tutaj

Na koniec dodaj więcej wierszy i kolumn do okna edycji oraz więcej wierszy do bufora.

wprowadź opis zdjęcia tutaj

Zrzuty ekranu są w języku hiszpańskim, ale dokładnie w tym samym miejscu w języku angielskim


1
Zmiana szerokości okna konsoli jest jedną z pierwszych rzeczy, które robię na nowym komputerze.
Justin

+1 Domyślna wysokość jest równie bezużyteczna.
glenneroo,

2

Zdecydowanie weź kopię Cygwin i dodaj jej folder \ bin do zmiennej PATH. To jak użyteczny wiersz polecenia!

Ale tak naprawdę jedynym sposobem, aby się do tego przyzwyczaić, jest przyzwyczajenie się do niego, więc używaj go!


Trudno mi żyć z oknami bez monitu bash
jweede

1

Jeśli używasz XP (nie wiesz o Vistie ), możesz pobrać narzędzie, które dodaje pozycję menu „Otwórz okno poleceń tutaj” do menu kontekstowego folderu eksploratora.

Coś jeszcze, co uznałem za przydatne, to zaprzestanie używania domyślnych ścieżek systemu Windows do wszystkiego. Są po prostu zbyt trudne do zapamiętania, a przestrzenie mogą stać się problemem. Używanie czegoś bardziej jak struktura katalogów linuxa może być oszczędnością czasu rzeczywistego. Moje katalogi wyglądają mniej więcej tak (przykładowo):

 - 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

O wiele łatwiejsze do zapamiętania.


5
Vista (przynajmniej wersja Ultimate) ma to domyślnie, ale ukryte przed przeciętnym użytkownikiem. Przytrzymaj klawisz Shift, a następnie kliknij prawym przyciskiem myszy folder w prawym panelu Eksploratora, a powinieneś zobaczyć „Otwórz okno poleceń tutaj”.
GAThrawn

@GAThrawn, mam Vista Home Premium i potwierdzam, że widziałem tam również tę funkcję.
Shivasubramanian A

Czy „C: \ usr \ bin \ 7zip” jest o wiele szybszy niż „c: \ Program Files \ 7zip”? Jeśli chodzi o naciśnięcia klawiszy .. c: \ prog <tab> \ 7zip vs c: \ usr \ bin \ 7zip może pliki programu są szybsze?
barlop

1

Osobiście uważam, że jeśli chcesz nauczyć się korzystać z wiersza polecenia i nie sprawia ci to radości, prawdopodobnie nie musisz używać wiersza polecenia.

Gdy tylko zajdziesz do interfejsu CLI, okaże się przydatny, a nawet przyjemny. Jeśli próbujesz wykonywać z nim codzienne zadania, uderzasz głową o ścianę.

Po zapoznaniu się z wierszem poleceń możesz migrować tam swoje codzienne zadania tylko dlatego, że łatwiej niż zawsze sięgać po mysz :)


Tak prawdziwe. Konieczność rodzi znajomość.
J. Polfer

1

Skorzystaj ze zmiennych środowiskowych.

Na przykład zamiast wpisywać c: \ dokumenty i ustawienia \ nazwa użytkownika, możesz po prostu użyć% userprofile%. Aby wyświetlić listę standardowych zmiennych środowiskowych, wpisz SET i naciśnij klawisz Enter w wierszu polecenia.

Ponadto zapoznaj się z dostępnymi komendami - podoba mi się dla nich dwie witryny: www.ss64.com i www.robvanderwoude.com

Możesz także nauczyć się skryptowania wsadowego - dzięki temu możesz zautomatyzować często używane zadania.


1
  • Aby wkleić do okna poleceń za pomocą klawiatury, naciśnij klawisze alt-space, e, p.
  • Aby powtórzyć ostatnie polecenie, które rozpoczęło się od litery „d” (na przykład może to być dowolny znak), naciśnij d, a następnie F8.

Ta ostatnia wskazówka może wydawać się niejasna, ale kiedy spędzasz dużo czasu w konsoli, może być znacznie szybsza i łatwiejsza niż kilkakrotne naciśnięcie strzałki w górę lub F8.


1

W tym wątku znajduje się kilka świetnych wskazówek!

Moim zdaniem publikowanie zamienników CMD jest raczej „nie na temat”. Ale tutaj wydaje się być OK, więc mogę dodać ColorConsole do listy.

Interfejs z zakładkami , Ulubiony Polecenia menu Copy / Cut & Paste i rzeczywiście eksport HTML są bardzo użyteczne funkcje, które nie chcesz przegapić więcej.

ps: spróbuj tego w wątku „Must have Firefox addons”: Chłopaki, weź Opera, ma wbudowane gadżety! :)



0

Zgadzam się z sugestią użycia programu PowerShell. Ponadto uważam, że niezwykle przydatne jest konfigurowanie funkcji i aliasów w celu zredukowania typowych zadań do mniejszej liczby wpisywanych liter.

Na przykład, aby uruchomić link http, skonfigurowałem to w moim profilu PowerShell:

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

a potem po prostu piszę, browseaby otworzyć google lub browse http://....otworzyć konkretny link

Kolejny przykład listy plików lub katalogów:

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 } }

A potem używam, lsaaby wyświetlić wszystkie elementy w katalogu, w tym ukryte. Użyj lalub lljako jeszcze krótszych aliasów.

Korzystam lsdz listy tylko folderów, lsflisty tylko plików, latlisty uporządkowanej według czasu ostatniego zapisu i latrlisty według czasu w przeciwnym kierunku.
fizostał skonfigurowany jako prosty zamiennik findpolecenia unix , po prostu rekurencyjnie szukaj nazwy pliku.


0

Zainstaluj zamiennik Eksploratora Windows Xplorer2 . Zawiera narzędzie wiersza polecenia, które pozwala na wszystkie funkcje wiersza polecenia wraz z graficznym interfejsem użytkownika systemu Windows, takie jak użycie myszy, kliknięcie prawym przyciskiem myszy w celu skopiowania i wklejenia itp. Spójrz na zrzut ekranu poniżej.

Zrzut ekranu wiersza polecenia

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.