전체 글 629

02-03 스왑(Swap)

스왑(Swap)의 개요 시스템이 물리 메모리를 모두 소모하였을 때 스왑을 활용하면 부족한 메모리 공간을 극복하는데 도움이 된다. 시스템이 물리 메모리를 모두 소진하고 더 많은 메모리 공간이 필요할 때 메모리상의 비활성화된 메모리를 스왑 공간으로 이동하여 메모리 공간을 확보하는 기술을 '스왑'이라 한다. 스왑은 물리 메모리보다 액세스 속도는 느리나 가격이 저렴한 하드 용량을 사용한다. 스왑 공간은 swap partition이나 swap file 형태로 만든다. 과거에는 스왑의 크기가 RAM의 크기와 비례해서 증가했다. 요즘 시스템 RAM은 넉넉하기 때문에 스왑 공간의 크기는 시스템이 실제 사용하는 메모리의 양에 근거하여 설정하면 효과적이다. 보통 스왑 공간의 크기는 리눅스 설치 시에 결정한다. 스왑 파일 ..

02_02_파일 시스템 점검

파일 시스템 점검 fsck(file system consistency check) 파일 시스템을 점검하고 손상된 영역을 복구하는 명령어이다. 부팅할 때 특정 조건이 되면 fsck를 실행한다. 가령 파일 시스템의 일관성이 깨졌음을 의미하는 더티(dirty) 상태이거나 파일 시스템 없이 여러 번 마운트되었다면 fsck를 실행한다. 형식: fsck [option] device 옵션 -a: 사용자 확인 없이 파일 시스템을 자동으로 복구한다. -r: 파일 시스템을 복구할 때 사용자의 확인을 받는다. 다수의 fsck 명령어를 동시에 실행 중일 때 이 옵션을 사용하는 것은 불편하다. -A: /etc/fstab 파일에 정의된 모든 파일 시스템에 대하여 점검을 수행한다. -P: -A 옵션과 함께 사용할 때 루트 파일 시..

02_01_파일 시스템 관리 및 복구

파일 시스템 관리 및 복구 파일 시스템 생성의 개요 하드디스크를 새로 추가하거나 기존 하드디스크 중 아직 사용하지 않은 영역이 있다면 파일 시스템을 생성하여 정보를 저장하는 데 사용할 수 있다. fdisk -l을 통해 하드디스크가 시스템에 정상적으로 인식되었는지 확인한다. 파티션 생성 fdisk 명령어로 원하는 파티션을 생성할 수 있다. mkfs 명령어로 원하는 파일 시스템으로 포맷을 한 뒤 mount 명령어로 시스템상 마운트 할 수 있다. 시스템 리부팅 후에도 계속 마운트가 유지될 수 있도록 /etc/fstab 파일에 파일 시스템을 등록한다. fdisk를 통한 파티션 관리 디스크 상에서 파티션을 생성, 삭제, 수정할 수 있다. 형식: fdisk [option] device 옵션 -l: 지정한 디스크의 ..

01_02_06_텍스트 관련 명령어

텍스트 관련 명령어 텍스트 관련 명령어에는 cat, head, tail, more, less, grep, wc, sort, cut, split 등이 있다. cat 텍스트 파일의 내용을 보거나 텍스트 파일을 다른 새로운 파일로 복사하거나 또는 기존의 텍스트 파일과 합치는 기능을 수행한다. 형식: cat [option] file 옵션 -b, --number-nonblank: 빈 줄을 제외하고 행 번호를 붙여준다. -n, --number: 모든 줄에 행 번호를 붙인다. -E, --show-ends: 각 줄의 끝에 '$'를 표시한다. -T, --show-tabs: 탭 문자로 '^'로 표시한다. -v --show-nonprinting: 인쇄 불가한 문자도 표시한다. -A, --show-all: -vET 명령어와 ..

01_02_05_파일 시스템 관리_파일 관리

파일 관리 ls 지정한 경로에 존재하는 파일과 디렉터리의 리스트를 출력한다. 파일의 크기, 소유자, 수정한 시간 등 다양한 정보도 함께 보여준다. 옵션 지정이 없으면 현재 디렉터리의 파일 및 디렉터리를 알파벳 순서로 보여준다. 형식: # ls [optison] file ... 옵션 -a, --all -d, --directory: 디렉터리 자체에 대한 정보를 출력한다. -F, --classify: 각 파일명마다 파일의 유형을 뜻하는 문자를 붙여 준다. @: 심볼릭 링크 *: 실행 파일 =: 소켓 |: 파이프 /: 디렉터리 -t: 마지막 수정 시간을 최신 기준으로 정렬하여 출력한다. -u: -lt 옵션과 함께 마지막 수정 시간 대신 접근 시간을 출력한다. -i, --inode: 각 파일의 아이노드 번호를 출..

01_02_04_파일시스템 관리_디렉터리 관리

