OS/LINUX 38

[Tips] 리눅스 파일시스템

1. 개요 파일시스템은 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체계이다. 통상적으로 하드디스크나 CD-ROM 같은 물리적인 저장장치를 이용하여 관리하는 것을 가리킨다. 리눅스에서 지원하는 파일시스템은 ext3, ext4, swap, xfs, iso9660 등이 있고, 하드디스크의 종류로는 IDE, SATA, SCSI, SAS 가 있다. 이 중에서 SAS 가 가장 좋다.윈도우는 기존에 익숙한 NTFS, FAT, FAT32 등의 파일 시스템을 사용한다. 참고로, 리눅스 파티션은 Primary(최대 4개), Extended, Logical(최대 12개) 파티션으로 구성된다. 2. 파티션 설정 및 마운트 파티션을 생성하고, 생성한 파티션을 마운트하여 사용하는 절차는 아래와..

OS/LINUX 2019.05.08

[명령어] watch 이해

1. 개요 주기적으로 반복하여 명령어를 실행하여 결과를 표준 출력으로 보여주는 명령어이다. 시스템 자원 또는 반복적으로 수행이 필요한 명령어를 실행할 때 유용하게 사용된다. 2. 사용법 Usage: watch [-dhntv] [--differences[=cumulative]] [--help] [--interval=] [--no-title] [--version] -d, --differences[=cumulative] highlight changes between updates (cumulative means highlighting is cumulative) -h, --help print a summary of the options -n, --interval= seconds to wait between up..

OS/LINUX 2019.05.06

[정보] 리눅스 CPU 정보

CPU 정보는 /proc/cpuinfo라는 파일을 통해 알 수 있다. 명령어로 확인하면 아래와 같이 리눅스 시스템 CPU 정보가 보여진다. (예시) $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz stepping : 10 microcode : 0xa07 cpu MHz : 1998.000 cache size : 2048 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 4 apicid : 0 initial apicid : 0 fpu : yes fpu_ex..

OS/LINUX 2019.01.21

[명령어] fuser 자주 사용하는 예제

fuser 명령어는 특정 파일시스템, 디렉터리 또는 파일 등을 사용하고 있는 프로세스 정보나, 사용자 정보 등을 알고자 할때 유용하게 사용된다. 예를 들어 /cdrom을 포함한 파일 시스템을 umount해야 하는데, "busy"라는 메시지와 함께 umount가 되지 않을때, fuser 명령어를 통해 잡고 있는 프로세스 정보를 알아 조치를 할 수 있다. 1) $ fuser -u /data/data 파일 시스템을 사용하고 있는 프로세스와 사용자 정보를 출력한다. 2) $ fuser -k /data/data 파일 시스템을 사용하고 있는 모든 프로세스에 SIGKILL을 보내 강제 종료시킨다. 3) $ fuser -v /data/data 파일 시스템을 사용하고 있는 프로세스와 사용자의 상세한 정보를 출력한다.

OS/LINUX 2018.07.15

[Tips] bash에서 디버깅

