Làm thế nào để giảm đau của dấu nhắc lệnh


38

Tôi muốn học cách sử dụng dấu nhắc lệnh tốt hơn trên Windows để có nhiều quyền kiểm soát hơn đối với những gì tôi làm và chỉ để trải nghiệm học tập. Khó chịu chính tôi có ngay bây giờ là tất cả các gõ. Nếu tôi muốn thực hiện một thao tác trên một tệp có một đường dẫn lớn, tôi sẽ ngồi đó gõ nó ít nhất một phút và nếu tôi mắc lỗi, tôi phải nhấn phím mũi tên lên và cuộn qua toàn bộ và tìm tôi đã làm sai điều gì. Có công cụ nào để làm điều này dễ dàng hơn không?


Tôi rất thích dấu nhắc lệnh của Windows để có tùy chọn "-o vi" mà bash thực hiện. Nó làm cho mọi thứ rất nhanh (tất nhiên khi bạn biết một chút vi)
OscarRyz

2
Hoàn thành tab! Bất kỳ thiết bị đầu cuối tử tế nào cũng sẽ có nó (và nếu nó không đặt câu hỏi về khả năng của thiết bị đầu cuối mà bạn đang ngồi).
new123456

Đặc biệt nếu bạn đang học, hãy học PowerShell. Đối với những cái rắm cũ, học một mẹo mới có thể khó khăn. Nhưng đối với người mới bắt đầu, thật tốt khi nhận được lời khuyên này sớm để hướng năng lượng học tập của bạn theo con đường tốt nhất ngay từ khi bắt đầu.
âm nhạc2myear

Câu trả lời:


33

Nếu bạn định chỉ sử dụng dấu nhắc lệnh trong Windows, bạn có thể sử dụng Windows PowerShell , vì nó dễ sử dụng hơn dấu nhắc lệnh ban đầu và sao chép một số hành vi từ các thiết bị đầu cuối giống như * nix. (Nó cũng cung cấp nhiều chức năng hơn, nhưng lúc đầu, ít nhất là với tôi, đó là "trình vỏ lệnh dễ dàng hơn").

hình ảnh của powershell

Chỉnh sửa: Thay đổi hình ảnh cho một "thân thiện" hơn.


bởi vẻ ngoài của wikipedia, bức tranh có vẻ khó hơn một chút so với những gì tôi đang sử dụng ngay bây giờ. Tôi vẫn đang loay hoay tìm hiểu các cửa sổ chứ đừng nói đến một trong những thiết bị đầu cuối * nix này nhưng tôi sẽ kiểm tra xem cảm ơn.

3
Vâng, trong trường hợp này có lẽ nó không thực sự thích nghi. Đối với tôi, như tôi đã biết các thiết bị đầu cuối * nix trước đây, quyền hạn này đã giúp tôi, vì nó cũng cung cấp rất nhiều bí danh (phím tắt) cho các lệnh * nix thông thường. Thông thường, "ls" hoạt động như "dir". Nói chung, nó cũng phù hợp hơn với "hoàn thành tab", theo ý kiến ​​của tôi, so với vỏ ban đầu, giúp điều hướng dễ dàng hơn.
Gnoupi

1
PowerShell thực sự là con đường để đi. Là người dùng cmd.exe lâu năm, tôi có thể nói với bạn rằng nó thực sự hạn chế. Khi bạn muốn làm bất cứ điều gì thông minh, cuối cùng bạn sẽ cần VBScript hoặc một cái gì đó tương tự, vì vậy bạn sẽ phải học điều đó. Mỗi lệnh có cú pháp riêng và chúng hiếm khi giống nhau, do đó bạn phải tìm hiểu từng lệnh và không thể đoán dễ dàng. PowerShell mạnh hơn và nhất quán hơn rất nhiều vì vậy bạn có thể áp dụng những gì bạn đã học được từ lệnh này sang lệnh khác.
serialhulkist

Ngoài ra, một số lệnh PoSh có các bí danh giống như các lệnh cmd để giúp quá trình chuyển đổi dễ dàng hơn. Ví dụ: dir hoạt động (bí danh là Get-ChildItem). Nhưng trong PowerShell, bạn cũng có thể điều hướng sổ đăng ký và những thứ khác.
serialhulkist

