[Linux] .bash_profile 위치 찾기(find 명령어/히든 파일 위치 찾기)

2022. 8. 12. 09:39Server의 세계/Linux & Unix

 

find는 파일을 찾을 때 쓰는 명령어로 사용방법은 다음과 같다.

find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

 

옵션

  • H : 심볼릭 링크를 따라가지 않으나, Command Line Argument를 처리할 땐 예외.
  • L : 심볼릭 링크에 연결된 파일 정보 사용.
  • P : 심볼릭 링크를 따라가지 않고, 심볼릭 링크 자체 정보 사용.
  • D : 디버그 메시지 출력.

expression 

  • name : 해당 이름의 파일을 찾음. 해당 이름에는 정규 표현식을 활용할 수 있음
  • type : 지정된 파일 타입에 해당하는 파일 검색
  • user : 해당 유저에게 속한 파일 검색
  • empty : 빈 디렉토리 혹은 크기가 0인 파일 검색
  • delete : 검색된 파일 혹은 디렉토리 삭제
  • exec : 검색된 파일에 대해 지정된 명령 실행
  • path : 지정된 문자열 패턴에 해당하는 경로에서 검색.
  • print : 검색 결과를 출력. 검색 항목은 newline으로 구분. (기본 값)
  • print0 : 검색 결과를 출력. 검색 항목은 null로 구분.
  • size : 파일 크기를 사용하여 파일 검색.
  • mindepth : 검색을 시작할 하위 디렉토리 최소 깊이 지정.
  • maxdepth : 검색할 하위 디렉토리의 최대 깊이 지정.
  • atime : n일 이내에 액세스된 파일을 찾음.
  • ctime : n일 이내에 만들어진 파일을 찾음.
  • mtime : n일 이내에 수정된 파일을 찾음.
  • cnewer file : 해당 파일보다 최근에 수정된 파일을 찾음.

 

리눅스 find 사용 예시

파일명으로 찾기 (-name 옵션)

# 현재 디렉토리에서 test가 포함되는 파일 찾기
find . -name "*test*"

# 현재 디렉토리에서 .txt 확장자 모두 찾기
find . -name "*.txt"

# 현재 디렉토리에서 .txt 확장자 파일 검색 후 모두 삭제
find . -name "*.txt" -delete

# 현재 디렉토리에서 test로 시작되는 파일 찾기
find . -name "test*"

# 현재 디렉토리에서 test로 끝나는 파일 찾기
find . -name "*test"

타입으로 찾기 (-type 옵션)

# 현재 디렉토리에서 모든 디렉토리 찾기
find . -type d

# 현재 디렉토리에서 test가 들어가는 디렉토리 찾기
find . -name "*test*" -type d

# 현재 디렉토리에서 모든 파일 찾기
find . -type f
  • d : 디렉토리
  • f : 일반적인 파일
  • l : 심볼릭 링크

 


 

.bash_profile이란 파일을 찾아보려 한다.

Linux/Unix에서는 파일명의 맨 앞에 마침표가 있으면 히든파일 즉 숨겨진 파일 된다.

그래서 mv명령어로 파일명만 앞에 점을 붙여 줘도 히든파일로 변한다.

 

1.  리스트를 볼때는 그냥 ls 로 하면 보이지 않고 ls -a라고 해줘야 보인다.

ls -a

 

2. / 에서 .bash~~~로 시작하는 모든 파일을 찾으려면, root 로 로그인 한 후,

find / -name '.bash*'(큰 따옴표, 작은 따옴표 둘다 가능) 입력하면 찾을 수 있다.

find / -name '.bash*'