Як зменшити біль командного рядка


38

Я хочу навчитися краще використовувати командний рядок в Windows, щоб мати більше контролю над тим, що я роблю, і лише за досвідом навчання. Основне роздратування, яке я маю зараз, - це все друкування тексту. Якщо я хочу виконати операцію над файлом з великим контуром, я сиджу там, набравши його хоча б на хвилину, і якщо я помиляюся, мені потрібно натиснути клавішу зі стрілкою вгору і прокрутити всю річ і знайти що я зробив не так. Чи є інструменти для полегшення цього?


Я б хотів, щоб командний рядок Windows мав варіант "-o vi", який робить bash. Це робить дуже швидко (якщо ви, звичайно, знаєте, що трохи більше)
OscarRyz

2
Завершення вкладки! Будь-який пристойний термінал матиме його (і якщо цього не буде, я б сумнівався у можливості терміналу, в якому ви сидите).
new123456

Особливо, якщо ви навчаєтесь, вивчайте PowerShell. Для старих пукань навчитися новій хитрість може бути складно. Але для початківців добре отримати цю пораду рано, щоб спрямувати свою навчальну енергію на найкращий шлях з самого початку.
music2myear

Відповіді:


33

Якщо ви плануєте використовувати командний рядок лише під Windows, ви можете використовувати Windows PowerShell , оскільки це простіше у використанні, ніж початковий командний рядок, і копіює деяку поведінку з * nix-подібних терміналів. (Він також забезпечує набагато більше функціональних можливостей, але спочатку, принаймні для мене, це "легша командна оболонка").

малюнок оболонки

Редагувати: Змінено зображення для більш "дружнього".


за зовнішнім виглядом вікіпедії картина виглядає дещо складніше, ніж те, що я зараз використовую. Я все ще намагаюся вивчити Windows, не кажучи вже про один з цих * nix терміналів, але я перевірю це завдяки.

3
Так, в цьому випадку, можливо, це не дуже адаптовано. Мені, як я знав * nix-термінали раніше, ця команда повноважень допомогла мені, оскільки вона також надає багато псевдонімів (ярликів) для звичайних * nix-команд. Зазвичай "ls" працює як "dir". Загалом, це також більше відповідає "заповненню вкладки", на мою думку, порівняно з оригінальною оболонкою, що полегшує навігацію.
Gnoupi

1
PowerShell насправді це шлях. Як давно користувач cmd.exe, я можу вам сказати, що це дійсно обмежено. Як тільки ви захочете зробити щось розумне, вам знадобиться VBScript або щось подібне, тож вам доведеться це навчитися. У кожної команди є свій синтаксис, і вони рідко подібні, тому вам доведеться вивчити кожну і не можете легко здогадатися. PowerShell набагато потужніший і набагато послідовніший, тому ви можете застосовувати те, що ви навчились від однієї команди до іншої.
serialhobbyist

Плюс у деяких командах PoSh є псевдоніми, такі самі, як команди cmd для полегшення переходу. Напр., Працює (псевдонім Get-ChildItem). Але в PowerShell ви також можете реєструвати реєстр та інші речі.
serialhobbyist

1
Також PowerShell має набагато кращий (IMO) текст довідки. Хто-небудь скаже вам прочитати cmdpages?
Привіт71

45

Ви можете використовувати Tabключ для автоматичного заповнення імен файлів. Хоча майте на увазі, спочатку потрібно ввести достатньо імені файлу, щоб однозначно його ідентифікувати, інакше доведеться перетасувати через неправильні збіги. Наприклад, у вас є папка з цими файлами, і це ваш поточний каталог, в якому ви сидите cmd:

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

якщо ви хотіли автозавершити SuperUser.COM, вам доведеться набрати supeпотім натиснути Tab, оскільки жоден з інших файлів не починається з цих 4 символів. Зауважте, що якщо ви ввели suі потім натиснули Tab, ви можете натиснути ще Tabдвічі, щоб перейти до SuperUser.COM, або ви можете ввести, ShiftTabщоб повернутися назад за списком і потрапити туди.

