리눅스 find 명령어는 파일 시스템을 검색하여 주어진 규칙에 맞는 파일들을 찾아 파일들의 이름과 위치를 표준 출력(stdout)으로 출력합니다. 이 출력 메시지는 tar과 같은 명령어로 쉽게 리다이렉션될 수 있습니다.

이번 포스팅에서는 find 명령어를 사용하여 특정 사용자의 파일을 찾고, 해당 파일을 다른 디렉토리로 복사하는 방법에 대해 알아보겠습니다.

find 명령어로 특정 사용자의 파일 찾기

find 명령어로 특정 사용자의 파일을 찾으려면 -user 옵션을 사용합니다. -user 옵션 뒤에 사용자 이름을 지정하면 해당 사용자 소유의 파일들을 찾습니다.

예를 들어, harry 사용자의 파일을 찾으려면 다음과 같이 명령을 실행합니다.

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
find / -user harry

이 명령은 전체 파일 시스템에서 harry 사용자 소유의 파일들을 모두 찾습니다.

find 명령어로 특정 사용자의 파일 복사하기

find 명령어로 찾은 파일들을 다른 디렉토리로 복사하려면 -exec 옵션을 사용합니다. -exec 옵션 뒤에는 파일 복사에 사용할 명령을 지정합니다.

예를 들어, /tmp/harry 디렉토리에 harry 사용자의 파일들을 모두 복사하려면 다음과 같이 명령을 실행합니다.

find / -user harry -exec cp -apR {} /tmp/harry/ \;

이 명령은 harry 사용자 소유의 파일들을 모두 찾고, 해당 파일들을 /tmp/harry 디렉토리에 cp 명령을 사용하여 복사합니다.

find 추가 옵션

find 명령어에는 다양한 옵션을 사용하여 검색 조건을 지정할 수 있습니다. 다음은 find 명령어의 몇 가지 추가 옵션입니다.

  • -perm 옵션: 파일의 권한을 조건으로 지정합니다.
    • -perm -6000: set-uid와 set-gid가 동시에 갖는 퍼미션을 찾습니다.
    • -perm +6000: set-uid와 set-gid중 둘 중 하나 이상의 퍼미션 값을 가진 것을 찾습니다.
  • -type 옵션: 파일의 유형을 조건으로 지정합니다.
    • -type l: 심볼릭 링크를 찾습니다.
    • -type d: 디렉토리를 찾습니다.

find 예제

다음은 find 명령어를 사용하여 특정 사용자의 파일을 찾고, 해당 파일을 다른 디렉토리로 복사하는 몇 가지 예제입니다.

  • harry 사용자 소유의 .txt 파일들을 모두 /tmp/harry 디렉토리로 복사합니다.
find / -user harry -type f -name "*.txt" -exec cp -apR {} /tmp/harry/ \;
  • harry 사용자 소유의 set-uid 또는 set-gid 파일들을 모두 /tmp/harry 디렉토리로 복사합니다.
find / -user harry -perm -6000 -exec cp -apR {} /tmp/harry/ \;
  • harry 사용자 소유의 심볼릭 링크들을 모두 /tmp/harry 디렉토리로 복사합니다.
find / -user harry -type l -exec cp -apR {} /tmp/harry/ \;

이상으로 리눅스 find 명령어로 특정 사용자의 파일 찾기 및 복사하는 방법에 대해 알아보았습니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

아마존 해외 구매: 서버, 네트워크, 노트북 구매

Amazon Best Sellers Servers

Amazon Best Sellers Networking

Amazon Best Sellers Laptops

위로 스크롤