PowerShell khác với dấu nhắc lệnh của Windows như thế nào

Tác giả sysadmin, T.M.Một 21, 2022, 05:14:53 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

PowerShell khác với dấu nhắc lệnh của Windows như thế nào


Windows 7 đã thêm PowerShell, một ngôn ngữ script và shell dòng lệnh mạnh mẽ hơn so với Command Prompt. Kể từ Windows 7, PowerShell đã trở nên nổi bật hơn, thậm chí nó còn trở thành lựa chọn mặc định trong Windows 10.


PowerShell phức tạp hơn Command Prompt truyền thống, nhưng nó cũng mạnh hơn nhiều. Dấu nhắc lệnh kém hơn đáng kể so với các trình bao có sẵn cho Linux và các hệ thống tương tự Unix khác, nhưng PowerShell cạnh tranh thuận lợi. Ngoài ra, hầu hết các lệnh Dấu nhắc Lệnh đều có thể sử dụng được trong PowerShell, dù là nguyên bản hay thông qua bí danh.

1. PowerShell khác với Command Prompt như thế nào

PowerShell thực sự rất khác so với Command Prompt. Nó sử dụng các lệnh khác nhau, được gọi là  lệnh ghép ngắn trong PowerShell. Nhiều tác vụ quản trị hệ thống — từ quản lý sổ đăng ký đến WMI (Công cụ quản lý Windows) — được hiển thị thông qua lệnh ghép ngắn PowerShell, trong khi chúng không thể truy cập được từ Dấu nhắc Lệnh.

PowerShell sử dụng các ống dẫn—giống như Linux—cho phép bạn chuyển đầu ra của một lệnh ghép ngắn sang đầu vào của một lệnh ghép ngắn khác. Do đó, bạn có thể sử dụng nhiều lệnh ghép ngắn theo thứ tự để thao tác cùng một dữ liệu. Không giống như các hệ thống giống như Unix—chỉ có thể sắp xếp các luồng ký tự (văn bản) —PowerShell dẫn các đối tượng giữa các lệnh ghép ngắn. Và gần như mọi thứ trong PowerShell đều là một đối tượng, bao gồm mọi phản hồi bạn nhận được từ lệnh ghép ngắn. Điều này cho phép PowerShell chia sẻ dữ liệu phức tạp hơn giữa các lệnh ghép ngắn, hoạt động giống ngôn ngữ lập trình hơn.

PowerShell không chỉ là một trình bao. Đó là một môi trường tập lệnh mạnh mẽ mà bạn có thể sử dụng để tạo các tập lệnh phức tạp nhằm quản lý các hệ thống Windows dễ dàng hơn nhiều so với những gì bạn có thể làm với Dấu nhắc Lệnh.

Command Prompt về cơ bản chỉ là một môi trường kế thừa được chuyển tiếp trong Windows—một môi trường sao chép tất cả các lệnh DOS khác nhau mà bạn tìm thấy trên hệ thống DOS. Nó rất hạn chế, không thể truy cập nhiều tính năng quản trị hệ thống của Windows, khó soạn thảo các tập lệnh phức tạp hơn, v.v. PowerShell là một môi trường mới dành cho quản trị viên hệ thống Windows, cho phép họ sử dụng môi trường dòng lệnh hiện đại hơn để quản lý Windows.

2. Khi nào bạn muốn sử dụng PowerShell

Vì vậy, khi nào một người dùng Windows trung bình muốn sử dụng PowerShell?

Nếu bạn hiếm khi kích hoạt Dấu nhắc Lệnh để chạy  lệnh  hoặc   lệnh không thường xuyên pingipconfig, thì bạn thực sự không cần phải chạm vào PowerShell. Nếu bạn cảm thấy thoải mái hơn khi gắn bó với Dấu nhắc Lệnh, thì nó sẽ không đi đến đâu cả. Điều đó nói rằng, hầu hết các lệnh đó cũng hoạt động tốt trong PowerShell, nếu bạn muốn dùng thử.

Tuy nhiên, PowerShell có thể là một môi trường dòng lệnh mạnh mẽ hơn nhiều so với Command Prompt. Ví dụ: chúng tôi đã chỉ cho bạn  cách sử dụng môi trường PowerShell được tích hợp trong Windows để thực hiện thao tác tìm kiếm và thay thế  nhằm đổi tên hàng loạt nhiều tệp trong một thư mục—điều mà thông thường sẽ yêu cầu cài đặt chương trình của bên thứ ba. Đây là điều mà người dùng Linux luôn có thể thực hiện với môi trường dòng lệnh của họ, trong khi người dùng Windows thì không.


Tuy nhiên, PowerShell không giống như  thiết bị đầu cuối Linux. Nó phức tạp hơn một chút và người dùng Windows bình thường có thể không thấy nhiều lợi ích khi chơi với nó.

Quản trị viên hệ thống sẽ muốn tìm hiểu PowerShell để họ có thể quản lý hệ thống của mình hiệu quả hơn. Và nếu bạn cần viết một tập lệnh để tự động hóa các tác vụ quản trị hệ thống khác nhau, thì bạn nên thực hiện điều đó với PowerShell.

3. PowerShell tương đương với các lệnh phổ biến

Nhiều lệnh Command Prompt phổ biến—từ  ipconfig đến  cd —hoạt động trong môi trường PowerShell. Điều này là do PowerShell chứa "bí danh" trỏ các lệnh cũ này vào các lệnh ghép ngắn mới thích hợp, chạy các lệnh ghép ngắn mới khi bạn nhập các lệnh cũ.

Dù sao thì chúng ta cũng sẽ xem qua một số lệnh Command Prompt phổ biến và các lệnh tương đương của chúng trong PowerShell—chỉ để cung cấp cho bạn ý tưởng về sự khác biệt của cú pháp PowerShell.

3.1. Thay đổi thư mục

  • DOS:  cd
  • PowerShell:  Set-Location

3.2. Liệt kê các tập tin trong một thư mục

  • DOS:  dir
  • PowerShell:  Get-ChildItem

3.3. Đổi tên một tập tin

  • DOS:  rename
  • PowerShell:  Rename-Item

Để xem liệu lệnh DOS có bí danh hay không, bạn có thể sử dụng  Get-Alias lệnh ghép ngắn. Ví dụ: việc nhập   Get-Alias cd cho bạn thấy rằng   cd thực sự đang chạy  lệnh ghép ngắn.  Set-Location


4. Tìm hiểu thêm

Bạn muốn tìm hiểu thêm về PowerShell? Đọc  loạt bài viết của chúng tôi sẽ giới thiệu cho bạn về PowerShell và giúp bạn bắt kịp tốc độ. Nếu bạn là quản trị viên hệ thống Windows, bạn nên biết nội dung này.