원하는 파일들에서 색인을 만들수 있도록 만들어준다. 요 명령의 경우는 쉘스크립트로 만들어서 사용하는 것이 편하다.
vi에서 cscope를 사용하려면 다음과 같은 내용을 vi의 환경설정파일에 첨가해 주어야 한다.
[ ~/.vimrc ] set csprg = /usr/bin/cscope set csto = 0 set cst set nocsverb
if filereadable("./cscope.out") cs add cscope.out else cs add (cscope.out의 주소) endif set csverb
이후로는 vi의 cs명령을 사용하여서 검색이 가능하다.
:cs find (질의종류) (심볼)
4. vi팁
1) 파일 탐색기능 활용하여 현재 디렉토리 내에 파일 검색을 하도록 해줌. 단, exploer 플러그인이 설치되어야 함
:20vs ./
위의 예의 경우는 20라인짜리 수직선을 나누고 현재 디렉토리를 검색
2) 괄호탐색의 경우는 { 또는 }에 커서를 놓고 %키를 누르면 쌍이 되는 부분으로 이동
3) 함수를 접기 위해서는 { 문자에 커서를 놓고 v]}zf 명령을 눌러주면 함수가 폴딩된다. v]}는 블록을 형성하고 zf를 누르면 폴딩이 된다. 폴딩을 해제 할 경우는 -> 키를 누르거나 zo명령으로 폴딩을 해제해 준다. 쉽게 하기 위해서 환경파일에 다음과 같이 정의해 주면 편하다.
map <F1> v]}zf
4) 여러행에 탭을 넣을 때는 v 를 이용하거나 V를 이용해서 정리하거나 (수정할 행수)>> 명령 또는 <<를 통해서 조정이 가능하다.
7>>
위의 경우는 아래 7행을 탭하나 만큼 옮겨준다.
5) 복사로인해서 흐트러진 소스의 경우 v를 이용하여 블록을 잡아주고 =키를 눌러주면 정렬된다.
6) 파일을 바로 읽어오기 위해서는 파일명이 있는 위치에 커서를 놓고 ctrl+wf를 누르면 수평분할창에 파일이 열린다. 헤더파일 같은 경우 편하다.
간만에 시간이 남는 지라 이번에 사용하게 된 Virtualbox의 USB인식문제를 해결하기 위해서 웹검색을 시도해보았다. 스크립트를 만드는 방법도 있고 /etc/fstab을 수정하는 방법등 대체적으로 몇가지 방법이 있지만 현재 사용하고 있는 FC8에서 사용할 수 있는 방법이 없어서 몇번 시도하는 중 하나의 방법을 시도해 보고 성공하여서 올려보도록 한다.
/etc/rc.sysinit 파일에 다음과 같이 첨가해 준다. if [ ! -d /proc/bus/usb ]; then modprobe usbcore
>/dev/null 2>&1 && mount -n -t usbfs /proc/bus/usb
/proc/bus/usb -o devgid=501,devmode=664 else mount -n -t usbfs /proc/bus/usb /proc/bus/usb -o devgid=501,devmode=664 fi
대략 usb장치를 인식했을때 처음부터 인식 또는 새로 마운트 된경우 각각의 gid를 vboxuser로 연결해주고 권한을 664로 지정해 주는 것 같다. gid=501의 경우는 제 시스템의 경우 vboxuser가 501이기 때문에 써준 내용이다.
꽤나 찾고 시험해 보느라 고생했지만 방법을 찾아서 다행이다. ^^
ps. 찾는 문서중에 FC9 또는 FC10의 경우는 script를 작성해서 하는 방법인것 같은데, FC8에서는 적용이 되지 않았을 뿐더러 위의 방식이 좀 더 쉽게 고칠 수 있었다.
diff명령을 사용할때 문맥형식보다는 통합형식(-u 옵션)으로 사용하자. alias diff="diff-u" 로 정해놓는 것도 좋다.
파일 패치 배포를 위해서는 diff명령에 -urN 옵션을 준다. -u는 통합형식 -r 재귀적인 탐색, -N은 없는 파일의 경우는 비어있다고 판단하게 하는 것이다.
patch 명령의 경우 -p? 의 옵션의 경우는 ?에 나온 숫자대로 내부의 디렉토리 부분을 생략하도록 한다. /usr/bin/blueecho/test/module의 경우 -p2라고 하면 /usr/bin이 생략되어 최종적으로는 blueecho/test/module의 형태가 된다. -R 옵션인 경우는 거꾸로 diff명령을 통해서 나온 파일을 가지고 원 파일로 복원시키는 작용을 한다.
또한 find라는 명령에 대해서 활용 방법도 있다.
-newer옵션을 사용하여서 -newer 뒤에 나오는 파일보다 새로 만들어진 것만 찾는다.
윈도우에서는 케이블만 연결하고 포멧해주면 끝나는 게 리눅스에서는 생각보다 많은 작업을 해야 하더군요.(뭐... 처음해봐서 그런건지는 모르겠습니다만.. ^^) 하여간, 이번에 VirtualBox를 설치하게 되어서 윈도우PC를 퇴출시키는 김에 윈도우PC에 붙어있던 320G짜리 하드를 리눅스에 달기로 하고 작업에 착수했습니다.
[목적] 윈도우에서 가장 많은 영역을 차지하고 있는 개인계정상의 영역을 최대한도로 늘리기
[방법] 1. 하드디스크를 설치한다. 2. 부팅후 su를 이용해서 root권한확보(레드헷계열입니다. ^^) 3. fdisk(/sbin에 위치)를 이용하여서 파티션 분할 (제 경우는 /dev/sdb로 인식하였습니다. 인식확인은 dmesg를 이용하시면 하드디스크 연결정보가 나옵니다.
command> fdisk /dev/sdb
4. m 명령을 이용해서 명령어를 확인하면서 n 명령을 이용해서 파티션을 새로생성한다. 리눅스에서 사용할 것이므로 ext3를 이용하며 p 명령을 이용해서 확인하고 w명령을 이용해서 기록한다. 5. 파일시스템을 만들어준다. (포멧과 비슷) : 생성된 파티션을 /dev/sdb1이라고 할때
command> mke2fs /dev/sdb1
6. 새로 만들어진 sdb1을 연결하고 현재 생성하고자하는 디렉토리(/home) 부분을 카피해준다.
7. 정상적으로 마운트 되는지 확인하고 /etc/fstab에 기록하여서 부팅시마다 자동 마운트 되게 해준다. (/etc/fstab의 마지막에 다음과 같이 써준다.)
/dev/sdb1 /home ext3 defaults 1 1
-- 각 부분의 명칭은 다음과 같다.
more..
1번 필드 디바이스명 2번 필드 마운트 포인트 3번 필드 파일 시스템종류 4번 필드 파일시스템 고유 옵션 (default= 읽고 쓰기 가능, noauto=명시하지않는 이상 마운트안함*플로피,ro=읽기전용,usrquota 사용자용량제한) 5번 필드 앞자리 숫자 0 은 Dump 안함 1은 Dump 함 6번 필드 뒷자리 숫자 0 은 무결성 체크안함 1은 무결성 체크함