디렉터리 관리 pwd 현재 파일 시스템상 어떤 디렉터리에 있는지 출력한다. 이 디렉터리를 보통 작업 디렉터리(working directory)라고 부른다. 현재 작업 디렉터리를 확인하기 위해서는 옵션 없이 명령어 'pwd'를 입력한다. pwd는 셸에 내장된 명령어와 bin 디렉터리에 위치한 외부 명령어의 2가지가 있다. 현재 사용하는 pwd가 무엇인지 알고자 할 때는 'type' 명령어를 사용한다. cd 작업 디렉터리를 변경하기 위해 사용한다. 디렉터리 변경 시 상대 경로, 절대 경로, 현재 경로, 부모 경로, 홈 디렉터리, 이전 디렉터리 등으로 이동이 가능하다. '/'는 루트 디렉터리다. 디렉터리가 '/'로 시작하면 루트 디렉터리를 기점으로 생성된 경로를 의미한다. 이를 '절대 경로'라 부른다. '/'..

01_02_03_리눅스 파일 시스템 관리_파일 링크

파일 링크(File link) 파일 링크 개요 리눅스에는 윈도의 바로가기 기능과 같이 시스템에 이미 존재하는 파일에 대한 포인터를 갖는 파일 링크 기능을 제공한다. 리눅스의 파일 링크는 크게 하드 링크(Hard link)와 심볼릭 링크(Symbolic link)가 있다. 하드 링크는 해당 파일의 아이노드를 가리키고 심볼릭 링크는 해당 파일의 경로를 가리킨다. 하드 링크의 경우 대상 파일이 사라지더라도 해당 파일에 대한 참조가 0이 아니기 때문에 삭제되지 않으므로 링크를 통해 실제 파일에 접근이 가능하다. 심볼릭 링크는 소프트 링크(Soft link)라고도 한다. 심볼릭 링크의 경우 단순히 경로만을 참조하므로 대상 파일이 삭제되면 심볼릭 링크는 존재하지 않는 파일을 가리키게 된다. 스티키 비트를 설정하지 ..

01-02-02 파일 시스템 관리_특수 권한

특수 권한 특수 권한의 개요 파일의 소유자 허가권, 그룹 허가권, 다른 사용자 허가권, 사용자 소유권, 그룹 소유권 그리고 읽기, 쓰기, 실행 권한만으로는 시스템을 운영할 때 한계가 있다. 이를 위해 Set-UID 권한 비트, Set-GID 권한 비트, 스티키 비트라는 특수 권한이 존재한다. Set-UID 권한 비트(Set User ID bit) 파일에 Set-UID 비트가 설정되면 사용자가 파일을 실행했을 때 해당 사용자의 권한이 아닌 파일의 소유자 권한으로 실행된다. 대표적인 예로 /usr/bin/passwd 프로그램 파일은 root만이 읽기 가능한 /etc/shadow 파일에 접근할 수 있도록 설정되어 있다. 이 설정대로라면 일반 사용자는 passwd 프로그램을 사용하지 못한다. 그러나 passwd..

01-02-01 파일 및 디렉터리 관리

파일 및 디렉터리 관리 소유권과 허가권 소유권과 허가권 확인하기 파일이나 디렉터리의 소유권과 허가권을 확인하기 위해서는 'ls -l' 명령어나 'ls -n' 명령어를 사용한다. # ls -l [file] -rw-r--r-- 1 apple apple 60 Jan 31 20.21 [file] 파일 유형 -: 일반 파일 d: 디렉터리 l: 심볼릭 링크 b: 블록 디바이스 c: 캐릭터 디바이스 p: FIFO s: 소켓 허가권(permission) 허가권은 소유자 허가권, 그룹 허가권, 다른 사용자 허가권으로 구분된다. 소유자 허가권: 파일이나 디렉터리를 소유한 사용자의 허가권을 의미한다. 그룹 허가권: 파일이나 디렉터리를 소유한 그룹의 허가권을 의미한다. 즉 그룹에 속한 사용자에 대한 허가권이다. 다른 사용자 ..

01-01-07 사용자 및 그룹 정보 관련 명령어

사용자 및 그룹 정보 관련 명령어 users 설명 현재 호스트에 로그인되어 있는 모든 사용자를 출력한다. 형식 users 주요 예제 users who 설명 현재 호스트에 로그인되어 있는 모든 사용자의 정보를 출력한다. 터미널 종류, 로그인 시각 등이 기본적으로 출력된다. 형식 who [options] 옵션 -a, --all: 모든 옵션을 준 것과 같음 -b, --boot: 마지막 부팅 시간을 출력 -d, --dead: 좀비 프로세스를 출력 -H, --heading: 출력하는 각 컬럼의 헤더를 출력 -l, --login: 시스템 로그인 프로세스를 출력 -m: 표준 입력과 관련된 사용자만 출력 -p, --process: init 프로세스가 생성한 프로세스를 출력 -q, --count: 로그인한 모든 사용자의..