본문 바로가기
대학강의정리/22.1 우분투리눅스

4. 우분투리눅스에서 파일 위치 검색 find grep | 파이프

by 피스타0204 2022. 4. 24.

1. find

find 명령어는 찾고자 하는 파일이나 디렉토리가 있을 때 주로 사용한다.

 

find [경로] [옵션] [조건] [action] : 기본 파일 찾기

[옵션] -name, -user(소유자), -newer(전,후), -perm(허가권), -size(크기)

[action] -print(디폴트), -exec (외부명령 실행)

 

사용 예

# find /etc -name "*.conf“  : /etc 디렉터리 하위에서 확장명이 *.conf인 파일 검색

# find /etc -user ubuntu  : /home 디렉터리 하위에서 소유자가 ubuntu인 파일 검색

# find ~perm 644  : 현재 사용자의 홈 디렉터리 하위에서 허가권이 644인 파일 검색

# find /user/bin -size +10k -size -100k  : /user/bin 디렉터리 하위에서 파일 크기가 10kb~100kb인 파일 검색

 

# find ~ -size 0k -exec ls -l   :현재 사용자의 홈 디렉터리 하위에서 파일 크기가 0인 파일의 목록을 상세히 출력

# find /home -name "*.swp" -exec rm { } \;   : /home 디렉터리 하위에서 확장명이 *.swp인 파일 삭제, -exec로 rm을 실행시키고 \; 으로 끝을 표시해준다.

 

 

1_1. which

which 명령어는 특정 명령어가 저장되어 있는 위치를 찾아주는 명령어이다. 쉘 프로그래밍에서 주로 사용한다.

which 실행파일이름 : PATH에 설정된 디렉터리만 검색

 

1_2. whereis

whereis 실행파일이름 :실행 파일,소스,man페이지 파일까지 검색

 

1_3. locate

locate 파일이름 : 파일 목록 데이터베이스에서 검

 

 

 

2. grep

grep 명령어는 검색하고자 하는 문자를 옵션으로 주면 해당 문자와 일치하는 문자열이 있는 파일을 찾아, 그 파일 내용을 출력해주는 명령어이다.

 

grep 찾고싶은파일 : 파일이름이 들어간 모든 파일을 다 찾는다.

grep -H 찾고싶은파일 : 그 문자열이 어떤 파일에 들어가 있는지 같이 출력된다.

grep -Hw 파일이름 : 정확하게 일치하는 문자열을 찾고 싶을 때

 

3. 파이프( | )

https://hwan-shell.tistory.com/324

https://www.youtube.com/watch?v=hBJPI2bXzrQ

기호 우측의 문자를 파일이름으로 받아들이는 리다이렉션과 달리 파이프는 파이프 오른쪽의 문자들을 명령어로 받아들입니다. 파이프는 파이프 왼쪽에 있는 명령어의 출력을 파이프 오른쪽의 명령어의 입력으로 보냅니다.

예를 들어 ls -al | cat 가 있습니다. ls -al 명령의 출력을 파이프를 통해 cat가 받아 list가 전체가 출력됩니다.

 

cf. ls -al ; cat sample.txt

: 두 가지 명령어를 따로 실행해주는 명령어

 

 

4. 위의 명령어들을 이용한 예시

 

grep과 tree, 파이프를 모두 사용한 예제
grep과 find, 파이프를 이용한 예제