Apakah Windows PowerShell sekuat dan seefisien Linux ' terminal
?
Orang offline memberi tahu saya, tanpa menjelaskan banyak hal, bahwa Windows PowerShell adalah upaya untuk membuat administrator Unix merasa lebih nyaman menggunakan Windows. Tapi saya kira, mereka akan nyaman hanya jika memiliki (atau hampir) efisiensi yang sama.
linux
terminal
powershell
lelaki yg tdk terpelajar
sumber
sumber
People offline tell me ... that Windows Powershell is an attempt to make UNIX administrators feel more comfortable using Windows.
Orang-orang itu tidak menggunakan Unix atau Powershell.Jawaban:
Nah, masalah pertama Anda adalah Anda membandingkan shell (PowerShell) dengan terminal. Di Linux, terminal adalah sesuatu yang mengirim dan menerima I / O berbasis karakter dan diasumsikan memiliki pengguna interaktif di belakangnya (dengan kata lain, itu adalah aplikasi GUI yang dulu berisi shell). Salah satu cangkang yang paling umum dijalankan dalam Terminal Ubuntu adalah Bash , tetapi ada yang lain.
Sungguh, hal yang benar untuk dikatakan adalah bahwa PowerShell adalah Windows yang mengekspos banyak model objek WMI , COM dan .NET dalam lingkungan baris perintah yang interaktif dan skrip - dan bahwa lingkungan baris perintah ini terus meminjam banyak konsep - seperti pipa dan I / O redirection - dari shell Unix, seperti DOS lama (2.0 dan lebih tinggi)
command.com
dancmd.exe
lakukan. Pipeline bekerja dengan objek di PowerShell. Anda dapat melakukan hal-hal seperti membuat HTML dan mungkin spreadsheet Excel dengan cepat jika Anda cukup tahu. Ini tentu saja merupakan upgrade / penggantian daricmd.exe
shell lama yang tidak banyak berubah dari Windows NT 4.0 .Mengenai sintaks, ini kurang seperti shell Unix (meskipun akhirnya tidak ada cmdlet yang digunakan
/
sebagai indikator saklar atau parameter), tetapi ada banyak alias untuk perintah Unix klasik - seperti memasukkanls
di jendela PowerShell akan bekerja sepertidir
. Tapi ini hanya alias ("Get-Alias" daftar ini?).Mengenai kemampuan PowerShell, Anda benar-benar memiliki kemampuan yang sama, secara skrip-satunya, dari VBScript dan CScript - meskipun keduanya .NET.
Satu hal yang tidak harus dilakukan oleh orang-orang Unix ketika menggunakan Bash sebagian besar waktu adalah menjadi akrab dengan programmer atau objek model objek yang mungkin sangat rumit, yang diperlukan untuk banyak tugas PowerShell canggih dan sederhana. Tetapi ini hanya mungkin karena ada konvensi yang jelas tentang output teks langsung untuk banyak perintah POSIX standar . Windows tidak memiliki tradisi ini - sepertinya Anda lebih suka menggunakan
mmc
konsol untuk tugas administrasi, dengan perintah yang ditambahkan di sana-sini selama bertahun-tahun. Selain itu, banyak terkenal utilitas Unix yang kompleks dan membutuhkan beberapa studi sebelum digunakan -rsync
,wget
, dan banyak lainnya. Efisiensi mungkin merupakan fungsi dari seberapa baik seseorang mengetahui alat yang mereka gunakan lebih dari apa pun.sumber
Windows PowerShell dan Unix shell adalah dua hal yang berbeda dengan kelebihan di keduanya.
Unix (shell) memiliki filosofi bahwa semuanya adalah file. Input dan output dari perintah Unix dapat diakses seperti file. Ini membuat perintah chaining sangat sederhana dan menggunakan kembali output dari satu perintah oleh yang lain adalah kekuatan shell Unix.
Dengan Windows PowerShell, sejauh yang saya tahu, semuanya adalah objek. Anda bisa meneruskan hasil perintah ke yang lain sebagai objek. Ini bisa sangat kuat, tetapi tidak memiliki konsep Unix yang sederhana.
Saya tidak percaya bahwa PowerShell seefisien shell Unix, tetapi yang lain percaya itu.
Tetapi perbandingannya bisa diperdebatkan, karena Windows bukan sistem * nix, sehingga konsep * nix tidak berlaku. Dibandingkan dengan MS-DOS , PowerShell adalah peningkatan besar.
sumber
|
,<
atau>
.