PowerShell phức tạp hơn Command Prompt truyền thống, nhưng nó cũng mạnh hơn nhiều. Command Prompt thấp hơn đáng kể so với các shell có sẵn cho Linux và các hệ thống giống Unix khác, nhưng PowerShell cạnh tranh thuận lợi. Ngoài ra, hầu hết các lệnh Command Prompt đều có thể sử dụng được trong PowerShell, cho dù là nguyên bản hay thông qua các bí danh.
Cách PowerShell khác với dấu nhắc lệnh
PowerShell thực sự rất khác 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 nhiệm vụ quản trị hệ thống - từ việc quản lý sổ đăng ký đến WMI (Công cụ quản lý Windows) - được hiển thị thông qua các lệnh ghép ngắn PowerShell, trong khi chúng không thể truy cập được từ Command Prompt.
PowerShell sử dụng các đường ống - giống như Linux - cho phép bạn truyền đầu ra của một lệnh ghép ngắn tới đầu vào của lệnh ghép ngắn khác. Do đó, bạn có thể sử dụng nhiều lệnh ghép ngắn để xử lý cùng một dữ liệu. Không giống như các hệ thống giống Unix - chỉ có thể tạo luồng các ký tự (văn bản) -PowerShell đối tượng đường ống giữa các lệnh ghép ngắn. Và khá nhiều thứ trong PowerShell là một đối tượng, bao gồm mọi đáp ứng bạn nhận được từ mộ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 như một ngôn ngữ lập trình.
PowerShell không chỉ là một trình bao. Đó là một môi trường kịch bản mạnh mẽ mà bạn có thể sử dụng để tạo các kịch bản phức tạp để quản lý các hệ thống Windows dễ dàng hơn nhiều so với bạn có thể với Command Prompt.
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 sẽ tìm thấy trên một hệ thống DOS. Nó bị giới hạn một cách đau đớn, không thể truy cập nhiều tính năng quản trị hệ thống Windows, khó tạo các tập lệnh phức tạp hơn, v.v. PowerShell là môi trường mới cho các 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.
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 Command Prompt để chạy thỉnh thoảng
ping
hoặc là
ipconfig
lệnh, 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 sử dụng Command Prompt, nó sẽ không đi đâu cả. Điều đó nói rằng, hầu hết các lệnh này cũng hoạt động tốt trong PowerShell, nếu bạn muốn thử nó.
Tuy nhiên, PowerShell có thể là một môi trường dòng lệnh mạnh 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ế để đổi tên hàng loạt nhiều tệp trong một thư mục - một thứ thường yêu cầu cài đặt chương trình của bên thứ ba. Đây là thứ 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 bị loại bỏ.
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 họ hiệu quả hơn. Và nếu bạn cần phải viết một kịch bản để tự động hóa các nhiệm vụ quản trị hệ thống khác nhau, bạn nên làm điều đó với PowerShell.
Tương đương PowerShell của các lệnh chung
Nhiều lệnh Command Prompt thông thường - 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 gõ các lệnh cũ.
Chúng ta sẽ đi qua một vài lệnh Command Prompt thông thường và các lệnh tương đương của chúng trong PowerShell - chỉ để cung cấp cho bạn ý tưởng về cách cú pháp của PowerShell khác nhau.
Thay đổi thư mục
-
DOS:
cd
-
PowerShell:
Set-Location
Liệt kê các tệp trong một thư mục
-
DOS:
dir
-
PowerShell:
Get-ChildItem
Đổi tên tệp
-
DOS:
rename
-
PowerShell:
Rename-Item
Để xem nếu một lệnh DOS có một bí danh, bạn có thể sử dụng
Get-Alias
cmdlet. Ví dụ: nhập
Get-Alias cd
cho bạn thấy rằng
cd
thực sự đang chạy
Set-Location
cmdlet.