Ще одна хитрість - якщо у вас є файл у вікні провідника, ви можете перетягнути його у cmdвікно, і воно набере назву для вас.


2
Це чудово дякую, але коли я переглядаю файли, інколи я передаю свої, чи є спосіб повернутись назад?

14
Так, зрушення :)
Джон Т

2
Бонус факт: shift+ <any key that cycles through tabs/windows>це завжди еквівалентно реверс , наприклад alt-tab-> alt-shift-tab.
glenneroo

27

Ось ще кілька порад та рекомендацій щодо використання командного рядка, зокрема:

"... перетягніть файли чи папки з вікна провідника в командний рядок; це вставляє процитований шлях так, як ніби ви його вручну вставили ..."

Це ще один спосіб зменшити кількість набору тексту, задіяних у довгих файлових шляхах.


3
Тепер ТО корисно. Я взагалі цього не знав.
EvilChookie

1
Це вже було в моїй оригінальній відповіді: P
Джон T,

Це не працює в Windows Vista або Server 2008, але знову працює в Windows 7 та Windows Server 2008 R2. Докладні відомості див. У розділі superuser.com/questions/27347/what-is-conhost-exe/28897#28897 .
Рувім

Інша порада також дуже хороша
Casebash

21

Ось повний перелік дій функціональних клавіш:

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
Хтось має F4 для роботи? Діалогове вікно з'являється, але не видаляється.
Чарльз Бітті

15

Натискання клавіші F7 відображатиме список останніх виконаних команд.

cd \ щоб повернутися до c:каталогу.


2
Хм, не знав цього.
Gnoupi

ОХЛАДИТИ! (це все, що я маю сказати, але відповідь має бути тривалістю 15 символів ...)
Подорожній техник Гай

Я використовую командний рядок весь час, і я не знав, що F7 один - дуже зручно!
Джастін

8

Часто ви можете зменшити введення тексту, перебуваючи у правильному каталозі. Ви можете відкрити командну оболонку в каталозі, який ви бачите у вікні Провідника, додавши cmd.exe у асоціації типу папки.

(Інструменти - Параметри папок - Типи файлів - Папка - Додаткові - Нові - cmd)

Потім, коли ви виберете cmd, клацнувши правою кнопкою миші на цій папці, у вікні команд, що відкриється, буде як поточний каталог, так і в папці, на яку ви натиснули.

alt текст


1
Для користувачів XP, MS Power Toys для XP також надасть це для вас: microsoft.com/windowsxp/Downloads/powertoys/Xppowertoys.mspx
akf

Я знав, що існують різні віджети, які робили це для вас, але мені завжди подобається самоконфігурація, яка замінить віджет. Дякую за цю інформацію
music2myear

7

Якщо Windows PowerShell занадто непосильний, також є кілька оболонок для заміни cmd:

І більше можна знайти через Google.


+1 для cygwin: використання цього набору інструментів означає, що трюки, які ви дізнаєтесь, є переносними для встановлення Linux та певною мірою інших ОС (BSD, MacOS, ...), де є ті самі чи подібні інструменти та оболонки, що нагадують удар. Хоча, якщо повноваження переважають, цигувін, ймовірно, теж буде.
Девід Спіллетт

+1 для консолі, яка не є заміною оболонки, а кращим терміналом для існуючих оболонок.
wfaulk

+1 для Cygwin, але емулятор жахливий. Я б запропонував Terminator + Cygwin у такому випадку.
Джеймс

Я величезний фанат TCC (з тих пір, як це був 4DOS, ще близько 1989 року); Я дуже віддаю перевагу PowerShell. А тепер, коли TCC / LE є безкоштовним, я можу надсилати .BTM-скрипти разом із встановленням TCC :-) Зауважте, що PowerCMD і Console - це не замінні командні процесори, а термінали заміни. Особисто я використовую консоль з декількома вкладками, кожна з яких містить сеанс TCC (або Cmd, або Cygwin).
billdehaan

