BSD 또는 유닉스 스타일 명령을 선택할 수 있습니까?


14

같은 명령 ps에는 많은 매개 변수가 있습니다. 특히 Unix와 BSD 스타일 플래그 중에서 선택할 수있는 옵션이 있기 때문입니다. 나는 당신이 내 요점을 여기에 바랍니다.

따라서 이러한 옵션이 제공 될 때 모든 Linux 시스템에서 최대의 호환성을 위해 어떤 것을 선택해야합니까? (예를 들어 최대 호환성은 우선 순위 중 하나입니다)

유닉스 스타일은 분명하지만 어떤 이유로 BSD 명령에는 더 읽기 쉬운 정보 (예 : CPU 열 등의 열 제목)가 포함됩니다. 물론 내가 틀렸다면 바로 고쳐주십시오. 그러나 그것이 제가 느낀 것입니다.

답변:


17

거의 모든 리눅스 ps는 BSD와 같은 오리지널 코어 유닉스 명령의 GNU 버전을 사용 합니다.

명시된 목표는 Linux 간의 호환성 일 뿐이므로 "중요하지 않다"는 대답입니다.

임베디드 및 기타 매우 작은 Linux 변형은 일반적으로 GNU 도구 대신 BusyBox 를 사용 하지만의 경우 psBusyBox 버전이 제거되어 AT & Tish 또는 BSDish .

시간이 지남에 따라 다른 Unixy 시스템은 ps호환성 차이를 줄였습니다 . BSD Unix에서 간접적으로 파생 되고 일반적으로 BSD Unix 와 가장 유사하게 동작 하는 Mac OS X 는 AT & Tish 및 BSDish ps플래그를 모두 허용합니다 .

Solaris / OpenIndiana도 이런 방식으로 동작하지만 BSD와 AT & T 역사가 혼합되어 있기 때문에 그리 놀라운 일이 아닙니다.

FreeBSD, OpenBSD 및 NetBSD는 여전히 BSD 스타일을 독점적으로 활용합니다.

오래된 유닉스 박스 일수록 한 가지 스타일의 플래그 만 받아 들일 가능성이 높습니다. GNU 도구가 설치되어 있지 않은 경우 지금 설치하는 것과 같은 방식으로 이러한 상자의 차이점을 종이로 표시 할 수 있습니다.

즉, 여전히 함정이 있습니다. ps예를 들어 Unixy 시스템은 사용 가능한 열이 다르고 OS가 루트가 아닌 사용자가 볼 수있는 데이터 양 등이 다르기 때문에 일반적으로 이식성이 필요한 스크립트에서 출력을 구문 분석해서는 안됩니다.

(그런데 "BSD vs. Unix"가 아니라 "BSD vs. AT & T"입니다. BSD Unix는 여전히 UNIX®입니다. BSD Unix 는 원래 AT & T 지사와 직접적인 개발 이력 을 공유합니다. : AT & T와 그 후임자들은 역사상 여러 지점에서 BSD 혁신을 집으로 가져 왔습니다.이 통일은 시간이 지남에 따라 오픈 그룹 과 전임자 들의 노력에 기인합니다 .)


이것은 훌륭한 설명 (및 답변)이지만 질문에 도움이되지 않습니다 : 어떤 스타일을 배우도록 선택해야합니까?
Jarl

@Jarl : POSIX를 먼저 배우십시오. 어디서나 사용할 수 있습니다. 그런 다음 가장 많이 사용하는 시스템에서 사용중인 이상한 변형을 알아 봅니다. 나머지는 무시하십시오.
워렌 영

ps인수 스타일 의 경우 POSIX는 어느 것 (BSD 또는 Unix)입니까?
Jarl

@Jarl : 사양을 참조하십시오 . 일반적으로 POSIX는 BSD보다 SysVish를 더 많이 사용합니다. POSIX는 경제적으로 주도적이었고, 당시의 모든 주요 상용 Unix는 System V 파생물이기 때문입니다.
워렌 영

0

의심스러운 경우 SysV 구문을 사용하십시오. 이것은 많은 사람들이 동의 한 것이며 사실상의 표준입니다. BSD 자료는 선사 시대부터 시작되었거나 여러 가지 분기의 일부입니다 (SysV는 모든 이질적인 노선을 한 지붕 아래로 가져 와서 유닉스 전쟁을 끝내기위한 노력이었습니다).


Solaris, * BSD, OSX 등이 아닌 Linux에 대한 사실상의 표준
chiggsy

물론 그것은이었다 (Solaris 용 표준 첫번째 시스템 V가 기억 나올은). 최소한 IBM의 AIX 및 HP-UX에 의해 준수되었습니다. BSD는 과거의 시대입니다.
vonbrand 2016 년

1
솔라리스가 SysV라는 것에 대해 맞습니다. 제 오류입니다.
chiggsy

3
BSD에 대한 비열한 참조에 의문을 제기했지만 공감했습니다. 계속 올바른 방식으로 일을하는 것은 나쁘지 않습니다.
chiggsy

2
-1 : 첫째, 난 당신 말은 생각 합법적 표준을. SysV 스타일 옵션을 사실상 표준으로 고려하려면 FreeBSD, OpenBSD 및 NetBSD와 같은 몇 가지 사실을 무시해야합니다. 당신은 그 "선사"라는 주장으로 그것들을 존재에서 손을 wave 수 없습니다. 둘째, Solaris는 최초의 System V 가 아니 었 습니다. SVR4 의 첫 상용 배송이었을 수도 있지만, SVR1은 Vaxen 및 PDP-11 용으로 개발되었습니다 .
워렌 영
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.