Как уменьшить боль в командной строке
Я хочу научиться лучше использовать командную строку в Windows, чтобы иметь больше контроля над тем, что я делаю, и просто для обучения. Главное раздражение, которое у меня есть сейчас, - это все, что я печатаю. Если я хочу выполнить операцию с файлом с большим путем, я сижу там, набирая его, по крайней мере, в течение минуты, и если я совершаю ошибку, мне нужно нажать клавишу со стрелкой вверх, пролистать всю вещь и найти что я сделал не так Есть ли инструменты, чтобы сделать это проще?
19 ответов
Если вы намереваетесь использовать командную строку только под Windows, вы можете использовать Windows PowerShell, поскольку она проще в использовании, чем исходная командная строка, и копирует некоторые действия из *nix-подобных терминалов. (Он также предоставляет гораздо больше функциональных возможностей, но сначала, по крайней мере для меня, это "более простая командная оболочка").
Изменить: Изменен рисунок для более "дружественного".
Вы можете использовать клавишу Tab для автоматического заполнения имен файлов. Хотя имейте в виду, что вы должны сначала набрать достаточно имени файла, чтобы однозначно идентифицировать его, иначе вам придется перетасовать неправильные совпадения. Например, у вас есть папка с этими файлами, и это ваш текущий каталог, с которым вы сидите cmd
:
,.. Su.exe Sup.txt SuperUser.COM
если вы хотели автозаполнения SuperUser.COM
, вам придется набрать supe
затем нажмите Tab, поскольку ни один из других файлов не начинается с этих 4 символов. Обратите внимание, что если вы набрали su
и затем нажмите Tab, вы можете нажать Tab еще два раза, чтобы добраться до SuperUser.COM, или вы можете нажать ShiftTab, чтобы вернуться назад по списку и попасть туда.
Еще один трюк: если у вас есть файл в окне проводника, вы можете перетащить его в cmd
окно, и он напечатает имя для вас.
Вот еще несколько советов и приемов использования командной строки, в том числе:
"... перетащите и удалите файлы или папки из окна проводника в командную строку; при этом путь в кавычках будет вставлен, как если бы вы его вставили вручную..."
Это еще один способ уменьшить количество операций печати, связанных с длинными путями к файлам.
Вот полный список действий функциональных клавиш:
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:”
Нажатие F7 выведет список последних выполненных команд.
cd \
чтобы вернуться к c:
каталог.
Часто вы можете уменьшить количество набрав, находясь в правильном каталоге. Вы можете открыть командную оболочку в каталоге, который вы видите в окне проводника, добавив cmd.exe в ассоциации типов папок.
(Инструменты - Параметры папки - Типы файлов - Папка - Дополнительно - Новый - cmd)
Затем, когда вы выберете cmd, щелкнув правой кнопкой мыши по этой папке, в открывшемся окне команд будет текущий каталог, в котором вы щелкнули.
Если Windows PowerShell слишком перегружен, есть также несколько сменных оболочек cmd:
- TCC / LE по адресу http://www.softpedia.com/get/Desktop-Enhancements/Shell-Replacements/TCC-LE.shtml
- PowerCmd по адресу http://www.powercmd.com/
- Консоль на http://sourceforge.net/projects/console/
- Если вы работаете в Linux, вы можете запустить Bash (или tcsh, или ksh, и т. Д.), Используя Cygwin.
И многое другое можно найти через Google.
При использовании командной строки я постоянно использую стрелку вверх (и стрелку вниз) для прокрутки недавно использованных команд. Особенно, когда я ввел длинную команду и хочу только отредактировать некоторую ее часть, не вводя ее повторно.
Короткий пример, если вы:
c:\>ping 192.168.1.1
А затем хотите пропинговать другой подобный адрес, вы можете просто нажать стрелку вверх. Команда появляется в приглашении с курсором в конце. Это позволяет с легкостью вернуться на одну позицию назад и изменить адрес на 192.168.1.2 или что-то подобное.
Включить режим быстрого редактирования, чтобы:
- Скопируйте текст: выберите текст + ENTER
- Вставьте код, нажав правую кнопку мыши.
Я также изменяю шрифт и макет на что-то более приятное, чем битовая карта по умолчанию.
Наконец, добавьте больше строк и столбцов в окне редактирования и больше строк в буфер.
Скриншоты на испанском, но они точно в том же месте на английском
Я предлагаю вам использовать командную строку.
Я знаю, это кажется шутливым, но это серьезный - если не сразу полезный - совет. Есть много того, что нужно знать, и чтобы глубоко его освоить, вы должны использовать его снова и снова.
Обязательно возьмите копию Cygwin и добавьте ее папку \bin в переменную PATH. Это как удобная командная строка!
Но на самом деле, единственный способ привыкнуть к этому - привыкнуть к нему, так что используйте его!
Используйте переменные среды.
Например, вместо ввода c:\documents and settings\username вы можете просто использовать%userprofile%. Чтобы получить список стандартных переменных среды, введите SET и нажмите Enter в командной строке.
Кроме того, ознакомьтесь с командами, которые вам доступны - мне нравятся два сайта для них: http://www.ss64.com/ и http://www.robvanderwoude/
Вы также можете изучить пакетный скриптинг - с его помощью вы можете автоматизировать часто используемые задачи.
Если вы используете 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
Намного легче запомнить.
Лично я думаю, что если вы хотите научиться использовать командную строку и не находите ее радостной, вам, вероятно, не нужно использовать командную строку.
Как только вам нужно нажать CLI, вы найдете его полезным и даже приятным. Если вы пытаетесь выполнять с ним свои повседневные задачи, то вы бьетесь головой о стену.
Когда вы ознакомитесь с командной строкой, вы можете перенести свои повседневные задачи туда только потому, что это проще, чем всегда тянуться к мышке:)
Вы можете найти "Полезные команды командной строки в Windows" из раздела "Ошибка сервера" полезными. На самом деле, есть довольно много интересных вопросов о командной строке, посмотрите.
В этой теме есть несколько замечательных советов!
На мой взгляд, публикация замен CMD скорее "не по теме". Но, похоже, все в порядке, поэтому я могу добавить ColorConsole в список.
Интерфейс с вкладками, меню " Любимые команды", " Копировать / вырезать и вставить", а также экспорт HTML - очень полезные функции, которые я больше не хочу пропустить.
ps: попробуйте это в ветке "Должны быть аддоны Firefox": Ребята, получите Opera, в ней есть встроенные плюсы!:)
- Чтобы вставить в командное окно с помощью клавиатуры, нажмите alt-space, e, p.
- Чтобы повторить последнюю команду, начинающуюся с буквы "d" (например, это может быть любой символ), нажмите d, а затем F8.
Последний совет может показаться неясным, но когда вы проводите много времени в консоли, это может быть намного быстрее и проще, чем нажатие стрелки вверх или F8 несколько раз.
Я согласен с предложением использовать powershell. Кроме того, я нахожу невероятно полезным настраивать функции и псевдонимы, чтобы сократить общие задачи до меньшего количества набираемых букв.
Например, чтобы запустить ссылку http, я настроил это в своем профиле powershell:
function browse-url { param($url="http://www.google.com/"); (new-object -com shell.application).ShellExecute($url); }
set-alias -name "browse" -value "browse-url"
а потом я просто набираю browse
открыть гугл, или 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
Команда, просто рекурсивно искать имя файла.
Установите Windows Explorer вместо Xplorer2. Он включает в себя инструмент командной строки, который позволяет использовать все функции командной строки, в том числе с помощью графического интерфейса Windows, такие как использование мыши, щелчок правой кнопкой мыши для функций копирования и вставки и т. Д. Посмотрите на снимок экрана ниже.