Я хочу научиться лучше использовать командную строку в Windows, чтобы иметь больше контроля над тем, что я делаю, и просто для обучения. Главное раздражение, которое у меня есть сейчас, - это все, что я печатаю. Если я хочу выполнить операцию с файлом с большим путем, я сижу там, набирая его, по крайней мере, в течение минуты, и если я совершаю ошибку, мне нужно нажать клавишу со стрелкой вверх, пролистать всю вещь и найти что я сделал не так Есть ли инструменты, чтобы сделать это проще?
19 ответов
Вы можете использовать клавишу Tab для автоматического заполнения имен файлов. Хотя имейте в виду, что вы должны сначала набрать достаточно имени файла, чтобы однозначно идентифицировать его, иначе вам придется перетасовать неправильные совпадения. Например, у вас есть папка с этими файлами, и это ваш текущий каталог, в котором вы сидите с cmd
:
. .. Su.exe Sup.txt SuperUser.COM
если вы хотите автоматически заполнить SuperUser.COM
, вам нужно будет набрать supe
затем нажать Tab , поскольку ни один из других файлов не начинается с этих 4 символов. Обратите внимание, что если вы набрали su
а затем нажали Tab , вы можете нажать Tab еще два раза, чтобы перейти к SuperUser.COM или вы можете нажать Shift Tab, чтобы вернуться назад по списку и попасть туда.
Другой трюк - если у вас есть файл в окне проводника, вы можете перетащить его в окно cmd
и он напечатает для вас имя.
Если вы намереваетесь использовать командную строку только под Windows, вы можете использовать Windows PowerShell, поскольку она проще в использовании, чем исходная командная строка, и копирует некоторые действия из * nix-подобных терминалов. (Он также предоставляет гораздо больше функциональных возможностей, но сначала, по крайней мере для меня, это "более простая командная оболочка").
Изменить: Изменен рисунок для более "дружественного".
Вот еще несколько советов и приемов использования командной строки, в том числе:
«... перетащите n-drop файлы или папки из окна проводника в командную строку; при этом путь в кавычках будет вставлен, как если бы вы его вставили вручную ...»
Это еще один способ уменьшить количество операций печати, связанных с длинными путями к файлам.
Вот полный список действий функциональных клавиш:
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 в командной строке.
Кроме того, ознакомьтесь с командами, которые вам доступны - мне нравятся два сайта для них:www.ss64.com и www.robvanderwoude.com
Вы также можете изучить пакетный сценарий - с его помощью вы можете автоматизировать часто используемые задачи.
В этой теме есть несколько замечательных советов!
На мой взгляд, публикация замен CMD скорее «не по теме». Но, похоже, все в порядке, поэтому я могу добавить ColorConsole в список.
Интерфейс с вкладками, меню « Любимые команды», « Копировать / вырезать и вставить», а также экспорт HTML - очень полезные функции, которые я больше не хочу пропустить.
ps: попробуйте это в ветке "Должны быть аддоны Firefox": Ребята, получите Opera, в ней есть встроенные плюсы! :)
Если вы используете 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
Намного легче запомнить.
- Чтобы вставить в командное окно с помощью клавиатуры, нажмите alt-space, e, p.
- Чтобы повторить последнюю команду, начинающуюся с буквы "d" (например, это может быть любой символ), нажмите d, а затем F8.
Последний совет может показаться неясным, но когда вы проводите много времени в консоли, это может быть намного быстрее и проще, чем нажатие стрелки вверх или F8 несколько раз.
Вы можете найти «Полезные команды командной строки в Windows» из раздела «Ошибка сервера» полезными. На самом деле, есть довольно много интересных вопросов о командной строке , посмотрите.
Лично я думаю, что если вы хотите научиться использовать командную строку и не находите ее радостной, вам, вероятно, не нужно использовать командную строку.
Как только вам нужно нажать CLI, вы найдете его полезным и даже приятным. Если вы пытаетесь выполнять с ним свои повседневные задачи, то вы бьетесь головой о стену.
Когда вы ознакомитесь с командной строкой, вы можете перенести свои повседневные задачи туда только потому, что это проще, чем всегда тянуться к мышке :)
Я согласен с предложением использовать 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
чтобы открыть 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
, просто рекурсивно ищите имя файла.
Установите Windows Explorer вместо Xplorer2. Он включает в себя инструмент командной строки, который позволяет использовать все функции командной строки, в том числе с помощью графического интерфейса Windows, например использование мыши, щелчок правой кнопкой мыши для функций копирования и вставки и т.д. Посмотрите на снимок экрана ниже.