본문 바로가기

리눅스

(4)
[C/C++] 헤더 파일은 어디서 소스를 가져올까? 0. 개요 Linux 환경에서 커널을 살펴보거나 C 프로그래밍을 하다 보면 의문점이 생긴다. #include #include "myheader.h" 위와 같이 소스코드 맨 위에서 #include를 통한 헤더파일 삽입 전처리기를 사용하는데, 는 컴파일러가 정해놓은 루트(리눅스에선 일반적으로 /usr/include/)에서 찾고, ""는 현재 폴더에서 찾는다는 사실! ...까지는 많은 사람이 알고있다. 그런데 막상 그 헤더파일을 까보면 1) 각종 매크로 2) 구조체 3) 함수 선언부 4) 인라인 함수 5) 주석만 잔뜩 존재하고 3) 에서 선언된 함수의 소스는 찾을 수가 없다. 컴파일 구조를 생각했을 때, 우리가 작성한 main.c 파일 등에서 include한 것은 .o(오브젝트) 파일일 때에는 링크할 공간만 ..
[Linux] 프로세스 관련 명령어 : top, ps, kill 0. 약어 PID : 프로세서 ID RSS : 사용되는 실제 메모리의 용량(KB) USER : 실행시킨 계정 SZ : 스택 크기(KB) TIME : 현재까지 사용된 CPU의 시간 %CPU : 마지막 분동안 프로세서가 사용한 CPU시간의 백분율 TTY : 프로세서의 제어 터미널(t3=/dev/tty3) START : 시작 시간 STAT : 프로세스 상태 1. top 현재 실행되는 Task들을 유동적으로 관찰 가능. 윈도우의 작업관리자랑 비슷함. 2. ps 아래는 ps --help all 의 결과 이하 자주 쓰는 옵션들 -A , -e : 모든 프로세스 출력 (매우 길다) a : 다른 사용자의 프로세서도 출력 -a : 세션 리더 빼고 출력 -l : 자세한 정보 -u : 각 프로세서의 사용자 이름과 시작 시간 ..
[Linux] grep 명령어 사용법 1. 사용법 리눅스 쉘(bash)에서 다음과 같이 입력하면 된다. > grep [] [] 옵션, 파일에 대괄호가 쳐진 건 여러가지 옵션/파일을 적용할 수 있다는 뜻이다. 옵션은 -i, -E 같은 걸 말하고 패턴은 정규표현식이며 파일은 현재 bash shell이 사용되고 있는 폴더 내의 파일 이름을 말한다. 2. 옵션 주로 사용하는 옵션은 다음과 같다. -e : 패턴 전달 -f : 파일 내용을 패턴으로 사용 -d : 디렉토리 처리방식 (read, recurse, skip) -D : 장치 파일 처리방식(read, skip) -r : 하위 폴더 검색 -R : 모든 하위 폴더 검색 -I : 바이너리 파일은 검사 x -i : 대소문자 무시 -v : 조건 불일치 라인 선택 -w : 단어단위 매칭 -x : 라인단위 ..
[Linux] 우분투(Ubuntu) 20.04LTS 설치 및 세팅 0. 계기 리눅스가 또 일을 냈다. 19.04 버전을 잘 쓰는 와중 SQL좀 배우려고 했더니, 더이상 업데이트를 지원 안한다고 자꾸 리젝을 먹이더라. 하는 수 없이 19.10으로 업데이트하기 버튼을 눌렀는데, 완료 되었다면서 재부팅하더니 블랙스크린이다. 큰일났다. 과제랑 자료가 중요한 게 아니다. 하.... 설정 언제 다시 하지. 다음에 또 리눅스를 밀 때가 오는 것을 대비해 자주 쓰는 설정을 아카이브 해놓기로 했다. 1. 우분투(Ubuntu) 20.04LTS 설치 우분투도 인텔처럼 틱톡 전략을 쓴다. 짝수해 4월 패치는 장기지원(LTS), 나머지는 테스트용. 다행히 20년 4월 패치는 LTS다. 사실 구라다. 4월 20일 현재는 LTS가 아니라 베타버전이다. LTS는 4월 23일에 나온다더라. 그래도 ..