panda.jpg



안녕하세요 판다 이우영 입니다.


오늘은 리눅스 터미널로 작업하실 경우 유용한 기능 하나를 알려드리겠습니다.

(특히 커널 작업하실 경우 강추!!)


1. tags




요즘 컴파일러들은 유용한 기능들이 많이 있죠.


구조체의 구성 변수들을 바로 보여주거나 함수 선언되있는 파일로 바로 이동 한다거나


아주 유용한 기능들입니다.


문론 리눅스 GUI 환경에서는 이크립스등 유용한 툴이 있습니다.


하지만 아직 많은 리눅스 사용자들은 터미널에서 작업을 하는 경우가 많습니다.


리눅스를 분석하다 보면 함수를 찾아 이곳 저곳을 뒤지는 경우가 많습니다


이것을 편하게 해주는 것이 tags 입니다.


그럼 우선 설치 방법에 대해서 알아 볼까요?


2. 설치 방법




우선 패키지가 설치 되어 있어야 합니다.


다음 명령어를 통해 패키지를 설치 합니다.


apt-get install ctags 


위와 같이 설치 되었다면 tag를 만들 폴더 위치로 이동합니다.


예를 들어 저는 커널에 tag를 걸도록 하겠습니다.


저는 linux-2.6.29 커널에 걸어 보았습니다.


ctags -R 


위 명령을 치시면 한참의 시간이 지나 tags 파일이 생성 됩니다.

(함수등의 정보가 많기 때문에 매우 큰파일이 생성됩니다 ㅎㅎ)


01.PNG


3. 간단한 사용방법




우선 vi를 통해 한 파일을 open 하겠습니다.

(전 init/main.c를 열어 보았습니다.)


02.PNG


그럼 원하는 함수 명위치로 이동 후 


Ctrl + ] 를 누르 시면 해당 함수의 선언된 위치로 이동하게 됩니다.


03.PNG


함수 선언을 찾아 왔습니다.


하지만 alpha 라는 아키텍처내요 ㅠㅠ


이때는 :tn 명령을 통해 다음 파일로 넘어 갈 수 있습니다.


04.PNG


그럼 다음과 같이 arm 을 찾으실 수 있습니다.


05.PNG


만약 다시 뒤로 돌아가고 싶으시다면 Ctrl + t 를 누르시면 뒤로 돌아 갑니다.


한가지 주의 하실 점은 현재 상태가 저장이 되어 있지 않다면 이동이 불가능 합니다.


!!!꼭 수정 사항은 저장을 바로 하셔야 합니다.


사용 해보시면 매우 유용하다는것을 알게 됩니다.

(grep을 이용한 함수 찾기등 매우 시간이 단축 됩니다.)


그럼 오늘은 여기 까지!!


다음시간에 만나요~~