Windows

PowerShell vs CMD – Sự khác nhau giữa PowerShell và CMD

Nếu bạn là người yêu thích công nghệ, hay nghịch máy tính, chắn hẳn bạn đã từng sử dụng qua Command Prompt (CMD) hay PowerShell. Đây là 2 công cụ mạnh mẽ giúp bạn thiết đặt hay khắc phục sự cố máy tính,.. Nhưng bạn có biết gì về CMDPowerShell ? Sự khác nhau giữa PowerShell và CMD là gì.

Trong bài viết này, chúng ta sẽ cùng tìm hiểu về sự khác nhau giữa PowerShell và CMD. Bạn cũng sẽ biết được sự khác biệt trong cấu trúc lệnh giữa CMD và PowerShell. Và công dụng của chúng để lựa chọn cái nào phù hợp khi sử dụng.

Bài viết được dịch lại từ blog TechLila, nếu muốn xem bài viết gốc bạn có thể xem ở đây.

Sơ lược lịch sử PowerShell vs CMD:

1.Command Prompt (CMD)

Command Prompt là một trình biện dịch dòng lệnh. Nó tồn tại trên hệ điều hành Windows kể từ khi Windows 95. Vào thời điểm đó, nó không được gọi là “Command Prompt” mà chỉ là “Cmd.exe” cho phép người dùng tương tác với hệ điều hành thông qua các dòng lệnh nhất định. Và sau đó, đến thời Windows NT nó được mạng tên là “Command Prompt“.

Trên lý thuyết, nó gần giống như COMMAND.COM (hay tên gọi phổ biến là MS-DOS) với rất nhiều cải tiến bên trong.

PowerShell vs CMD - Sự khác nhau giữa PowerShell và CMD
Source: TechLila

Mặc dù command prompt đã là kỹ thuật shell nhưng nó có nhiều nhược điểm. Thứ nhất, chương trình Shell không thể giúp tự động hóa tất cả khía cạnh của chức năng GUI. Thứ hai, nó không hỗ trợ tạo các script (kịch bản) phức tạp.

2.PowerShell

Để khắc phục những nhược điểm của Command prompt, Microsoft đã bắt đầu phát triển một chương trình Shell mới được gọi là Monad, nó mạnh mẽ hơn nhiều so với Command prompt (có thể thực hiện nhiều tác vụ mà CMD không thể).

PowerShell vs CMD - Sự khác nhau giữa PowerShell và CMD
Source: TechLila

Sau đó, trong năm 2006 nó đã được đổi tên thành Microsfot PowerShell. Và gần đây (trong năm 2016), PowerShell đã trở thành mã nguồn mở với sự hỗ trợ đa nền tảng.

Các chức năng

Sự khác biệt về mặt kỹ thuật chỉ có ý nghĩa đối với những người muốn quản lý và tự động hóa các tác vụ (task) nhất định bằng cách tương tác với hệ điều hành thông qua giao diện dòng lệnh.

Nếu bạn không biết ngôn ngữ lập trình là gì – việc biết những khác biệt về mặt kỹ thuật của chúng sẽ không giúp được bạn.

PowerShell sử dụng một bộ các lệnh khác nhau được gọi là cmdlets. Bạn có thể thử kiểm soát nhiều tác vụ quản trị hệ thống với PowerShell. Tuy nhiên, bạn không thể làm tương tự thông qua Commnad prompt.

PowerShell cũng sử dụng các “pipe” – đây là cách dễ dàng để truyền tải từ lệnh này đến lệnh khác. Điều này làm PowerShell mãnh mẽ hơn.

Như đã trình bày ở trên, với PowerShell bạn có thể tạo các script phức tạp mà điều này không xảy ra với command prompt.

Tóm lại, PowerShell là một môi trường dòng lệnh được cải thiện rất nhiều so với Command prompt.

Khác nhau về lệnh giữa PowerShell và CMD

Nếu bạn là người thường xuyên sử dụng chúng, thì bạn nên tham khảo những tài liệu về chúng ở đây (tiếng Anh):

Windows PowerShell

Command Prompt

Gợi ý: Xem thêm bài viết học cách sử dụng các lệnh CMD và các lệnh PowerShell tiện ích tại GocInfo.

Nếu bạn chỉ đơn giản muốn biết sự khác biệt cơ bản trong các lệnh của CMD và PoweShell thì đó là:

Khi bạn sử dụng các lệnh cơ bản như cd, dir, rename thì đây là cách lệnh trên Command prompt. Đây có thể xem là những dòng lệnh đơn giản nhất.

Xem thêm: Cách sử dụng lệnh cd, dir, rename 

Tuy nhiên, trong PowerShell, bạn có thể dùng những lệnh mô tả chi tiết hơn về tác dụng của chúng như: Set-Location, Get-Childitem, Rename-item, thay cho cd, dir, rename.

Nếu bạn đã quen với cd, dir hay rename, bạn cứ yên tâm vì chúng vẫn được sử dụng trong PowerShell một cách bình thường. Các lệnh thông thường trên CMD cũng đều có thể sử dụng tốt trên PowerShell. Nhưng một số tùy chọn như dir /x không sử dụng được trên PowerShell.

Windows PowerShell vs Command Prompt – bạn nên sử dụng cái nào ?

Nếu xét kỹ, PowerShell là một môi trường dòng lệnh tiên tiến hơn rất nhiều CMD, nó sẽ rất thích hợp cho các quản trị viên hệ thống Windows.

Nếu bạn biết viết các đoạn Script, quản lý các tác vụ tự động trên Windows và muốn có thêm các tính năng mở rộng nữa thì PowerShell sẽ thích hợp với bạn. Ngoài ra nếu bạn biết thêm về ngôn ngữ lập trình C#, PowerShell sẽ càng hữu ích với bạn.

Tuy nhiên, nếu bạn không phải là lập trình viên và bạn không biết những gì quản trị viên hệ thống làm, bạn nên sử dụng Command Prompt. Nó sẽ không lỗi thời đâu. Commanf Prompt vẫn được sử dụng bởi rất nhiều người dùng (bao gồm cả lập trình viên) để thực hiện một số công việc đơn giản như dọn dẹp ổ đĩa, chuyển ổ cứng từ GPT sang MBR,..

Bạn sẽ không cần sử dụng PowerShell nếu bạn đang khắc phục các sự cố máy tính đơn giản hoặc chỉ đơn giản là kiểm tra ping.

Kết:

Qua bài viết này, có lẽ bạn đã biết được sự khác nhau giữa PowerShell và CMD cũng như biết nên sử dụng cái nào cho phù hợp với nhu cầu của mình.

Nếu bạn yêu thích việc sử dụng những dòng lệnh này để quản lý máy tính của mình, hãy tham khảo một số lệnh hữu ích trên PowerShell và CMD tại Góc Info như:

PowerShell vs CMD – Sự khác nhau giữa PowerShell và CMD
Đành giá bài viết!

Post Comment