1
Ngoài ra, PowerShell có văn bản trợ giúp NHIỀU (IMO) tốt hơn. Bất cứ ai từng nói với bạn để đọc các cmdpages?
Hello71

45

Bạn có thể sử dụng Tabphím để tự động hoàn thành tên tệp. Mặc dù hãy nhớ rằng trước tiên bạn phải nhập đủ tên tệp để xác định duy nhất nó nếu không bạn sẽ phải xáo trộn thông qua các kết quả khớp không chính xác. Ví dụ: bạn có một thư mục chứa các tệp này và đó là thư mục hiện tại của bạn mà bạn đang ngồi cùng cmd:

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

nếu bạn muốn tự động hoàn tất SuperUser.COM, bạn sẽ phải gõ superồi nhấn Tab, vì không có tệp nào khác bắt đầu bằng 4 ký tự đó. Lưu ý rằng nếu bạn đã gõ suvà sau đó nhấn Tab, bạn có thể nhấn Tabhai lần nữa để đến SuperUser.COM hoặc bạn có thể nhập ShiftTabđể đi ngược qua danh sách và đến đó.

Một mẹo khác là nếu bạn có tệp trong cửa sổ explorer, bạn có thể kéo nó vào cmdcửa sổ và nó sẽ gõ tên cho bạn.


2
Điều này làm việc rất cảm ơn bạn, nhưng khi tôi lướt qua các tập tin đôi khi tôi vượt qua tôi, có cách nào để đi ngược lại không?

14
Đúng, ca làm việc :)
John T

2
Bonus thực tế: shift+ <any key that cycles through tabs/windows>luôn luôn tương đương với đảo ngược ví dụ alt-tab-> alt-shift-tab.
glenneroo

27

Dưới đây là một số mẹo và thủ thuật khác trong việc sử dụng dấu nhắc lệnh bao gồm:

"... kéo n 'thả tệp hoặc thư mục từ cửa sổ thám hiểm vào dấu nhắc lệnh; thao tác này sẽ chèn đường dẫn được trích dẫn như thể bạn đã dán thủ công ..."

Đây là một cách khác để giảm số lượng nhập liên quan đến đường dẫn tệp dài.


3
Bây giờ là hữu ích. Tôi không biết cái đó cả.
EvilChookie

1
Đã có câu trả lời ban đầu của tôi: P
John T

Điều này không hoạt động trong Windows Vista hoặc Server 2008, nhưng hoạt động trở lại trong Windows 7 và Windows Server 2008 R2. Xem superuser.com/questions/27347/what-is-conhost-exe/28897#28897 để biết một vài chi tiết.
Reuben

Một lời khuyên khác cũng rất tốt
Casebash

21

Dưới đây là danh sách đầy đủ các hành động chính của chức năng:

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
Có ai có F4 để làm việc không? Hộp thoại xuất hiện nhưng không xóa.
Charles Beattie

15

Nhấn F7 sẽ liệt kê các lệnh được thực hiện cuối cùng.

cd \ để quay lại c:thư mục


2
Hmm, không biết điều đó.
Gnoupi

MÁT MẺ! (đó là tất cả những gì tôi phải nói nhưng một câu trả lời phải dài 15 ký tự ...)
Travelling Tech Guy

Tôi sử dụng dấu nhắc lệnh mọi lúc và tôi không biết rằng F7 một - rất tiện dụng!
Justin

8

Thường thì bạn có thể giảm việc gõ bằng cách vào đúng thư mục. Bạn có thể mở một shell lệnh trong thư mục bạn nhìn thấy trong cửa sổ Explorer bằng cách thêm cmd.exe vào các liên kết loại thư mục.

(Công cụ - Tùy chọn thư mục - Loại tệp - Thư mục - Nâng cao - Mới - cmd)

Sau đó, khi bạn chọn cmd bằng cách nhấp chuột phải vào thư mục đó, cửa sổ lệnh mở sẽ có thư mục hiện tại của thư mục bạn đã nhấp vào.

