2014-07-09 2 views
1

if 문을 사용하여 상자에 ownerless 파일을 모두 찾아서 파일 이름과 위치를 인쇄하고 루트를 지정하는 Solaris 10 용 쉘 스크립트를 작성하는 방법을 알아 내려고합니다 소유자가없는 경우 소유자.쉘 스크립트로 소유자가없는 파일 찾기

일반적으로 유닉스 및 쉘 스크립팅에서 상당히 새롭습니다.

도와주세요. 이 같은

답변

3

뭔가 작동합니다 : 당신은 출력에 만족하면

find/-nouser -exec echo chown root '{}' \; 

이, 그리고 다시 실행 위의 줄에서 echo를 제거합니다.

위의 명령을 해부 :

  • find -이 명령은 당신이
  • 을 실행하는
  • / -
  • -nouser (모든 파일을 볼 정도) /에서 파일을 찾고 시작 - 그 숫자 파일 만 찾기 사용자 ID에 해당 항목이 없습니다. /etc/passwd
  • -exec - 발견 된 모든 파일에 대해 다음 명령을 실행하십시오. b 이전 조건에서 ased
  • echo chown root '{}' \; - 일치하는 각 파일에 대해 실행할 명령입니다. {}이 전체 파일 이름으로 대체되고 ;이 이스케이프되므로 find은 쉘 대신 명령 줄 끝 표식으로 간주합니다. 적절한 명령을 잠재적으로 일을 망칠 수있는 chown 명령을 실행하기 전에 실행됩니다 확인할 수 있도록

echo이있다.

그래서 당신은 그것을 밖으로 인쇄 명령이 잘되어 있는지 확인 한 번 이상 실행 한 다음은 위의 find 명령을 다시 실행하지만 당신은 chown 실제로 인쇄 가지고 올 대신으로 실행되도록 echo를 제거합니다.

+0

어떻게하면 이것을 if 문으로 만들 수 있습니까? – user3508234

+1

달성하려는 목표로 질문을 업데이트 할 수 있습니까? –

+0

나는 그것을 편집했다. 감사합니다 – user3508234