본문 바로가기

프로그래밍/리눅스29

[리눅스] VMPlayer에서 CentOS 5.7 설치 후 한글이 깨지는 경우 VM Player에서 CentOS 5.7 을 설치한 후, 언어에서 한글을 선택했을 때 한글이 깨지는 경우. ​root 계정으로 로그인 한 후 > yum install kde-i18n-Korean fonts-korean 입력 후 엔터 관련 프로그램들이 설치 됩니다. 그 후, 편집기로 아래 파일을 수정합니다. > vi /etc/sysconfig/i18n LANG="ko_KR.eucKR" SUPPORTED="ko_KR.eucKR:en_US.UTF-8:en_US:en:ko_KR.UTF-8:ko_KR:ko" SYSFONT="latarcyrheb-sun16" :wq 로 저장 > source /etc/sysconfig/i18n 서버를 리부팅하면 한글 설정이 완료됩니다. 2023. 3. 2.
[리눅스] gdb 또는 cgdb 에서 fork() 를 사용한 프로그램의 자식 프로세스 디버깅 옵션 gdb 또는 cgdb 를 실행한다 > gdb 실행프로그램명 프로그램 실행 화면에서 명령줄에 다음과 같이 입력한다. set follow-fork-mode child 자식 프로세스 부분에 브레이크 포인트를 설정한다. b 135 run 으로 디버깅을 시작하면 자식 프로세스의 브레이크 포인트에서 디버깅이 가능하다. run 옵션이 동작했던 버전 gdb : GNU gdb (GDB) CentOS (7.0.1-45.el5.centos) cgdb 0.6.6 참고 : 위 set 옵션이 지원되지 않는 버전의 gdb, cgdb 인 경우 안될 수도 있다고 함. 2023. 3. 2.
[리눅스] 쉘 스크립트 작성 스크립트 작성 후 실행권한을 주려면.. Chmod 755 DiskUsageCheck.sh 쉘 스크립트의 첫번째 라인에는 대부분 #!/bin/sh 라는 문장이 있는데, 이는 어떤 쉘을 이용하여 이 프로그램을 실행시킬 것인지를 지정하는 것이다. 즉, 스크립트가 실행되면 /bin/sh 프로그램 하에서 실행됨을 의미한다. 변수 그냥 변수명을 적으면 된다. 변수의 타입이나 형을 명시하지 않는다. 변수에 값을 할당하지 않아도 특별한 문제는 발생하지 않으며, NULL로 초기화하고 나중에 값을 할당하려고 한다면 다음과 같이 한다. name= 변수에 값을 할당할 때는 ‘=’ 기호를 사용하는데 = 사이에 공백을 넣으면 안된다. name=JUNGJH # 맞다. name = JUNGJH # 틀리다. 만일 입력하려는 이름에 공.. 2023. 3. 2.
[리눅스] GDB 사용법 출처 :http://kwanseob.blogspot.kr/2012/03/gdb.html *참조도서: "유닉스 리눅스 프로그래밍 필수 유틸리티" GDB를 이용하기 위해서는 컴파일 과정에서 디버깅 정보를 삽입해야 한다. 컴파일 시 옵션 'g' 이용 $ gcc -g -o main main.c 컴파일이 정상 종료 되면 GDB를 실행한다. gdb [프로그램명] $ gdb main gdb [프로그램명] [프로세스PID] $ gdb main 1928 GDB가 정상 실행되면 터미널의 프롬프트가 (gdb)로 바뀌게 된다. 종료방법에는 크게 두가지가 있다. ctrl + d (gdb) q (gdb) quit 옵션에 따라 실행중인 프로그램의 소스를 다양한 방법으로 볼 수 있다. l(list) list 10 list [함수명].. 2023. 3. 2.
[리눅스] curl 설치 (ssl 적용) root 계정으로 설치를 진행해야 한다. curl에서 ssl(https) 을 사용하려면 openssl 을 먼저 설치해야 한다. 다음 설치글 참고(http://blog.naver.com/angelmic3/100158239134) 1. 다운로드경로 : http://curl.haxx.se/download.html 다운로드파일 : 최신파일 다운로드 다운로드 후, 임의의 폴더에 압축 해제 후 생성된 curl 폴더로 이동 2. 설치 : ./configure --disable-ipv6 --with-ssl=/usr/include/openssl make make install (libcurl.so is now in /usr/local/lib) 3. 설치확인 : cd /usr/local/lib libcurl.a libcu.. 2023. 3. 2.
[리눅스] 파일 내, 폴더 내 문자열 한번에 변경 1. 파일 내 문자열 변경 1.1 변경할 파일을 vi 로 open. 1.2 명령 모드로 전환 후 %s/old/new/g 입력 %s : substitute old : 찾을 문자열 new : 변경할 문자열 g : 전체 범위 2. 폴더 내 파일들에서 문자열 전체 변경 2.1 현재 폴더내에서 "확장자가 sh" 인 파일들 중 abc 라는 문자열이 있는 파일들을 찾아서 출력한다. ##> find . -type f -name "*.sh" -exec grep "abc" {} \; -print 2.2 현재 폴더내에서 "확장자가 sh" 인 파일들 중 abc 라는 문자열을 찾아서 ABC 문자열로 모두 변경한다. ##> find . -type f -name "*.sh" -exec perl -pi -e 's/abc/ABC/g'.. 2023. 3. 2.
[리눅스] 특정 문자열이 있는 프로세스 한번에 KILL ##> kill -9 `ps -ef | grep '찾을프로세스문자열' | grep -v grep | awk '{print $2}'` 2023. 3. 2.
[리눅스] 메모리 누수 확인 (Memory leak check) valgrind 활용 1. valgrind 설치 루트 계정으로 설치한다. root> yum install valgrind 또는 아래 방법 중 소스로 설치 하는 방법을 참조 2. valgrind 활용법 2.1 확인 방법 1 지금껏 여러 가지 프로그램을 만들어 왔습니다만, 항상 작업 중에 신경이 쓰이는 것이 메모리 관리입니다. 전역 변수도 길가의 고깃 덩어리라고 생각하지만, 무엇보다도 malloc() 같은 메모리 할당 함수 사용은 항상 조심하게 됩니다. 나름 열씸히 free()함수와 짝을 맺게 해서 메로리가 누수되는 불행한 일이 없도록 노력합니다. 그러나 사람이 실수라는 것이 있는데, 아무리 잘못 없이 작성했다고 하더라도 아무 이상이 없는지 확인하는 것도 프로그램에 대한 신뢰를 올릴 수 있어 심적으로도 안심하고 부담감을 줄일 수.. 2023. 3. 2.
[리눅스] 메모리 사용 현황 보기 watch -n 1 cat /proc/meminfo 터미널에서 위와 같이 실행하면 된다. 1초간 계속 확인시켜 준다. 2023. 3. 2.
[리눅스] vi ctag cscope 출처 : http://sosal.tistory.com/11 =========================== vi =========================== ~/.vimrc :: ~는 사용자 home풀더. .vimrc 파일은 vim을 실행시킬때 자동으로 실행되는 파일입니다. // .vimrc 내용 // set tabstop=4 # 탭간격 4칸 set shiftwidth=2 # >>나 cscope.files [cscope]를 실행합니다. cscope는 두부분으로 나뉩니다. 윗부분은 결과물, 아랫부분은 검색부분입니다. 각 부분은 [tab] 키로 이동할 수 있습니다. Find this C symbol: ctags와 마찬가지로 C심볼을 찾습니다. (변수, 함수, 매크로, 구조체 등) Find this g.. 2023. 3. 2.
반응형