Command Prompt (cmd) và PowerShell khác nhau như thế nào?

Nếu đang sử dụng Windows 11 hoặc Windows 10, bạn sẽ thấy PowerShell và Windows Terminal được cài đặt sẵn. Cả hai đều là giao diện dòng lệnh cho phép bạn nhập lệnh văn bản để thực hiện nhiều tác vụ khác nhau, nhưng điều gì khiến chúng khác nhau?

PowerShell là một cải tiến so với Command Prompt

Giao diện Windows PowerShell trong Windows 11
Giao diện Windows PowerShell trong Windows 11

Microsoft đã giới thiệu PowerShell vào năm 2006 để nâng cấp những gì mọi người có thể làm trong Command Prompt lên một tầm cao mới. Vì Microsoft đã xây dựng PowerShell dựa trên .NET Framework nên bạn có thể sử dụng các ngôn ngữ .NET với những lệnh dựa trên văn bản để tương tác với hệ điều hành của mình. Ngôn ngữ phổ biến nhất cho PowerShell là C#, cho phép bạn khai thác các tính năng nâng cao của công cụ và tăng năng suất.

Ngoài các lệnh tiêu chuẩn, PowerShell còn có hơn 200 cmdlet, một loại lớp C# đặc biệt mà Microsoft định nghĩa là "các lệnh nhẹ". Con số có thể thay đổi tùy thuộc vào các mô-đun được cài đặt trong hệ thống của bạn. Khi PowerShell thực thi chúng, chúng sẽ trả về một đối tượng .NET mà bạn có thể thao tác. Ví dụ, điều này cho phép bạn không chỉ tương tác với các chương trình trên máy tính được hỗ trợ bởi .NET Core mà còn xử lý đầu vào của chúng (không cần bất kỳ code phức tạp nào).

Hơn nữa, mặc dù PowerShell có thể chạy các file batch theo cách tương tự như CMD, nhưng nó cũng cho phép tự động hóa tốt hơn bằng cách cho phép bạn lên lịch các tác vụ trong PowerShell để tiết kiệm thời gian. Bằng cách đó, bạn có thể lập kế hoạch hành động của mình tốt hơn.

Windows Terminal là trình giả lập terminal

Windows Terminal với danh sách drop-down cấu hình được mở rộng
Windows Terminal với danh sách drop-down cấu hình được mở rộng

Microsoft đã giới thiệu Windows Terminal như một trình giả lập terminal vào năm 2019 (trong kỷ nguyên của Windows 10). Trong ngữ cảnh này, nó có thể mô phỏng hành vi và chức năng của các shell dòng lệnh, bao gồm Command Prompt và PowerShell. Ứng dụng này đáng chú ý nhất khi đưa một công cụ dòng lệnh lên Windows mà cộng đồng Linux đã ghen tị từ lâu: BASH (Bourne Again SHell).

Để chạy BASH và các Linux shell khác, bao gồm ZSH, FISH và Ksh (KornShell) trong Windows Terminal, trước tiên bạn phải bật Windows Subsystems for Linux (WSL). Bạn cũng có thể chạy Azure Cloud Shell trong Windows Terminal, điều này cho phép bạn quản lý tài nguyên Azure của mình từ bên trong Windows Terminal.

Giao diện người dùng và khả năng tùy chỉnh

Trang cài đặt của Windows Terminal
Trang cài đặt của Windows Terminal

Một trong những tính năng đáng chú ý nhất của Windows Terminal là việc chuyển sang giao diện tab hiện đại cho phép bạn chạy nhiều tiện ích dòng lệnh cạnh nhau. Chẳng hạn, bạn có thể có nhiều phiên bản Command Prompt chạy đồng thời trong khi sử dụng PowerShell, BASH hoặc Azure.​​​​ Đây là điều mà PowerShell không thể làm được.

Giao diện người dùng của cả PowerShell và Windows Terminal đều có thể tùy chỉnh. Trong PowerShell, ở mức độ thấp hơn, bạn có thể tùy chỉnh môi trường một cách trực quan bằng cách thay đổi phông chữ, màu phông chữ và lời nhắc. Bạn có thể tùy chỉnh Windows Terminal theo nhiều cách khác nhau, bao gồm điều chỉnh cài đặt cấu hình bắt đầu, cách phối màu, tương tác và tùy chọn hiển thị.

Lưu ý rằng bạn cũng có thể tùy chỉnh PowerShell bằng cách sử dụng các bảng màu đặt sẵn trong Windows Terminal.

Hỗ trợ Unicode và UTF

Trong Windows Terminal, bạn có thể sử dụng biểu tượng cảm xúc và ký tự từ các ngôn ngữ khác nhờ hỗ trợ Unicode và UTF. Khi bạn kết hợp tính năng này với công cụ kết xuất văn bản GPU được tăng tốc mới, nó có thể hiển thị các ký tự không chuẩn mà không gặp vấn đề gì. Ví dụ, bạn có thể sao chép biểu tượng cảm xúc từ một trang web và dán nó vào Windows Terminal và nó sẽ hiển thị chính xác.

PowerShell cũng có hỗ trợ Unicode và UTF, nhưng bạn có thể gặp vấn đề về mã hóa, chẳng hạn như lỗi và hạn chế với các ký tự cụ thể. Điều này đặc biệt đúng đối với các ký tự từ những ngôn ngữ và biểu tượng cảm xúc khác. Windows Terminal cung cấp trải nghiệm tốt hơn nhiều về vấn đề này.

Sự đóng góp cho cộng đồng

Windows Terminal và PowerShell là các dự án nguồn mở có cộng đồng tích cực tham gia vào quá trình phát triển của chúng. Cả hai cộng đồng đều đam mê các dự án và sẽ liên tục hỗ trợ ứng dụng của họ, cải thiện hiệu suất và bổ sung thêm nhiều tính năng hơn. Ngoài ra còn có tài liệu phong phú dành cho Windows Terminal và PowerShell, vì vậy bạn sẽ thấy không thiếu các diễn đàn và hướng dẫn để giúp bạn sử dụng chúng một cách hiệu quả.

Windows Terminal là tất cả những gì bạn cần!

PowerShell giúp mang sức mạnh của .NET Framework vào môi trường dòng lệnh, trong khi Windows Terminal mô phỏng nhiều shell khác nhau, bao gồm cả các shell từ Linux, trên máy tính Windows của bạn. Hơn nữa, Terminal có nhiều tùy chọn tùy chỉnh hơn và hỗ trợ Unicode/UTF tốt hơn PowerShell.

Mặc dù mỗi công cụ này đều có sức mạnh riêng nhưng không cần phải mở PowerShell bằng Windows Terminal vì nó cũng có thể mô phỏng môi trường Shell.

Xem thêm:

Thứ Hai, 18/12/2023 15:44
4,810 👨 16.939
0 Bình luận
Sắp xếp theo
    ❖ Kiến thức cơ bản