Linux

[Linux 기초] Redirection(리다이렉션), pipe(파이프), find 명령어

  • -
728x90

RTFM!!!

리눅스 공부할 때(다른 모든 공부할 때) 명심해야할 말.


Redirection( '>', '<', '>>', '<<' )

리다이렉션은 표준 스트림(Standard Stream)의 흐름을 바꿔준다. 즉, 출력과 입력의 방향을 바꿔줄 수 있다.

 

'>' :  (표준 출력) 명령 > 파일 : 명령의 결과를 파일로 저장 (덮어씀)

'<' : (표준 입력) 명령 < 파일 : 파일의 데이터를 명령에 입력 (덮어씀)

'>>', '<<' : 덮어쓰지 않고 추가

 

예시

  • echo의 결과인 "-al" 문자열을 print.example 파일로 저장
  • ls 명령의 옵션을 print.example로 입력하고 그 결과를 result_ls_al로 저장

 

pipe( ' | ' )

표준 입출력이 아닌 프로세스 간에 실행되는 입출력을 다음 프로세스로 전달하는 방식  

 

예시

  • ls -al의 내용을 갖는 text.t 파일을 생성
  • text.t 내용을 bash로 실행하고 cat -e를 이용하여 escape sequence를 포함하여 출력

find

파일 및 디렉토리를 검색할 때 사용하는 명령어

 

find 명령어의 메뉴얼을 실행시켜보면 엄청난 내용이 나온다. 그 중에 자주 사용되는 몇 가지만 정리해보자.

 

find [OPTION...] [PATH] [EXPRESSION...] 
    OPTION
        -P : 심볼릭 링크를 따라가지 않고, 심볼릭 링크 자체 정보 사용.
        -L 
: 심볼릭 링크에 연결된 파일 정보 사용.
        -H 
: 심볼릭 링크를 따라가지 않으나, Command Line Argument를 처리할 땐 예외.
        -D 
: 디버그 메시지 출력. EXPRESSION -name : 지정된 문자열 패턴에 해당하는 파일 검색.
        -empty 
: 빈 디렉토리 또는 크기가 0인 파일 검색.
        -delete 
: 검색된 파일 또는 디렉토리 삭제.
        -exec 
: 검색된 파일에 대해 지정된 명령 실행.
        -path 
: 지정된 문자열 패턴에 해당하는 경로에서 검색.
        -print 
: 검색 결과를 출력. 검색 항목은 newline으로 구분. (기본 값)
        -print0 
: 검색 결과를 출력. 검색 항목은 null로 구분.
        -size 
: 파일 크기를 사용하여 파일 검색.
        -type 
: 지정된 파일 타입에 해당하는 파일 검색.
        -mindepth 
: 검색을 시작할 하위 디렉토리 최소 깊이 지정.
        -maxdepth 
: 검색할 하위 디렉토리의 최대 깊이 지정.
        -atime : 파일 접근(access) 시각을 기준으로 파일 검색.
        -ctime : 파일 내용 및 속성 변경(change) 시각을 기준으로 파일 검색.
        -mtime : 파일의 데이터 수정(modify) 시각을 기준으로 파일 검색.

 

find 사용 예 명령어 옵션
현재 디렉토리에 있는 파일 및 디렉토리 리스트 표시 find
대상 디렉토리에 있는 파일 및 디렉토리 리스트 표시 find [PATH]
현재 디렉토리 아래 모든 파일 및 하위 디렉토리에서 파일 검색 find . -name [FILE]
전체 시스템(루트 디렉토리)에서 파일 검색 find / -name [FILE]
파일 이름이 특정 문자열로 시작하는 파일 검색 find . -name "STR*"
파일 이름에 특정 문자열이 포함된 파일 검색 find . -name "*STR*"
파일 이름이 특정 문자열로 끝나는 파일 검색 find . -name "*STR"
빈 디렉토리 또는 크기가 0인 파일 검색 find . -empty
특정 확장자를 가진 모든 파일 검색 후 삭제 find . -name "*.EXT" -delete
검색된 파일 리스트를 줄 바꿈 없이 이어서 출력하기 find . -name [FILE] -print0
파일 또는 디렉토리만 검색하기 find . -name [FILE] -type f
파일 크기를 사용하여 파일 검색 find . -size +[N]c -and -size -[M]c
검색된 파일에 대한 상세 정보 출력. (find + ls) find . -name [FILE] -exec ls -l {} \;
검색된 파일의 라인 수 출력. (find + wc) find . -name [FILE] -exec wc-l {} \;
검색된 파일에서 문자열 찾기. (find + grep) find . -name [FILE] -exec grep "STR" {} \;
검색 결과를 파일로 저장. (find, redirection) find . -name [FILE] > [SAVE_FILE]
검색 중 에러 메시지 출력하지 않기 (find, redirection) find . -name [FILE] 2> /dev/null
하위 디렉토리 검색하지 않기 find . -maxdepth 1 -name [FILE]
검색된 파일 복사. (find + cp) find . -name [FILE] -exec cp {} [PATH] \;
참조 : https://recipes4dev.tistory.com/156#31-%ED%98%84%EC%9E%AC-%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EC%97%90-%EC%9E%88%EB%8A%94-%ED%8C%8C%EC%9D%BC-%EB%B0%8F-%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%ED%91%9C%EC%8B%9C
 

리눅스 find 명령어 사용법. (Linux find command) - 리눅스 파일 검색.

1. find 명령어. find는 리눅스에서 파일 및 디렉토리를 검색할 때 사용하는 명령입니다. 이름 그대로 리눅스에서 접근할 수 있는 파일 시스템에서, 파일 및 디렉토리를 "찾는(find)" 것이죠. 그런데 �

recipes4dev.tistory.com

 

728x90
300x250
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.