“yes”명령의 요점은 무엇입니까?


답변:


41

yes는 달리 요청하는 명령에 대해 긍정적 (또는 부정적, 예 : n) 응답을 전송하여 명령을 비 대화식으로 실행하는 데 사용될 수 있습니다.

head 명령과 함께 yes 명령을 사용하여 테스트를 위해 대용량 파일을 생성 할 수 있습니다.

또한 단일 프로세서가 장착 된 시스템에 대해 yes를 사용하면 프로세서 사용률이 100 %이므로 시스템에서 고부하를 얼마나 잘 처리하는지 테스트하는 데 사용할 수 있습니다 (멀티 프로세서 시스템의 경우 각 프로세서마다 프로세스를 실행해야 함). 예를 들어, 프로세서가 100 %로 실행될 때 시스템의 냉각 시스템이 효과적인지 여부를 조사하는 데 유용 할 수 있습니다.

2006 년에 yes 명령은 사용자의 MacBook이 간헐적 종료 증후군의 영향을 받는지 여부를 테스트하는 수단으로 널리 알려졌습니다. Mac OS X에서 터미널을 통해 yes 명령을 두 번 실행하면 사용자는 컴퓨터의 CPU를 최대로 사용할 수 있으므로 오류가 열과 관련이 있는지 확인할 수 있습니다

wikipedia를 통해 : http://en.wikipedia.org/wiki/Yes_(Unix)


9
추가적인 손상을 yes `yes yes`
입히려면

3
@sendmoreinfo Evil
Tobias Kienzler

오, 좋은 스트레스 테스트입니다. 방금 시도한 후 동료에게 달려 가서 새로운 vm xD를 요청했습니다
Toastgeraet

17

이것은 논란의 여지가 있지만 의견으로 는 명령 행 도구의 잘못된 사용자 인터페이스에 대한 추악한 수정입니다 .

일부 명령 줄 도구는 프롬프트와 함께 사용자에게 질문을하며 비 대화식으로 실행할 수있는 옵션이 없습니다. 예를 들어

$ frobnicate *
frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
...

질문에 대한 답변은 표준 입력에서 가져 오기 때문에이 문제에 대한 빠른 해결책은 문자열을 y\n지속적으로 출력하는 응용 프로그램을 사용하는 것 yes입니다. Unix 파이프 를 사용하여이 명령을 입력으로이 출력을 보낼 수 있습니다.

$ yes | frobnicate

이 방법의 문제점 중 하나는 다음 yes질문에 대한 답을 찾을 수 없다는 것입니다.

frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
format device /dev/sda1? (y/n) y
frobnicate file c.txt? (y/n) y

사용 가능한 경우 더 나은 솔루션은 rm -for 와 같은 비 대화식으로 실행하는 특정 옵션 apt-get -y입니다. 이를 통해 응용 프로그램에서보다 합리적인 동작을 코딩 할 수 있습니다.


1
다른 모든 답변을 읽었습니다. 그것이 비록 나는 ... 완전히 추한 수정 WRT 당신에 동의 하지 높은 CPU 부하에 컴퓨터의 응답을 테스트하기위한 유효을 사용할 수 있습니다.
와일드 카드

6
물론 독점 소프트웨어 인 "Microsoft Windows"를 사용하여 높은 CPU 부하에 대한 컴퓨터 응답을 테스트 할 수 있지만 "yes"는 오픈 소스입니다.
와일드 카드

1
그래도 가장 아름다운 추악한 수정 중 하나입니다.
Jezzamon

4

yes모두 같은 이름을 가진 동일한 파일을 포함하는 여러 개의 .zip 파일을 압축 해제 할 때 사용 하고 싶습니다 (예 : 라이센스 계약).

yes | for z in *.zip; do unzip "$z"; done 

2

방금 다른 용도로 사용되었습니다 : 0과 다른 패턴 (예 : dd if = / dev / zero of = / dev / sdd bs = 1M)으로 하드 디스크를 지우고 '예'를 사용했습니다.

yes UUUUUUUUUUUUU > /dev/sdd


1

동료가 암호를 입력하는 새로운 방법으로 이것을 사용했습니다.

yes password | passwd

passwd사용자가 root 또는 수퍼 유저 가 아닌 경우 이전 비밀번호를 먼저 요청 하고 올바른 비밀번호를 입력하지 않으면 계속하지 않습니다. 따라서 사용자는 루트 이거나 password이전 비밀번호이며 아무 것도 변경되지 않습니다.
Michael Konietzka

@MichaelKonietzka 실제로. 그러나 언급 한 조건으로 여전히 유용한 유스 케이스입니다.
frogstarr78

3
이것을 제외하고는 역사에서 평문으로 유지 될 것입니다. 크레이지.
Gleno

3
bash의 @Gleno, 당신은 그것을 기록하는 것을 방지하기 위해 공백을 앞에 둘 수 있습니다 ( stackoverflow.com/q/640403/118153 에서와 같이 )
Iiridayn

2
또한 프로세스 목록의 모든 로컬 사용자에게 ( ps또는 top적절한 순간에) 비밀번호가 유출 됩니다.
Federico Poloni
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.