văn bản thay thế


1
đối với người dùng XP, MS Power Đồ chơi cho XP cũng sẽ cung cấp cho bạn: microsoft.com/windowsxp/Doads/powertoys/Xppowertoys.mspx
akf

Tôi biết có nhiều widget khác nhau đã làm điều này cho bạn, nhưng tôi luôn thích một cấu hình tự thay thế một widget. Cảm ơn thông tin này.
âm nhạc2myear

7

Nếu Windows PowerShell quá áp đảo, cũng có một số vỏ thay thế cmd:

Và nhiều hơn nữa có thể được tìm thấy thông qua google.


+1 cho cygwin: sử dụng bộ công cụ đó có nghĩa là các thủ thuật bạn học được có thể mang theo cho các bản cài đặt Linux và ở một mức độ nhất định các HĐH khác (BSD, MacOS, ...) có các công cụ tương tự hoặc tương tự và các vỏ giống như bash-a. Mặc dù nếu powershell áp đảo, cygwin có khả năng cũng vậy.
David Spillett

+1 cho Bảng điều khiển, không phải là vỏ thay thế, nhưng là thiết bị đầu cuối tốt hơn cho các vỏ hiện có.
wfaulk

+1 cho Cygwin, nhưng trình giả lập là khủng khiếp. Sẽ đề nghị Terminator + Cygwin, trong trường hợp đó.
jamesh

Tôi là một fan hâm mộ lớn của TCC (đã có từ 4DOS, khoảng năm 1989); Tôi rất thích nó cho PowerShell. Và bây giờ TCC / LE là phần mềm miễn phí, tôi có thể gửi các tập lệnh .BTM hoàn tất với cài đặt TCC :-) Lưu ý rằng PowerCMD và Console không phải là bộ xử lý lệnh thay thế, mà là các thiết bị đầu cuối thay thế. Cá nhân, tôi sử dụng Bảng điều khiển với nhiều tab, mỗi tab chứa phiên TCC (hoặc Cmd hoặc Cygwin).
billdehaan

andlinux.org andLinux thân thiện với người dùng hơn nhiều so với Cygwin.

7

Một cái gì đó tôi sử dụng liên tục trong khi sử dụng dấu nhắc lệnh là mũi tên lên (và mũi tên xuống) để cuộn qua các lệnh được sử dụng gần đây. Đặc biệt là khi tôi đã nhập một lệnh dài và chỉ muốn chỉnh sửa một phần của nó mà không cần gõ lại.

Một ví dụ ngắn, nếu bạn:

c:\>ping 192.168.1.1

Và sau đó muốn ping một địa chỉ tương tự khác, bạn chỉ cần nhấn mũi tên lên. Lệnh xuất hiện trên dấu nhắc với con trỏ ở cuối. Điều này giúp bạn dễ dàng sao lưu lại một lần và thay đổi địa chỉ thành 192.168.1.2 hoặc một cái gì đó tương tự.


4

Tôi đề nghị bạn sử dụng dấu nhắc lệnh.

Tôi biết, nó có vẻ lạc quan, nhưng điều này là nghiêm trọng --- nếu không ngay lập tức hữu ích --- lời khuyên. Có rất nhiều điều để biết, và để hấp thụ nó sâu sắc, bạn phải sử dụng nó nhiều lần.


9
Vâng, anh ấy muốn, nhưng anh ấy muốn biết những gì anh ấy có thể làm với nó, tôi nghĩ. Bởi vì "bruteforcing", các lệnh có sẵn có thể mất một thời gian.
Gnoupi

Tôi đã học được dấu nhắc lệnh bằng cách viết một kịch bản lô triển khai hệ thống đầy tham vọng. Tôi đã cố gắng kết hợp mọi tính năng mà tôi có thể nghĩ rằng nó sẽ có lợi cho nhiệm vụ mong muốn chỉ cần đặt câu hỏi trên các diễn đàn và những người khác mà tôi biết cho đến khi nó hoạt động. 1500 dòng và rất nhiều kinh nghiệm tốt mà tôi vẫn sử dụng.
nhạc2myear

