리눅스
- [Linux/리눅스] 문자열 패턴 검색하기 (grep 명령어) 2017.04.23
- [Linux/리눅스] 디스크 용량 및 파일 용량 확인하기 (df, du 명령어) 2017.04.19
- [Linux/리눅스] gcc, g++ 컴파일 최적화 방법 2017.03.24
[Linux/리눅스] 문자열 패턴 검색하기 (grep 명령어)
설명
리눅스에서는 'grep' 명령어를 통해 원하는 문자열 패턴을 포함하는 행들을 출력할 수 있다.
입력 파일이 있을 경우 입력 파일 내에서, 없는 경우 표준 입력 내에서 지정한 패턴을 검색하여 일치하는 행을 출력한다.
사용법
기본적인 사용법은 아래와 같다.
grep [OPTIONS] PATTERN [FILE]
'grep' 명령어는 단독으로 사용되기도 하지만 'find' 같은 출력 명령어와 함께 사용하여 원하는 결과를 필터링하는 데에도 자주 사용된다.
출력명령어 | grep PATTERN
'grep' 명령어에서 사용할 수 있는 옵션은 다음과 같다.
옵션 |
설명 |
-c |
패턴을 포함하는 행을 출력하는 대신, 일치하는 행의 수를 출력 |
-L |
패턴을 포함하지 않는 파일의 이름을 출력 |
-l |
패턴을 포함하는 파일의 이름을 출력 |
-m [NUM] |
파일당 일치하는 행을 최대 NUM 개까지만 출력 |
-o |
일치하는 부분만 출력 |
-q |
결과를 출력하지 않음 |
-s |
잘못된 입력 파일에 대한 오류 표시하지 않음 |
-i |
대소문자 구분하지 않음 |
-v |
패턴과 일치하지 않는 행만 출력 |
-n |
행 번호를 함께 출력 |
-w |
패턴과 같은 단어를 정확하게 포함하는 행만 출력 |
-x |
패턴이 전체 행과 일치하는 행만 출력 |
-r |
서브 디렉토리의 파일까지 모두 검사 |
-a |
바이너리 파일을 텍스트 파일처럼 인식하여 검사 |
사용 예제
1. 현재 디렉토리에서 'server' 를 포함하는 파일을 찾아서 출력
2. 현재 디렉토리의 파일 중 'lecture' 라는 문자열을 포함하는 파일만 출력
3. 현재 디렉토리의 모든 파일을 대상으로 'char' 라는 문자열을 포함하고 있는 행 출력
4. 3의 결과에 -w 옵션을 추가하여 정확하게 'char' 라는 단어를 포함하는 행만 출력
'개발 > Linux' 카테고리의 다른 글
[Linux/리눅스] C/C++ 멀티스레드 환경에서의 수행 시간 측정 방법 (clock_gettime 함수 이용) (1) | 2017.04.27 |
---|---|
[Linux/리눅스] 우분투 홈 디렉토리의 사용자 폴더 경로 변경하기 (0) | 2017.04.26 |
[Linux/리눅스] 디스크 용량 및 파일 용량 확인하기 (df, du 명령어) (0) | 2017.04.19 |
[Linux/리눅스] gcc, g++ 컴파일 최적화 방법 (0) | 2017.03.24 |
[Linux/리눅스] 디스크 용량 및 파일 용량 확인하기 (df, du 명령어)
리눅스에서는 'df' 와 'du' 명령어를 이용해 디스크 용량을 확인할 수 있다.
df [OPTIONS] [FILE] : 시스템에 마운트 된 디스크의 남은 용량을 확인하는 명령어. 아래와 같은 옵션과 함께 사용 가능하다.
옵션 |
설명 |
-a |
모든 파일 시스템을 출력 |
-B [SIZE] |
지정 크기를 블록 단위로 하여 용량 표시 |
-h |
용량을 가장 보기 편한 단위로 변환하여 보여줌 (ex. 1K, 256M, 4G) |
-H |
용량을 1024가 아닌 1000단위로 표시 |
-i |
inode의 남은 공간, 사용 공간, 사용 퍼센트를 출력 |
-k |
'-B 1K'와 같은 의미 |
-l |
출력 목록을 로컬 파일 시스템으로 제한 |
-P |
POSIX에서 사용되는 형태로 출력 |
-t [TYPE] |
출력 목록을 파일 시스템의 타입(TYPE)으로 제한 |
-T | 파일 시스템의 타입을 같이 출력 (ex. ext4) |
-x [TYPE] | 출력 목록에서 파일 시스템의 타입(TYPE)만 제외 |
du [OPTIONS] [FILE] : 파일의 디스크 사용량을 확인하는 명령어. 아래와 같은 옵션과 함께 사용 가능하다.
옵션 | 설명 |
-a | 현재 디렉토리 아래의 모든 파일과 디렉토리의 사용 정보를 출력 |
-B [SIZE] | 지정 크기를 블록 단위로 하여 용량 표시 |
-b | 바이트 단위 출력 |
-c | 출력된 의 사용량 합계 표시 |
-D [FILE] | 입력한 심볼릭 링크 파일만 역참조(원본 파일의 용량을 출력) |
-h | 용량을 가장 보기 편한 단위로 변환하여 보여줌 |
-H | '-D' 옵션과 동일한 기능 수행 |
-k | '-B 1K' 옵션과 동일한 기능 수행 |
-l | 하드 링크 파일일 경우, 여러번 용량을 카운트(원본과 하드 링크 파일 모두 카운트) |
-L | 모든 심볼릭 링크 파일들을 역참조 |
-S | 서브디렉토리들은 결과에서 제외 |
-s | 전체 사용량만을 출력 |
-x | 다른 파일 시스템의 디렉토리는 결과에 포함하지 않음 |
'개발 > Linux' 카테고리의 다른 글
[Linux/리눅스] C/C++ 멀티스레드 환경에서의 수행 시간 측정 방법 (clock_gettime 함수 이용) (1) | 2017.04.27 |
---|---|
[Linux/리눅스] 우분투 홈 디렉토리의 사용자 폴더 경로 변경하기 (0) | 2017.04.26 |
[Linux/리눅스] 문자열 패턴 검색하기 (grep 명령어) (0) | 2017.04.23 |
[Linux/리눅스] gcc, g++ 컴파일 최적화 방법 (0) | 2017.03.24 |
[Linux/리눅스] gcc, g++ 컴파일 최적화 방법
리눅스에서 gcc, g++ 컴파일러를 이용하여 코드를 컴파일 시 다양한 최적화 옵션 사용이 가능하다.
각 옵션들은 매우 다양하기 때문에 일반적으로 이들을 묶어 간편하게 사용 가능한 '-O1', '-O2', '-O3' 옵션을 사용한다.
KLDP에서 설명하는 각 옵션의 최적화 방식은 다음과 같다.
KLDP에서는 '-O2' 옵션과 '-O3' 옵션의 속도에 대해 아래와 같이 설명하는데, 직접 다양한 코드에 사용해 본 결과 속도는 '-O2'와 '-O3' 옵션이 비슷한 성능을 보인다.
왜냐하면, 보통 CPU가 기계어를 수행할 때, 일정한 분량만큼 먼저 CPU 내부의 cache(캐시)에 불러와서 수행하는데, '-O3'를 써서 만든 코드는 대개 크기가 커서, 이 cache에 들어갈 수 있는 명령의 양이 상대적으로 적어지기 때문에, 오히려 느려질 가능성도 있습니다.
하지만 최적화 옵션을 사용하고 안하고는 차이가 크니 컴파일시 꼭 사용하는 것을 추천한다.
'개발 > Linux' 카테고리의 다른 글
[Linux/리눅스] C/C++ 멀티스레드 환경에서의 수행 시간 측정 방법 (clock_gettime 함수 이용) (1) | 2017.04.27 |
---|---|
[Linux/리눅스] 우분투 홈 디렉토리의 사용자 폴더 경로 변경하기 (0) | 2017.04.26 |
[Linux/리눅스] 문자열 패턴 검색하기 (grep 명령어) (0) | 2017.04.23 |
[Linux/리눅스] 디스크 용량 및 파일 용량 확인하기 (df, du 명령어) (0) | 2017.04.19 |