본문 바로가기

Linux

awk에서 쉘파라메터 사용하기 STAT=`awk '/log \{ source\(s_sys\); filter\(f_comnd\); destination\(d_'"${2}"'loghost\);/ { print $1 }' ./syslog-ng.conf` '"$PARAM"'
[LINUX] ARP 테이블 클리어, ip 툴 ip -s -s neigh flush all (09:19:24 AM) $ sudo ip -s -s neigh flush all 10.3.0.1 dev eth0 lladdr 44:03:a7:a9:14:c1 ref 3 used 34/0/5 REACHABLE 10.3.0.255 dev eth0 ref 2 used 23064/23124/23064 192.168.10.18 dev eth1 lladdr 00:e0:81:d0:e4:9a ref 3 used 5/0/0 REACHABLE *** Round 1, deleting 3 entries *** *** Flush is complete after 1 round ***
VMWare+Linux 루트 패스워드(Root Password) 복구 방법!! 1. 부팅시 'TAB' 키를 눌러 GRUB 메뉴로 들어간다. 2. 'e' 키를 누른다. Kernel /vmlinuz-xxxxxxx 를 선택하고 다시 'e' 키를 누른다. 3. 라인의 끝에 "1"을 추가하고 엔터.. Enter --> 4. 'b'를 눌러서 booting을 한다. 명령 프로프트가 뜨면 'passwd'로 새로운 password를 입력하고, "shutdown -r now"명령으로 재부팅 하면 끝!!
[C언어] Linux Pthread & Signal, Itimer 간단 예제와 의문!! 비교적 정확한 주기로 특정 액션을 수행할 필요가 있어 SIGALRM을 주기적으로 발생시키는 setitimer() 를 사용해 보았습니다. 그런데 이해 안가는 부분이 있어 기록 차원에 간단한 예제를 만들어 설명해 봅니다. 아래 예제는 100ms 주기로 시간을 찍어서 이전의 시간과의 차이를 출력하는 간단한 예제입니다. 그런데 요부분... signal(SIGALRM, SIG_IGN); /* note : why??? */ SIGALRM이 발생하면 무시하라는 코드인데, 이 코드가 없으면 SIGALRM이 발생하는 시점에서 프로세스는 종료합니다. 시그널 핸들러를 등록하지 않을 때의 기본 동작입니다. 그런데 setitimer()를 호출하면 sigset 파라메터로 등록된 시그널을 사용하도록 해야 할 것 같고 thread내..
[SVN] ## 유용한 SVN 부가 명령어들 ## ## 유용한 SVN 부가 명령어들 ## 1. svn help[PMU][ ~/project/apn/packages/wbp-2.0.0 ] (11:47:34 AM) $ svn --help usage: svn [options] [args] Subversion command-line client, version 1.6.18. Type 'svn help ' for help on a specific subcommand. Type 'svn --version' to see the program version and RA modules or 'svn --version --quiet' to see just the version number. Most subcommands take file and/or directory ar..
[리눅스] 인터페이스 맥 주소(MAC Address) 수정하기 $ man ifconfig | grep hw hw class address $ ifconfig eth1.501 down $ ifconfig eth1.501 hw ether 00:11:F4:00:02:03 $ ifconfig eth1.501 up
[C언어] c/c++ gcc 디버깅을 위한 gdb 초간단 사용팁 1. gdb 사용을 위한 core 덤프 파일을 위한 준비작업 1.1 디버깅 정보를 포함하기 위해 gcc 컴파일 옵션의 CFLAGS 에 -g 옵션을 추가한다. ex) CFLAGS += -Werror -Wlong-long -Wno-pointer-sign –g 1.2 core 파일의 크기를 설정한다. 보통은 무한대로 설정하면 편하다. ulimit –c unlimited # ulimit -a 로 확인 1.3 core 덤프파일의 확장자로 pid 값을 달게 하기 위한 추가 작업 (option) sysctl -w kernel.core_uses_pid=1 # sysctl -a 로 확인 [주의] 2, 3의 항복은 쉘의 세션마다 적용이 된다. 부팅과정의 세션과 prompt가 뜨고 root 로 로그인 후의 세션은 다르다. ..
[리눅스] screen utility 사용법 screen은 하나의 콘솔 세션에 여러 개의 가상 스크린을 제공하기 위해 만들어진 유틸리티이지만, 많은 분들이 원격에서 터미널을 열고 작업을 하다가 장애로 통신이 끊길 때 작업중이던 일을 보호하기 위하여 사용합니다. screen은 잘 사용하면 안전하고 보다 효율적인 작업이 가능하므로 콘솔에서 vim 으로 코딩같은 작업을 할 경우 무척 유용하게 사용됩니다. 리눅스 시스템에 screen이 설치 되었다는 가정하에 바로 사용법을 알아보죠.. 참고로 저는 screen 타이핑이 불편해서 .bashrc 에 screen 을 'sc'로 alias 해서 사용하고 있습니다. 1. 스크린 생성 $ screen -S $ screen -S test1 --> 스크린을 위한 새로운 쉘이 생성됩니다. 2. 스크린 Detach $ aa..
[C언어] 리눅스 프로세스 이름으로 프로세스 아이디(PID) 구하기 #include #include static int which_number (char *s){ int len, i; len = strlen (s); for (i = 0; i '9')) return -1; return atoi (s);}int get_pid_from_proc_by_name (char *str){ DIR *dp; struct dirent *dir; char buf[100], line[1024], tag[100], name[100]; int pid; FILE *fp; dp = opendir ("/proc"); if (!dp) return -1;..
VIM 프로그래밍 관련 튜닝 및 운용 단축키 표(VIM Cheat Sheet)과 그밖의 팁 1. Vim 배우기 이 표는 KLDP의 Mr.Dust 님이 2009년 2월 viemu.com의 vim cheat sheet를 한글화한 자료입니다. 그 밖의 viemu.com의 VIM 튜토리얼 시트.... 2. vim 플러그인 설치 위치 ~/.vim/plugin 없으면 만들어 준다. [TagList] http://www.vim.org/scripts/script.php?script_id=273 왼쪽 스플릿 윈도우에 전역변수와 함수 리스트를 만들어 준다. 선택하면 바로 이동, vimrc에서 에 맵핑해서 사용하고 있다. [Buf Explorer] http://www.vim.org/scripts/script.php?script_id=42 여러개의 파일을 하나의 vim에서 열었을 때 리스트를 보고 편하게 이동할 수..
[리눅스] 프로세스 이름으로 검색(grep)해서 죽이기 - 프로세스 이름으로 검색해서 죽이기 # pgrep "process_name" | xargs kill -9 - 좀비 프로세스 검색해서 죽이기 간혹 fork() 프로그래맹을 하다보면 무지막지하게 좀비 프로세스를 양산해낼때가 있다. 이때 하나씩 지우는 건 너무 힘들고 ps와 grep을 이용해 한 번에 죽일 수 있다. # ps -ef | grep defunct | awk '{print $3}' | xargs kill -9 계속...