반응형
Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 상태다이어그램
- ssh
- bandit21
- madia designer ui design
- 클래스 관계
- 디자인패턴
- ui 디자인 기본원칙
- cron
- 매크로를 바라보는 시각
- 암표거래
- 리버스쉘
- strucuture charat
- telnet
- factory metohd pattern
- 소프트웨어공학 디자인패턴
- base64
- 모듈구조도
- status diagram
- 생성패턴 행위패턴 구조패턴
- 객체 상속 속성 인스턴스 메소드 오퍼레이션
- gof design pattern
- 구조적 설계
- prototypepattern 예시 example
- nc reverse shell
- fan-in fan-out
- UseCase
- sofrware architeture
- 팬인과 팬아웃
- usecase description
- Bandit
Archives
- Today
- Total
2.log
리눅스 find 정리 본문
728x90
반응형
find
리눅스에서 접근할 수 있는 파일시스템에 파일/디렉토리 찾는 명령어
사용법
$ find [옵션] [경로] [표현식]
옵션
- P : 심볼릭 링크를 따라가지 않고, 심볼릭 링크 자체 정보 사용
- L : 심볼릭 링크에 연결된 파일 정보 사용
- H : 심볼릭 링크를 따라가지 않으나, Command Line Argument를 처리할 땐 예외
- D : 디버그 메시지 출력
경로
상대 경로, 절대 경로 모두 가능. 대부분의 리눅스의 경우 이 경로 인자 값을 생략하면 현재 위치(.)를 입력받은 것으로 간주
하지만 유닉스의 경우 이 경로를 입력받지 않으면 명령어 실행이 안되니 유의
자주 사용되는 표현식
- name : 해당 이름의 파일을 찾음 (정규 표현식 활용 가능)
- type : 지정된 파일 타입에 해당하는 파일 검색
- d : 디렉터리
- f : 일반적인 파일
- l : 심볼릭 링크
- empty : 빈 디렉터리 or 크기가 0인 파일 검색
- delete : 검색된 파일 or 디렉터리 삭제
- exec : 검색된 파일에 대해 지정된 명령 실행
- path : 지정된 문자열 패턴에 해당하는 경로에서 검색
- executable : 현재 사용자 기준으로 실행 가능한 파일 검색
- readable : 현재 사용자 기준으로 읽을 수 있는 파일 검색
- writable : 현재 사용자 기준으로 쓸 수 있는 파일 검색
- user : 지정 사용자 소유의 파일 검색
- group : 지정 그룹에 속한 파일 검색
- print : 검색 결과를 출력. 검색 항목은 newline으로 구분 (기본 값)
- print0 : 검색 결과를 출력. 검색 항목은 null로 구분
- size : 파일 크기를 사용하여 파일 검색
- b : 블록단위
- c : byte
- k : kibibytes
- M : mebibytes
- G : gibibytes
- w : 2byte 워드
- mindepth : 검색을 시작할 하위 디렉터리 최소 깊이 지정
- maxdepth : 검색할 하위 디렉터리의 최대 깊이 지정
- atime : n일 이내에 액세스 된 파일을 찾음
- ctime : n일 이내에 만들어진 파일을 찾음
- mtime : n일 이내에 수정된 파일을 찾음
- cnewer file : 해당 파일보다 최근에 수정된 파일을 찾음
표현식 연산자 적용
- ([EXPR]) : 연산자 우선순위 설정. "()"
- NOT 연산자 (!, not)
- ![EXPR]
- -not [EXPR]
- AND 연산자 (-a, and)
- [EXPR1] -a [EXPR2]
- [EXPR1] and [EXPR2]
- 생략가능 : [EXPR1] [EXPR2]
- OR 연산자 (-o, or)
- [EXPR1] -o [EXPR2]
- [EXPR1] or [EXPR2]
자주사용되는 find 명령어
NO | 명령어 | 설명 |
1 | find | 현재 경로에 파일/디렉토리 표시 |
2 | find [경로] | [경로] 에 있는 모든 파일/디렉토리 표시 |
3 | find [NAME] | 현재 경로에 [NAME] 검색 |
4 | find . -name [NAME] | 현재 경로 하위 파일/디렉토리에서 [NAME]검색 |
5 | find / -name [NAME] | 루트 "/" 디렉토리 하위에서 [NAME] 검색 |
6 | find ~ -name [NAME] | 사용자의 홈디렉토리 하위에서 [NAME] 검색 |
7 | find . -name "*STR*" | 현재 경로 하위에서 특정 문자열(STR) 포함하는 파일/디렉토리 검색 |
8 | find . -empty | 현재 경로 하위에서 빈 디렉토리 or 크기가 0인 파일 검색 |
9 | find . -name "*.EXT" -delete | 현재 경로 하위에서 특정 확장자(.EXT)의 파일 검색 후 삭제처리 |
10 | find . -name [NAME] -print0 | 현재 경로 하위에서 [NAME] 을 검색하여 줄 파꿈 없이 표시 |
11 | find . -name [NAME] -type f,d,I | 현재 경로 하위 파일/디렉토리/심볼릭링크에서 [NAME]을 검색 |
12 | find . -mtime N | 현재 경로 하위에서 수정시간 기준 파일/디렉토리 검색 |
13 | find . -size + [SIZE1]c -size -[SIZE2]c | 현재 경로 하위에서 파일 사이즈로 검색 |
14 | find . -maxdepth 1 - name [NAME] | 현재 경로에서만 [NAME] 검색 (하위 디렉터리 미포함) |
15 | find . -perm 0664 | 현재 경로에서 특정권한의 파일/디렉토리 검색 |
16 | find . -name [NAME] -exec ls -al {} \; | 검색된 파일의 상세정보 출력 (ls 명령 실행) |
17 | find . -name [NAME] -exec grep "STR" {} \; | 검색된 파일에서 문자열 검색 (grep 명령 실행) |
18 | find . -name [NAME] -exec cp {} [경로] \; | 검색된 파일을 특정 [경로] 로 복사 (cp 명령 실행) |
19 | find . -name [NAME] -exec tar -xcvf [파일명] {} \; | 검색된 파일로 압출파일 생성 (tar 명령 실행) |
20 | find . -name [NAME] > [FILE_NAME] | 검색된 결과를 파일로 저장 (redirection ">" 실행) |
21 | find . -name [NAME] 2> dev/null | 검색 결과 오류 메시지 출력 안함 (redirection ">" 실행) |
출처
728x90
반응형
'HACKING > Bandit+' 카테고리의 다른 글
grep 옵션 정리 (0) | 2023.03.21 |
---|---|
파일설명자와 /dev/null 로 불필요한 출력 버리기 (0) | 2023.03.21 |
리눅스 Shell 특수문자(meta-character) 정리 (0) | 2023.03.20 |
ASCII 와 extended ASCII (0) | 2023.03.20 |
리눅스 기초 명령어 및 옵션 정리 (0) | 2023.03.20 |
Comments