andlinux.org іLinux набагато зручніший для користувачів, ніж Cygwin.

7

Щось я постійно використовую під час використання командного рядка - це стрілка вгору (і стрілка вниз) для прокручування нещодавно використаних команд. Особливо, коли я ввійшов у довгу команду і хочу лише відредагувати якусь частину, не переробляючи її.

Короткий приклад, якщо ви:

c:\>ping 192.168.1.1

А потім хочете ввести іншу подібну адресу, ви можете просто натиснути стрілку вгору. Команда відображається у рядку із курсором у кінці. Це дозволяє просто повернути назад один раз і змінити адресу на 192.168.1.2 або щось подібне.


4

Я пропоную вам скористатися командним рядком.

Я знаю, це здається пильним, але це серйозно --- якщо не миттєво корисна --- порада. Є багато що знати, і щоб глибоко поглинути його, вам доведеться використовувати його знову і знову.


9
Так, він хоче, але він хотів би знати, що він може з цим зробити. Оскільки "грубе посилення" доступних команд може зайняти деякий час.
Gnoupi

Я дізнався командний рядок, написавши амбітний сценарій пакетного розгортання системи. Я намагався включити кожну функцію, яку я міг би придумати, щоб це принесло користь бажаному завданню. Продовжував задавати питання на форумах та інших, про яких я знав, поки це не спрацювало. 1500 ліній і багато хорошого досвіду, який я досі використовую.
music2myear

@ music2myear ти 28, досить старий. Де ти був, що ти не навчався DOS за його часів?
барлоп

Мій тато купив наш перший комп’ютер, коли мені було 10 років. DOS 4, я думаю, це був, і виграв 3.1. Мене цікавили лише програми для малювання та які ігри в них можна грати. Лише у 98 році я придбав власний комп’ютер для вивчення техніки. І лише до того, як у цієї системи не виникли проблеми, і я повинен був сам це виправити, що я справді потрапив у технології та комп’ютери. Саме в 2003 році я взяв на роботу ІТ-підтримку і створив пакетний сценарій, про який я згадував раніше. Я був лише пізним початком за стандартами вихованки.
music2myear

4

Увімкніть режим швидкого редагування для:

  • Скопіюйте текст: виберіть текст + ВВОД
  • Вставте код натисканням правої кнопки миші.

введіть тут опис зображення

Я також змінюю шрифт і макет на щось приємніше, ніж бітова карта за замовчуванням.

введіть тут опис зображення

Нарешті додайте більше рядків та стовпців у вікно редагування та більше рядків у буфер.

введіть тут опис зображення

Знімки екрана є іспанською, але вони точно там же англійською мовою


1
Зміна ширини вікна консолі - одне з перших речей, які я роблю на новому комп’ютері.
Джастін

+1 Висота за замовчуванням так само марна.
glenneroo

2

Виразно захопіть копію Cygwin та додайте її \ bin папку до змінної PATH. Це як придатний командний рядок!

Але насправді єдиний спосіб звикнути - звикнути, тому використовуйте!


Мені важко жити з вікнами без мого
підказок

1

Якщо ви використовуєте XP (не знаю про Vista), ви можете завантажити програму Powertoy, яка додає в контекстне меню папки провідника " Вхідне командне вікно тут".

Щось інше, що мені здалося корисним, - це припинити використання шляхів Windows за замовчуванням для всього. Їх просто важко запам'ятати, і пробіли можуть стати проблемою. Використання чогось подібного до структури каталогів Linux може бути економією в реальному часі. Мої каталоги виглядають приблизно так (на прикладі):

 - 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

Шлях легше запам’ятати.


5
У Vista (принаймні Ultimate Edition) це за замовчуванням, але приховано від середнього користувача. Просто утримуйте клавішу shift, а потім клацніть правою кнопкою миші папку на правій панелі провідника, і ви побачите "Відкрити вікно команд тут".
GAThrawn

