![Windows PowerShell은 Unix/Linux 터미널만큼 강력합니까?](https://rvso.com/image/1395271/Windows%20PowerShell%EC%9D%80%20Unix%2FLinux%20%ED%84%B0%EB%AF%B8%EB%84%90%EB%A7%8C%ED%81%BC%20%EA%B0%95%EB%A0%A5%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20.png)
윈도우인가요?파워셸Linux만큼 강력하고 효율적인가요 terminal
?
오프라인 사람들은 별다른 설명 없이 Windows PowerShell은 Unix 관리자가 Windows를 더욱 편안하게 사용할 수 있도록 하기 위한 시도라고 말합니다. 하지만 내 생각에는 효율성이 (또는 거의) 같아야 편안할 것 같습니다.
답변1
첫 번째 문제는 쉘(PowerShell)을 터미널과 비교한다는 것입니다. Linux에서 터미널은 문자 기반 I/O를 보내고 받는 것이며 그 뒤에 대화형 사용자가 있는 것으로 가정됩니다. 즉, 터미널은 다음을 수행하는 데 사용되는 GUI 응용 프로그램입니다.포함하다껍질). 가장 일반적인 쉘 실행 중 하나이내에우분투 터미널은세게 때리다, 그러나 다른 것들도 있습니다.
오프라인 사람들은 별다른 설명 없이 Windows PowerShell은 Unix 관리자가 Windows를 더욱 편안하게 사용할 수 있도록 하기 위한 시도라고 말합니다.
실제로 정확한 말은 PowerShell이 Windows에서 다음 중 많은 부분을 노출한다는 것입니다.WMI,COM그리고.그물대화형 및 스크립트 가능한 명령줄 환경의 개체 모델 - 그리고 이 명령줄 환경은 파이프라인 및 I/O 리디렉션과 같은 많은 개념을 이전 DOS(2.0 이상)와 마찬가지로 Unix 셸에서 계속 차용했으며 실제로 command.com
그랬 cmd.exe
습니다 . . 파이프라인은 PowerShell의 개체와 함께 작동합니다. HTML을 생성하는 등의 작업을 수행할 수 있습니다.뛰어나다충분히 알고 있다면 즉시 스프레드시트를 작성할 수 있습니다. 확실히 이전 cmd.exe
쉘에서 크게 변경되지 않은 업그레이드/교체입니다.윈도우 NT 4.0.
구문과 관련하여 Unix 셸과 덜 유사하지만(마지막으로 스위치나 매개 변수 표시기로 사용되는 cmdlet은 없지만 /
) 기존 Unix 명령에 대한 별칭이 많이 있습니다. ls
예를 들어 PowerShell 창에 입력하면 dir
. 그러나 이는 단지 별칭일 뿐입니다("Get-Alias"에 나열되어 있습니까?).
PowerShell의 기능과 관련하여 실제로는 스크립트 전용 방식으로 비슷한 기능이 있었습니다.VB스크립트그리고C스크립트- 둘 다 .NET보다 이전 버전이지만.
Bash를 대부분 사용할 때 Unix 사람들이 할 필요가 없는 한 가지는 프로그래머나 개체의 매우 정교한 개체 모델에 대해 잘 아는 것입니다. 이는 많은 고급 및 간단한 PowerShell 작업에 필요합니다. 그러나 이는 많은 표준에 대해 직선 텍스트 출력이라는 명확한 규칙이 있기 때문에 가능합니다.POSIX명령. Windows에는 이러한 전통이 없습니다. mmc
수년에 걸쳐 여기저기에 명령이 추가된 관리 작업을 위해 콘솔을 사용하는 것을 선호하는 것 같습니다. 게다가, 잘 알려진 많은 Unix 유틸리티는 복잡하고 사용하기 전에 약간의 연구가 필요합니다.rsync
,wget
, 그리고 많은 다른 사람들. 효율성은 아마도 다른 무엇보다 자신이 사용하는 도구를 얼마나 잘 아는지에 따라 결정될 것입니다.
답변2
Windows PowerShell과 Unix 셸은 두 가지 모두 장점이 있는 서로 다른 두 가지입니다.
유닉스(셸)에는 모든 것이 파일이라는 철학이 있습니다. Unix 명령의 입력과 출력은 파일처럼 액세스할 수 있습니다. 이는 명령 연결을 매우 간단하게 만들고 한 명령의 출력을 다른 명령으로 재사용하는 것이 Unix 셸의 강력한 기능입니다.
제가 아는 한 Windows PowerShell에서는 모든 것이 개체입니다. 명령의 결과를 다른 개체에 개체로 전달할 수 있습니다. 이것은 정말 강력할 수 있지만 Unix의 단순한 개념을 갖고 있지는 않습니다.
나는 PowerShell이 Unix 셸만큼 효율적이라고 믿지 않지만 다른 사람들은 그렇다고 믿습니다.
그러나 Windows는 *nix 시스템이 아니므로 *nix 개념이 적용되지 않기 때문에 비교가 불가능합니다. 에 비해MS-DOS, PowerShell은 크게 개선되었습니다.