최근 화두인 Linux는 기본적으로 bash을 많이 사용한다. bash 쉘 스크립트 프로그래밍 시에 디버깅하는 방법은 다양하다. 작성한 쉘 스크립트가 생각한대로 출력되거나 실행되지 않을때, 기초적으로는 변수 또는 결과 값을 echo 로 출력한다. 이 보다는 bash 옵션을 통해 디버깅하는 방법은 아래와 같다. 1. 쉘스크립트를 실행하지 않고 문법 검사하기 1) set -o noexec 설정후, 쉘 스크립트 실행 (참고로, 해당 설정 제거는 set +o noexec 임) 2) bash -n [스크립트 파일] 2. 쉘스크립트에 있는 명령어를 실행하기 전에 출력하기 1) set -o verbose 설정후, 쉘 스크립트 실행 (참고로, 해당 설정 제거는 set +o vervose 임) 2) bash -v [스크..

OS/LINUX 2018.07.04

[명령어] netstat 설명

네트워크 연결, 라우팅 테이블 등 네트워크 관련 다양한 정보들을 출력해주는 명령어임 netstat [-a] [-b] [-e] [-f] [-n] [-o] [-p protocol] [-r] [-s] [-t] [-x] [-y] [time_interval] [/?] 유용한 옵션 사용예제는 다음과 같다. 1. 모든 포트 목록 조회 $ netstat -a 2. 모든 TCP 또는 UDP 포트 목록 조회 (-t 또는 -u) $ netstat -at 또는, $ netstat -au 3. 조회 시에 DNS 질의를 하지 않고, IP로 출력함 (-n), 빠른 조회를 위해 -an 옵션은 함께 사용할 것을 권장함 $ netstat -an [응용] 80 포트로 연결된 세션의 상태별 세션 수 $ netstat -an | grep "..

OS/LINUX 2016.12.03

[명령어] more 설명

1. 개요 more 명령어는 기존 vi나 cat과 같은 명령어와 비슷하게 파일 내용을 출력하는데, 한번에 스크린에 맞게 출력하는 명령어이다. 2. 사용법 $ more [-dlfpcsu] [-num lines] [+/pattern] [+linenum] [file ...] 3. 주요 명령어 명령어설명 h, ? 도움말 Space Bar 다음 한 페이지 보여주기 f 이전 한 페이지 보여주기 Enter 현재 행에서 한 행씩 다음으로 이동하기 b 한 페이지씩 앞으로 이동하기 /문자열 문자열 검색하기 n /문자열로 검색한 문자열 다음 문자열 찾기 (Next) !쉘명령어 서브쉘명령어 실행 v more 명령어로 열려있는 파일의 현재 위치에서 vi 실행 q more 실행 종료

OS/LINUX 2016.10.17

[툴] ctags 사용법

1. 개요 ctags 툴은 리눅스에서 vi/vim 에디터를 이용하여 소스 분석을 할 때 유용하게 사용할 수 있도록 해 줌.소스에사 특정 구조체, 함수, 매크로 등 (tag라고 표현)이 선언되고 구현된 위치로 이동하여 준다.이는 소스 분석을 빠르고 쉽게 할 수 있도록 도와준다.비스한 툴로 더욱 기능이 많은 cscope이라는 툴이 있다. 2. 사용방법 1) 설치 바이너리 다운로드 [다운로드 사이트] http://rpmfind.net/linux/rpm2html/search.php?query=ctags wget 등 명령어로 OS에 맞는 설치할 바이너리를 다운로드한다. 2) 설치 apt-get 또는 rpm 등 각 리눅스에 설치명령어에 맞는 툴로 설치한다. 3) 분석 소스에 대한 Tags(메타데이터) 생성 분석하고..

OS/LINUX 2016.09.27

[정보] 프로세스 세션 리더(Session Leader)와 프로세스 그룹 리더(Group Leader)

리눅스의 모든 프로세스는 아래와 같은 ID를 가지고 있다. 각 ID가 의미는 아래와 같다. 1. 개요Process ID (PID) 프로세스를 구별하는 임의의 숫자인다. 모든 프로세스는 고유한 ID를 가지고 있다. 그러나 프로세스가 종료(exit)하고 부모 프로세스가 종료를 인지했을 때, 다른 프로세스가 해당 프로세스 ID를 사용할 수 있도록 되는 것이다.Parent Process ID (PPID) 해당 프로세스를 시작시킨 프로세스의 PID(부모 프로세스 ID)이다.Process Group ID (PGID) 프로세스 그룹 리더의 PID이다. PID와 PGID가 같다면, 해당 프로세스를 프로세스 그룹 리더라고 한다.Session ID (SID) 세션 리더의 PID이다. PID와 SID가 같다면, 해당 프로세..

OS/LINUX 2016.09.20