@GAThrawn, у мене є Vista Home Premium, і я підтверджую, що я бачив і цю функцію.
Шивасубраманян

Чи "C: \ usr \ bin \ 7zip" набагато швидше дістатися до "c: \ Program Files \ 7zip"? З точки зору натискань клавіш .. c: \ prog <tab> \ 7zip vs c: \ usr \ bin \ 7zip, можливо, до програмних файлів швидше дістатися?
барлоп

1

Особисто я думаю, що якщо ви хочете навчитися використовувати командний рядок і не вважаєте це радісним, вам, ймовірно, не потрібно використовувати командний рядок.

Як тільки вам потрібно натиснути CLI, ви знайдете його корисним і навіть приємним. Якщо ви намагаєтеся виконувати щоденні завдання з цим, то ви б'єте головою об стіну.

Ознайомившись із командним рядком, ви можете переміщати свої щоденні завдання туди просто тому, що це легше, ніж завжди дотягуватися до миші :)


Такий справжній. Необхідність породжує знайомство.
Дж. Полфер

1

Використовуйте змінні середовища.

Наприклад, замість того, щоб вводити c: \ документи та налаштування \ ім'я користувача, ви можете просто використовувати% userprofile%. Для переліку стандартних змінних середовища введіть SET і натисніть клавішу Enter у командному рядку.

Окрім того, ознайомтесь із командами, які вам доступні - мені подобаються два сайти для них: www.ss64.com та www.robvanderwoude.com

Ви також можете вивчити пакетний сценарій - використовуючи це, ви можете автоматизувати часто використовувані завдання.


1
  • Щоб вставити у вікно команд за допомогою клавіатури, натисніть клавішу alt-пробіл, e, p.
  • Щоб повторити останню команду, що почалася з літери "d" (наприклад, це може бути будь-який символ), натисніть d, а потім F8.

Остання порада може здатися незрозумілою, але коли ви проводите багато часу в консолі, це може бути набагато швидше і простіше, ніж натиснути стрілку вгору або F8 кілька разів.


1

У цій темі розміщено кілька чудових порад!

На мою думку, розміщення заміни CMD - це скоріше "Off Topic". Але це, здається, тут добре, тому я можу додати ColorConsole до списку.

Інтерфейс із вкладками , меню улюблених команд , Копіювати / Вирізати та вставляти та дійсно експорт HTML - дуже корисні функції, які я більше не хочу пропускати.

ps: спробуйте це в темі "Must have Firefox addons": Lads, get Opera, у неї вбудовані смаколики! :)



0

Я погоджуюся з пропозицією використати повноваження. Крім того, я вважаю надзвичайно корисним налаштування функцій та псевдонімів для зменшення загальних завдань до меншої кількості набраних літер.

Наприклад, щоб запустити http-посилання, я налаштував це у своєму профілі повноважень:

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

а потім я просто набираю, browseщоб відкрити google або browse http://....відкрити певне посилання

Ще один приклад переліку файлів чи каталогів:

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

А потім я використовую lsaдля показу всіх елементів у каталозі, включаючи приховані елементи. Використовуйте laабо llяк ще коротші псевдоніми.

Я використовую, lsdщоб перелічити лише папки, lsfлише список файлів, latсписок упорядкованих за часом останнього запису та часовий latrсписок у зворотному напрямку.
fiбула створена як проста заміна команди unix find, просто рекурсивно шукайте ім'я файлу.


0

Встановіть замінник Xplorer2 Windows Explorer . Він включає в себе інструмент командного рядка, який дозволяє виконувати всі функції командного рядка НАЗАД з графічним інтерфейсом Windows, наприклад, використання миші, клацання правою кнопкою миші для функцій копіювання та вставки тощо. Погляньте на знімок екрана нижче.

Знімок екрана командного рядка

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.