'Unix/Linux'에 해당되는 글 3건

  1. 2009.09.14 :: [스크랩] 리눅스 시그널 정리
  2. 2009.06.02 :: Debug
  3. 2009.06.02 :: vi 필수 명령어
Unix/Linux 2009.09.14 17:12

출처 : http://fromnil.egloos.com/

1

SIGHUP(HUP)

연결 끊기. 프로세스의 설정파일을 다시 읽는데 사용된다.

2

SIGINT(INT)

인터럽트

3

SIGQUIT(QUIT)

종료

4

SIGILL(ILL)

잘못된 명령

5

SIGTRAP(TRAP)

트렙 추적

6

SIGIOT(IOT)

IOT 명령

7

SIGBUS(BUS)

버스 에러

8

SIGFPE(FPE)

고정소수점 예외

9

SIGKILL(KILL)

죽이기. 이 시그널은 잡히지 않는다.

10

SIGUSR1(USR1)

사용자 정의 시그널1

11

SIGSEGV(SEGV)

세그멘테이션 위반

12

SIGUSR2(USR2)

사용자 정의 시그널2

13

SIGPIPE(PIPE)

읽을 것이 없는 파이프에 대한 시그널

14

SIGALRM(ALRM)

경고 클럭

15

SIGTERM(TERM)

소프트웨어 종료 시그널, 일반적으로 kill 시그널이 전송되기 전에 전송된다. 잡히는 시그널이기 때문에 종료되는 것을 트랙할 수 있다.

16

SIGTKFLT

코프로세서 스택 실패

17

SIGCHLD(CHLD)

자식 프로세스의 상태변화

18

SIGCONT(CONT)

STOP 시그널 이후 계속 진행할 때 사용.

19

SIGSTOP(STOP)

정지. 이 시그널 역시 잡을 수 없다.

20

SIGTSTP(TSTP)

키보드에 의해 발생하는 시그널로 Ctrl+Z로 생성된다.

21

SIGTTIN

백그라운드에서의 제어터미널 읽기

22

SIGTTOU

백그라운드에서의 제어터미널 쓰기

23

SIGURG

소켓에서의 긴급한 상태

24

SIGXCPU

CPU 시간 제한 초과 setrlimit(2) 메뉴얼 패이지 참조

25

SIGXFSZ

파일 크기제한 초과 setrlimit(2) 메뉴얼 패이지 참조

26

SIGVTALRM

가상 시간 경고 setitimer(2) 메뉴얼 패이지 참조

27

SIGPROF

프로파일링 타이머 경고. setitimer(2) 메뉴얼 페이지 참조

28

SIGWINCH

윈도우 사이즈 변경

29

SIGIO

기술자에서 입출력이 가능함. fcntl(2) 메뉴얼 참조

30

SIGPWR

전원 실패

31

UNUSED

사용 안함

'Unix/Linux' 카테고리의 다른 글

