Hostwinds 블로그
에 대한 검색 결과:
기존 Windows 명령 줄 인터페이스 (CLI)의 명령을 Linux CLI의 명령과 비교할 때는 실제로 비교할 수 없습니다.전통적인 Windows Cli (CD, Dir, Copy, Del 등)에는 awk, sed, head, tail, tsort, uniq, split 등만큼 강력한 것이 없습니다.CLI는 텍스트 스트림 처리가 종종 원하는 결과를 얻기 위해 필요하다는 것입니다.예를 들어 Linux 시스템의 IPv6 주소를 원합니다.한 가지 방법은 다음과 같습니다.
ifconfig | grep inet6 | head -1 | awk '{print $2}'
GREP 명령은 "inet6"을 포함하는 여러 줄을 잡고, 헤드 명령은이 중 첫 번째를 잡고, AWK는 라인에서 두 번째 필드 (즉, 두 번째 문자열)를 인쇄하여 원하는 IPv6 값을 생성합니다.정말 매끄럽지 만 우리는 텍스트 스트림을 처리하고 있습니다. 이는 신속하게 복잡해질 수 있습니다.예를 들어 다음을 수행하고 싶다고 가정 해보십시오.
이 작업을 수행하는 PowerShell은 매우 간단합니다.
Get-Process | Sort-Object -Property HandleCount, CPU | Format-Table -Property Name, HandleCount, CPU, Path
그리고 여기 출력의 스 니펫이 있습니다.알 수 있듯이 테이블은 핸들 카운트로 정렬 된 다음 CPU 시간으로 정렬됩니다 (18 개의 핸들을 사용하여 세 가지 프로세스의 하강 CPU 시간에 주목하십시오).
Name HandleCount CPU Path
---- ----------- --- ----
chrome 165 375.13 /opt/google/chrome/chrome
pwsh 128 81.1 /opt/microsoft/powershell/7/pwsh
chrome 52 216.36 /opt/google/chrome/chrome
chrome 44 151.13 /opt/google/chrome/chrome
Xvnc 33 254.66 /usr/bin/Xvnc
dbus-daemon 31 0.23 /usr/bin/dbus-daemon
chrome 23 0.45 /opt/google/chrome/chrome
xfce4-terminal 18 16.39 /usr/bin/xfce4-terminal
xfce4-session 18 0.12 /usr/bin/xfce4-session
xrdp-chansrv 18 0.05 /usr/sbin/xrdp-chansrv
xfdesktop 15 4.39 /usr/bin/xfdesktop
xfce4-power-manager 15 0.39 /usr/bin/xfce4-power-manager
chrome 15 0.03 /opt/google/chrome/chrome
이제 위 외에도 핸들 카운트별로 그룹화하고 싶습니까?훨씬 쉬워 질 수는 없습니다. -groupby handlecount 인수를 형식 테이블 CMDLET에 추가하십시오 (예, 이것이 그들이 불리는 것입니다).
Get-Process | Sort-Object -Property HandleCount, CPU | Format-Table -Property Name, HandleCount, CPU, Path -GroupBy HandleCount
다음은 해당 출력의 스 니펫입니다.
HandleCount: 18
Name HandleCount CPU Path
---- ----------- --- ----
xfce4-terminal 18 16.68 /usr/bin/xfce4-terminal
xfce4-session 18 0.12 /usr/bin/xfce4-session
xrdp-chansrv 18 0.05 /usr/sbin/xrdp-chansrv
HandleCount: 15
Name HandleCount CPU Path
---- ----------- --- ----
xfdesktop 15 4.43 /usr/bin/xfdesktop
xfce4-power-manager 15 0.4 /usr/bin/xfce4-power-manager
chrome 15 0.03 /opt/google/chrome/chrome
이러한 PowerShell 예제에는 텍스트 스트림 처리의 힌트가 없습니다.PowerShell은 데이터 스트림이 아닌 CMDLET 사이에 객체 (다양한 속성이있는)를 통과하기 때문입니다.정말로 원한다면 Select-String CMDLET를 사용하여 텍스트 스트림을 여전히 조작 할 수 있지만 그렇게 할 필요는 없습니다.그건 그렇고, 마지막 예에서, 당신은 모든 get-process 객체 속성으로 그룹화 할 수 있으며 get-process를 사용할 수 있습니다 |어떤 속성을 사용할 수 있는지 빠르게 확인하십시오.
흥미로운 소리?시작하는 방법이 궁금하십니까?그럼 참조하십시오 Linux와 함께 PowerShell 사용.
작성자 Karlito Bonnevie / 4 월 29, 2022