@ music2myear bạn 28, đủ tuổi. Bạn đã từng học DOS ở đâu?
barlop

Cha tôi đã mua chiếc máy tính đầu tiên của chúng tôi khi tôi lên 10. DOS 4, tôi đoán là vậy và Win 3.1. Tôi chỉ quan tâm đến việc vẽ các ứng dụng và những trò chơi nào nó có thể chơi. Mãi đến năm 98 tôi mới có máy tính để học kỹ thuật. Và mãi đến khi hệ thống đó bắt đầu có vấn đề và tôi phải tự sửa nó rằng tôi thực sự thích công nghệ và máy tính. Đó là vào năm 2003, tôi đã có một công việc làm hỗ trợ CNTT và xây dựng tập lệnh bó mà tôi đã đề cập trước đó. Tôi chỉ là một người khởi đầu muộn theo tiêu chuẩn đam mê.
nhạc2myear

4

Bật chế độ chỉnh sửa nhanh để:

  • Sao chép văn bản bằng cách: chọn văn bản + ENTER
  • Dán mã bằng cách nhấn chuột phải.

nhập mô tả hình ảnh ở đây

Tôi cũng thay đổi Phông chữ và bố cục thành một cái gì đó dễ chịu hơn so với bản đồ bit mặc định.

nhập mô tả hình ảnh ở đây

Cuối cùng thêm nhiều hàng và cột vào cửa sổ chỉnh sửa và nhiều hàng hơn vào bộ đệm.

nhập mô tả hình ảnh ở đây

Ảnh chụp màn hình bằng tiếng Tây Ban Nha, nhưng chúng chính xác ở cùng một nơi trong tiếng Anh


1
Thay đổi độ rộng của cửa sổ giao diện điều khiển là một trong những điều đầu tiên tôi làm trên máy tính mới.
Justin

+1 Chiều cao mặc định cũng vô dụng.
glenneroo

2

Chắc chắn lấy một bản sao của Cygwin và thêm thư mục \ bin của nó vào biến PATH của bạn. Nó giống như một dấu nhắc lệnh có thể sử dụng!

Nhưng thực sự, cách duy nhất để làm quen với nó là làm quen với nó, vì vậy hãy sử dụng nó!


Tôi có một thời gian khó khăn khi sống với các cửa sổ mà không có dấu nhắc của mình
jweede

1

Nếu bạn đang sử dụng XP (không biết về Vista), bạn có thể tải xuống một powertoy có thêm mục nhập menu "Mở cửa sổ lệnh tại đây" vào menu ngữ cảnh thư mục explorer của bạn.

Một cái gì đó khác mà tôi thấy hữu ích là ngừng sử dụng các đường dẫn mặc định của windows cho mọi thứ. Chúng chỉ quá khó nhớ và không gian có thể trở thành một vấn đề. Sử dụng một cái gì đó giống như cấu trúc thư mục của linux có thể là một trình tiết kiệm thời gian thực. Thư mục của tôi trông giống như thế này (bằng ví dụ):

 - 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

Cách dễ nhớ hơn.


5
Vista (Ultimate Edition ít nhất) có điều này theo mặc định, nhưng ẩn khỏi người dùng trung bình. Chỉ cần giữ phím shift và sau đó nhấp chuột phải vào một thư mục trong ngăn Explorer bên phải và bạn sẽ thấy "Mở cửa sổ lệnh ở đây".
GAThrawn

@GAThrawn, tôi có Vista Home Premium và tôi xác nhận rằng tôi cũng đã thấy tính năng này.
Shivasubramanian

Có phải "C: \ usr \ bin \ 7zip" nhanh hơn nhiều so với "c: \ Program Files \ 7zip" không? Về mặt tổ hợp phím .. c: \ prog <tab> \ 7zip so với c: \ usr \ bin \ 7zip có thể các tệp chương trình nhanh hơn để truy cập?
barlop

1

Cá nhân tôi nghĩ rằng nếu bạn muốn học cách sử dụng Dấu nhắc Lệnh và không thấy vui, có lẽ bạn không cần phải sử dụng Dấu nhắc Lệnh.

