본문 바로가기

Computer Science/Linux

[Linux] 디렉토리별 사용량 확인 서버 운영시 저장장치의 용량이 부족한 경우 어떤 폴더가 용량을 많이 차지하는지 확인이 필요한 경우가 있다. 그럴 때 du를 사용하는데 옵션이 매번 헷갈려서 하나라도 제대로 알고자 남긴다. 현재 폴더를 기준으로 하위 depth1의 폴더들의 용량을 확인한다. du -h --max-depth=1 옵션은 centos7 기준으로 참고 Usage: du [OPTION]... [FILE]... or: du [OPTION]... --files0-from=F Summarize disk usage of each FILE, recursively for directories. Mandatory arguments to long options are mandatory for short options too. -0, --null .. 더보기
[linux] 오류 발생시 메일 보내기 배치작업에 오류가 발생한 경우 자동으로 메일을 보내도록 설정 MAILTO="email 주소" LOGFILE=log.txt SUBJECT="[ERROR] 에러발생" 커맨드 > ${LOGFILE} || mail -s ${SUBJECT} ${MAILTO} < ${LOGFILE} 더보기
[linux] grep, awk를 활용한 process kill 특정 string을 포함한 프로세스만 한번에 kill 하고 싶을때 grep과 awk를 이용하여 pid를 구하고 한번에 kill 하는 방법 kill $(ps aux | grep 'substring' | awk '{print $2}') 더보기
[linux/centos7] mail postfix system 상태 확인 및 실행 CENTOS 7 환경 Postfix mail system 동작 확인 후 실행 sudo postfix status postfix/postfix-script: the Postfix mail system is not running sudo postfix start postfix/postfix-script: starting the Postfix mail system 더보기
[Linux] grep을 활용한 특수문자 추출 how to grep lines contains special chracter. how to grep not english, korean, digit chracter. CENTOS 7 기준 옵션 -P, --perl-regexp PATTERN is a Perl regular expression command grep -P "[^a-zA-Z0-9\d\s가-힣]" 해석하자면 다음과 같다 a-z 또는 A-Z 또는 0-9 또는 \d(digit number) 또는 \s(space) 또는 가-힣 에 포함되지 않는(^) 문자가 포함된 라인을 출력한다. 더보기
리눅스 패턴매칭으로 파일 지우기(Remove files by pattern matching in linux) 특정 패턴에 따라 파일을 지우고 싶은경우 사용한다. 필자의 경우 회사에서 teamviewer를 설치했다 지웠는데 비인가 프로그램이라고 연락이와서 지웠는데 파일까지 깔끔하기 지우라는 요청을 받았다. 그리하여 teamviewer라는 키워드가 들어간 모든 파일을 지우기위해 사용했다. find . -name '*remove_file_pattern*' -delete 함부로 지웠다가 시스템를 망가트릴 수 있으니 지우기전에 먼저 파일 리스트를 먼저 확인하고 지우세요! 더보기
[Linux/Kernel] sk_peer_pid 구조체의 용도 해당 socket이 UNIX domain socket으로 사용되는 경우 통신을 하는 상대 Process의 PID정보를 가지고 있는 data이다. 그 이외에 Internet Protocol로 사용되는 경우에는 NULL로 초기화 되어있다, UNIX domain socket이 무엇인지는 다음 글에 설명되어 있다. 2015/07/14 [Linux] Unix Domain Socket 더보기
[Linux] Unix Domain Socket Unix Domain Socket이란. 동일안 Host에서(즉, 하나의 OS system에서) process들 간의 통신을 하는 socket을 뜻한다. 우리는 process들 끼리 통신을 하기위해 message queue나 shared memory 같은 IPC(Inter-Process Communication)기법을 사용하여 통신을 할 수도 있지만 Socket을 사용하여 이용해 IPC를 구현 할 수 있다. 리눅스 상에서 netstat 명령어를 사용하여 시스템의 모든 socket들을 출력해보면 Active Internet connections와 Active UNIX domain sockets라는 2가지 목록을 볼 수 있다. Internet connection은 외부와 통신하는 socket이다. 더보기