[스크랩] 리눅스 시그널 정리  (0) 2009.09.14
Debug  (0) 2009.06.02
vi 필수 명령어  (0) 2009.06.02
posted by ssuk1010
Unix/Linux 2009.06.02 20:17


 ------------------ 실행 방법 ------------------

 gdb 프로그램명 ex) gdb bugprg
 gdb 프로그래명 코어파일명 ex) gdb bugprg core.14998
 gdb 프로그램명 실행중인 프로세스 PID ex) gdb bugprg 14998

 
 ------------------- 종료 방법 -----------------

 q or Cntr+d

 
 -------------------- 보기 ---------------------

 set listsize 20 -> 한번에 출력되는 행 수 조절
 l(list) -> 소스 내용 출력
 l 10 -> 10행을 기준으로 출력
 l func이름 -> func을 기준으로 출력
 l main -> main함수 기준으로 출력
 l file.c:func -> file.c의 func을 기준으로 출력

 -------------------- 브레이크 포인트 -------------

 r -> 어떤 파일의 어떤 함수 부분에서 어떠한 문제가 발생했다는 것을 표시
 bt -> 스택을 백트레이스 하면서 어떤 함수를 호출하다가 문제가 발생했는지 표시
 
 b func -> funt시작에 브레이크 포인트 설정
 b 10 -> 10행에 브레이크 포인트 설정
 b file.c:func -> file.c의 func에 브레이크 포인트 설정
 b +2 -> 현재 행에서 2개 행 이후에 브레이크 포인트 설정
 b 10 if var =0 -> 10행에서 설정하는데 변수값이 0일때 동작
 condition [N(브레이크번호)] var ==0 ->이미 그 행에 브레이크 포인트가 걸려있을때 condition으로
   조건을 걸어서 설정할 수 있다.

 tb -> b는 gdb내내 브레이크가 존재하고 tb는 한번만 실행한다.
 cl(clear)  func -> 브레이크 포인트 지움
 cl 10 -> 10행에 브레이크 포인트 지움
 cl file.c:10  -> 브레이크 포인트 지움
 cl -> 모든 브레이크 포인트 지움

 info b(info breakpoints -> 모든 브레이크 정보 보기


 -------------------- 프로그램 수행 -------------------

 r : 프로그램 수행
 r arg1  arg2 -> arg1과 arg2를 인자로 프로그램 수행
 k -> 프로그램 수행 종료

 s(step) -> 현재 행 수행하고 멈춘다. 현재행이 함수를 호출하는 부분이라면 함수의 내부로 들어가서 수행
 n(next) -> 현재 행 수행하고 멈춘다. 현재행이 함수를 호출하는 부분이라면 함수의 내부로 들어가지 않음
 c(connection) -> 다음 브레이크 포인트를 만날때까지 수행
 
 u -> for문을 빠져나옴
 finish -> 함수가 끝난 시점으로 간다
 return (리턴값) -> 함수의 나머지 부분을 수행하지 않고 빠져나옴
 si -> 현재 인스트럭션을 수행. 함수 호출시 내부로 들어감
 ni -> 현재 인스트럭션을 수행. 함수 호출시 내부로 들어가지 않음


 ---------------------- 값 확인 -------------------------

 watch 변수명 -> 변수값이 어떻게 변하는지 확인할 수 있음
 info locatls -> for문 위치에서 어떤 지역변수들이 있으며 각각 값은 무엇인지 볼 수 있음
 info variables -> 어떤 전역변수들이 있으며 각각 값은 무엇인지 볼 수 있음
 p 변수 -> 해당 변수 값이 보임
 p 함수 -> 함수의 주소 값이 보임
 p 포인터 변수 -> 포인터 변수가 가리키는 주소
 p *포인터 변수 -> 포인터 변수가 가리치는 주소에 있는 값
 display 변수 -> 변수값을 매번 화면에 디스플레이 한다.
 undisplay 디스플레이 번호 -> 디스플레이 설정을 없앤다.
 diable display 디스플레이 번호 -> 디스플레이를 일시 중단한다.
 enable display 디스플레이 번호 -> 디스플레이를 다시 활성화한다.
 
------------------------ 출력 형식의 지정 ----------------

 t -> 2진수
 o -> 8진수
 d -> 부호있는 10진수
 u -> 부호없는 10진수
 x -> 16진수
 c -> 최초 1바이트 값을 문자형으로 출력
 f -> 소수점을 출력
 a -> 심볼을 오프셋을 출력

'Unix/Linux' 카테고리의 다른 글

[스크랩] 리눅스 시그널 정리  (0) 2009.09.14
Debug  (0) 2009.06.02
vi 필수 명령어  (0) 2009.06.02
posted by ssuk1010
Unix/Linux 2009.06.02 20:13


ESC + :e filename -> 현재파일을 저장하지 않고 다른 파일을 불러온다.

(입력모드) s -> 현재 커서의 글자 지우고 입력

------------- 이동하기 -----------------------

 w -> 다음 단어의 첫 글자로 이동
 b -> 이전 단어의 첫 글자로 이동

 gg -> 문서의 맨 첫 행으로 이동
 G -> 문서의 맨 끝으로 이동

 ^ -> 행의 시작으로 이동
 $ -> 행의 끝으로 이동

 

-------------- 삭제하기 --------------------

 x -> 한 글자 삭제
 dw -> 한 단어 삭제
 dd -> 한 행 삭제


-------------- 복사하기 ---------------------

 yw -> 현재 위치의 한 단어 복사
 yy -> 현재 위치의 한 행 복사

 p -> 복사한 것 붙여넣기


-------------- 블로지정 동작 -----------------

 v & 이동커서 -> 블록지정
     d : 잘라내기 및 삭제
     y : 복사
     < : 행 앞에 탭 삭제
     > : 행 앞에 탭 삽입


-------------- 되돌리기 -----------------------

 u -> 되돌리기
 Ctrl + r -> 되살리기


 ------------- 검색하기 ------------------------

 / or ? + 문자 -> 검색하기
    n : 다음 단어로 이동
    N : 이전 단어로 이동
 * -> 단어 위에서 *를 입력하면 아래로 검색
 # -> 단어 위에서 #을 입력하면 위로 검색


 ------------- 단어 바꾸기(치환) ----------------

 %s/바뀌기 전 단어/바꾼 후 단어/g -> 단어 치환(문서전체)
 s/바뀌기 전 단어/바꾼 후 단어/g -> 단어 치환(매칭되는 가장 처음 문장)
    gc(단어마다 모두 치환할 것인지 물어본다)


 ------------ 여러파일 동시에 열기 --------------

 vi file1 file2 .... -> 여러 파일을 동시에 연다.
   b1 : 첫 번째 파일 버퍼
   b2 : 두 번째 파일 버퍼
    .....

 map ,1 :b!1<CR> -> , 를 누르고 뗀 다음 숫자 1을 누르면 첫 번째 파일 버퍼로 간다.


 ------------ 다중 창 사용하기 -------------------

 Ctrl + w 을 동시에 누른 다음 n -> 창으로 반으로 나뉘면서 위에 빈 공간이 생긴다.
 e filename -> 위의 빈 공간에 새로운 파일을 연다.
 Ctrl ww -> 두 파일이 번갈아 가면서 커서가 이동한다.
 Ctrl + w q or :q! -> 열린 파일 닫기

 Ctrl + w s -> 현재 파일을 수평으로 분할
 Ctrl + w v -> 현재 파일을 수직으로 분할
 Ctrl ww -> 두 파일이 번갈아 가면서 커서가 이동한다.
 Ctrl + w q or :q! -> 열린 파일 닫기


 ------------ 마킹해서 이동하기 --------------------

 ma -> 현재 위치를 a로 마킹하기
 `a -> a로 마킹된 위치로 가기


 ------------ 쉘 명령어 사용하기 ------------------

 :!쉘 명령어(예 : ls) -> 현재 파일을 닫지 않고 쉘 명령어를 실행하고 파일로 돌아갈 수 있음


 ------------- 파일 탐색 기능 ---------------------

 :20vs ./ -> 현재 폴더에 있는 파일들의 리스트를 볼수 있다.

 
 -------------- 괄호 이동 및 탐색 -------------------

 {  } -> 블럭의 처음과 끝으로 이동한다.
 [[ -> 현재 함수의 맨 처음으로 이동
 ]] -> 다음 함수의 맨 처음으로 이동
 % -> { or } 에서 누르면 쌍을 이루는 괄호로 이동한다.


 -------------- 폴딩 --------------------------------

 v ]}zf : 함수를 접어서 블록으로 형성한다. (어려우니 map으로 지정해놓자)
 v zo : 접은 함수로 가서 누르면 접었던 함수가 펴진다.


 ------------- 탭 사이즈 조정 ----------------------

 :set ts = 8 -> 문서 전체의 탭 사이즈를 8로 조정한다.
 :set tabstop=4

 :set ai -> 자동 들여쓰기
 :set autoindent  -> 자동 들여쓰기

 
 ------------- 흐트러진 소스 정렬 ------------------

 v = -> v로 선택하여 블록을 지정한 다음 =를 누르면 소스가 정리된다.

 

 -------------- 달라진 소스 확인 -------------------
 
vimdiff 첫번째 파일 두번째 파일
do = 오른쪽 파일에서 다른 점을 왼쪽으로 옮겨오기
dp = 왼쪽 파일에서 다른 점을 오른쪽으로 옮겨오기

체크인 버전에 따라 비교하기
vd PvbGetAttGroup.c
PvbGetAttGroup.c@@/main/1


Ctrl + w + w -> 분할된 화면 이동

Ctrl + w + = -> 분할된 화면의 크기가 동일하도록 조정

] + c -> 차이점이 있는 부분으로 이동 (Down)

[ + c -> 차이점이 있는 부분으로 이동 (Up)

d + o -> 현재 커서가 위치한 창 쪽으로 반대 창 쪽의 내용을 적용 시키기

d + p -> 현재 커서가 위치한 창 쪽의 내용을 반대 창 쪽으로 적용 시키기

z + o (or space) -> 접혀 있는 부분 열기

z + c -> 차이점 없는 부분 접기

:diffupdate -> 문서 간의 차이점을 다시 비교하도록 하는 명령 (한 쪽 창의 내용을 edit하다 보면 문서 간의 차이점을 나타내는 색깔이 없어지기도 함)


3. diff된 단락으로 점프

[c            % 변화가 있는 이전 단락의 처음으로 점프
]c            % 변화가 있는 다음 단락의 처음으로 점프

4. diff시 접힌 단락 펼치기

diff를 이용하면서 비교할 필요가 없는 단락들은 자동으로 접어두게 됩니다. 접혀진 내용을 보거나 다시 접을 때 사용하는 명령어 들입니다.

za            % 커서위의 folded paragraph를 토글합니다.
zR            % 모든 접힌 단락을 펼칩니다.
zM           % 모든 열린 단락을 접습니다.

 

창넘나들기(Window)
diff를 사용하면 창이 분할이 됩니다. 이때 창을 넘나들며 편집을 해야하는데 이 때 사용할 수 있는 명령어들을 함께 소개합니다. 물론, diff 이외에도 모든 창분할시 사용되는 명령입니다.

1. 창 나누기

CTRL-W s         % 가로 창 나누기
CTRL-W v         % 세로 창 나누기


2. 창 닫기

CTRL-W q


3. 창 이동하기

CTRL-W w                 % 열린 창들을 순서대로 편집창 이동
CTRL-W [h/j/k/l]       % 커서방향에 따라 편집창 이동

4. 창 크기 조절하기

CTRL_W =            % 모든 창들의 너비와 높이를 동일하게 조절한다.
CTRL_W +            % 현재 편집 창의 크기를 늘린다.
CTRL_W -            % 현재 편집 창의 크기를 줄인다.
CTRL_W CTRL_-   % 현재 편집 창을 최대로 늘린다.


 -------------- buffer에 저장 -------------------------
 
 1) v로 블록지정
 2) :w! /tmp/11
 3) 복사할 위치에 :r /tmp/11

 -> 11이라는 버퍼에 저장되고 붙여넣기가 된다.
 

'Unix/Linux' 카테고리의 다른 글

[스크랩] 리눅스 시그널 정리  (0) 2009.09.14
Debug  (0) 2009.06.02
vi 필수 명령어  (0) 2009.06.02
posted by ssuk1010