Ngay khi bạn cần đạt CLI, bạn sẽ thấy nó hữu ích và thậm chí dễ chịu. Nếu bạn đang cố gắng thực hiện các nhiệm vụ hàng ngày của mình với nó, thì bạn đang đập đầu vào tường.

Khi bạn đã quen với dấu nhắc lệnh, bạn có thể di chuyển các tác vụ hàng ngày của mình sang đó chỉ vì việc tiếp cận với chuột dễ dàng hơn :)


Thật vậy. Sự cần thiết giống quen thuộc.
J. Polfer

1

Tận dụng các biến môi trường.

Ví dụ: thay vì nhập c: \ Documents và settings \ username, bạn chỉ cần sử dụng% userprofile%. Để biết danh sách các biến môi trường tiêu chuẩn, nhập SET và nhấn enter trên dấu nhắc lệnh.

Ngoài ra, hãy làm quen với các lệnh có sẵn cho bạn - Tôi thích hai trang web cho chúng: www.ss64.comwww.robvanderwoude.com

Bạn cũng có thể tìm hiểu kịch bản hàng loạt - bằng cách đó, bạn có thể tự động hóa các tác vụ được sử dụng thường xuyên.


1
  • Để dán vào cửa sổ lệnh bằng bàn phím, nhấn alt-space, e, p.
  • Để lặp lại lệnh cuối cùng bắt đầu bằng chữ "d" (ví dụ: nó có thể là bất kỳ ký tự nào) nhấn d và sau đó F8.

Mẹo thứ hai nghe có vẻ khó hiểu, nhưng khi bạn dành nhiều thời gian trong bảng điều khiển, nó có thể nhanh hơn và dễ dàng hơn nhiều so với việc nhấn mũi tên lên hoặc F8 nhiều lần.


1

Có một số lời khuyên tuyệt vời được đăng trong chủ đề này!

Theo ý kiến ​​của tôi, việc đăng thay thế CMD là 'Tắt chủ đề'. Nhưng nó có vẻ ổn ở đây vì vậy tôi có thể thêm ColorConsole vào danh sách.

Các giao diện theo thẻ , lệnh yêu thích trình đơn, Copy / Cut & Paste và thực sự xuất HTML là các tính năng rất hữu ích mà tôi không muốn bỏ lỡ nữa.

ps: hãy thử điều này trong chuỗi "Phải có addons Firefox": Lads, lấy Opera, nó có các tính năng tốt được tích hợp sẵn! :)



0

Tôi đồng ý với đề nghị sử dụng powershell. Ngoài ra, tôi thấy rất hữu ích khi thiết lập các hàm và bí danh để giảm các tác vụ thông thường xuống ít chữ hơn được gõ.

Ví dụ: để khởi chạy một liên kết http, tôi thiết lập liên kết này trong hồ sơ quyền hạn của mình:

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

và sau đó tôi chỉ cần gõ browseđể mở google hoặc browse http://....để mở một liên kết cụ thể

Một ví dụ khác để liệt kê các tập tin hoặc thư mục:

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

Và sau đó tôi sử dụng lsađể hiển thị tất cả các mục trong một thư mục, bao gồm các mục ẩn. Sử dụng lahoặc llnhư các bí danh thậm chí ngắn hơn.

Tôi sử dụng lsdđể liệt kê chỉ các thư mục, lsfchỉ liệt kê các tệp, latliệt kê theo thứ tự thời gian ghi cuối cùng và latrliệt kê theo thời gian theo hướng ngược lại.
fiđã được thiết lập như là một thay thế đơn giản cho findlệnh unix , chỉ cần tìm đệ quy một tên tệp.


0

Cài đặt Xplorer2 thay thế Windows Explorer . Nó bao gồm một công cụ nhắc lệnh cho phép tất cả các chức năng của dấu nhắc lệnh CONGNG VỚI GUI Windows như sử dụng chuột, nhấp chuột phải cho các chức năng sao chép-dán, v.v. Hãy xem ảnh chụp màn hình bên dưới.

Lệnh Prompt Ảnh chụp màn hình

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.