본문 바로가기

Linux39

[Linux] 파일 시스템 파일 시스템은 저장 장치를 트리 형태의 디렉터리 구조로 조직화시키고 파일에 이름을 부여하여 저장하고 검색할 수 있게 하는 체계이다. 즉 컴퓨터에서 파일, 자료를 쉽게 발견하고 접근할 수 있도록 보관 또는 조직하는 체제를 말한다. 파일이란 것이 뭔지 확실히 알고 넘어가자 컴퓨터의 자료의 구성단위 중 파일은 여러 개의 (물리레코드==블럭)이 모여서 구성된 것이다. 보통 프로그램 기본 구성단위로 사용된다. 이 블록은 저장매체의 입*출력 단위이다. 좀 더 쉽게 이해해보자! 보통 보조기억장치에서 주기억장치에 데이터를 주거나 받을 때 블록 단위로 데이터를 받는다는 소리이며, 윈도에서는 클러스터라는 이름으로 사용하기도 한다. 이러한 블록들이 모이면 파일이 되고 프로그램을 구성하는 단위가 된다. 이러한 파일들이 모이면.. 2021. 2. 4.
[Linux] cron 서비스 지정된 시간에 맞추어 주기적으로 수행되는 계획된 작업을 수행할 때 cron 서비스를 이용한다. cron 서비스를 이용하면 시스템 관리 작업을 자동화할 수 있다. 실제 cron 서비스는 시스템 부팅후부터 계속 수행되고 있는 crond라는 데몬 프로그램이 제공한다. 이 crond 데몬은 1분 간격으로 시스템 or 일반 사용자의 crontab 파일의 내용을 검사하여 정해진 시간에 작업을 수행한다. crontab 파일의 내용은 원하는 시간에 주기적으로 수행되어야 하는 cron 작업의 리스트를 뜻한다. 관리자 만이 수정할 수 있는 시스템의 crontab파일은 /etc/conrtab 파일과 /etc/cron.d/디렉터리에 존재하는 파일들을 말한다. ex) 01 * * * * root run-parts /etc/cr.. 2020. 11. 21.
[Linux] 프로세스의 상태 프로세스는 여러 상태 변화를 겪는 프로그램이라고 할 수 있는데, PID로 구별되고 자신만의 실행 환경을 확보해야 한다. 제한된 자원을 가지고 멀티태스킹을 지원하는 리눅스 운영체제에서 프로세스는 다양한 상태 변화를 겪는다. 생성부터 종료까지 각 단계를 나열하면 다음과 같다. 사용자가 작업을 요청하면 프로세스는 커널에 등록되고 생성 상태가 된다. 생성 상태에서 하드디스크로부터 메모리로 프로세스가 로드되면 프로세스는 준비 상태가 된다. 만약 충분한 메모리가 없다면 프로세스는 지연 준비 상태로 들어간다. 준비 상태에서 CPU 스케줄러가 특정 프로세스에 CPU를 할당하면 해당 프로세스가 실행 상태가 된다. 이 과정을 디스패치라고 한다. 실행 상태에서는 CPU는 프로세스가 가진 명령어를 실행한다. 선점/비선점 CP.. 2020. 11. 21.
[Linux] 프로세스 프로세스는 커널에 등록된 실행 중인 프로그램을 의미한다. 제한된 자원을 가지고 멀티태스킹을 지원하는 운영체제에서 프로세스는 여러 상태 변화를 겪는다. 따라서 프로세스의 상태를 모니터링하고 관리가 필요하다. 주기적으로 수행되는 작업을 계획하기위헤 데몬 프로그램인 cron서비스를 사용할 수 있다. 리눅스의 장점 중 하나는 멀티태스킹을 지원하는 운영체제라는 것이다. 멀티태스킹은 많은 프로그램들이 동시에 수행될 수 있다는 것이다. 리눅스 커널은 실행 중인 여러 프로그램 사이에서 CPU나 메모리와 같은 한정된 자원이 효율적으로 사용될 수 있도록 멀티태스킹을 관리한다. 시스템이 처음 구동되면 커널은 몇 개의 커널 프로세스를 실행시킨다. 그리고 init 프로그램을 실행시키며, 계속해서 시스템 서비스를 시작시키는 일련.. 2020. 11. 21.
[Linux] 파티션 관리 파티션이란 저장 장치에서 고정된 크기의 일부 영역이다. 하나의 물리적 저장 장치에 여러 개의 파티션을 만들 수 있으며, 각 파티션은 자신만의 디바이스 파일을 가고 있다. (예를 들면 /dev/sda....) 따라서 하나의 파티션을 마치 독립적인 저장 장치처럼 사용할 수 있다. 그렇기에 하나의 물리적인 디스크를 논리적으로 나눈 구역을 파티션이라하며 분할된 파티션을 하나의 독립적인 저장 장치로 사용할 수 있다. 하나의 물리적 디스크에서 특정 파티션 영역을 읽기 위해선 운영체제는 먼저 파티션의 위치나 크기에 관한 정보를 알아야 하는데, 이러한 정보는 파티션 테이블에 저장되어 있다. 윈도는 하나의 디스크를 파티션으로 구분하면 C드라이브, D드라이브와 같은 드라이브 이름을 사용한다. 리눅스는 윈도 운영체제와 달리.. 2020. 11. 18.
[Linux] 마운트와 언마운트 디스크에 프로그램과 데이터를 저장하기 위해서는 우선 파티션을 생성한 뒤 파티션에 파일 시스템을 만들어 주어야 한다. 파일 시스템이란 자료나 파일을 쉽게 접근, 발견할 수 있도록 관리하는 체제를 말한다. 유닉스 계열의 운영체제에서는 파일 시스템 트리는 전체적으로 하나의 루트만 존재하기에 저장 장치를 사용하기 위해서는 파일 시스템 트리의 어딘가에 저장 장치를 부착시켜야 한다. 이것을 마운트라고 한다. 파일 시스템을 트리에서 어느 디렉터리에 위치시킬지 정해야 마운트 할 수 있는데 이 위치를 마운트 지점이라고 한다. 마운트 작업을 위한 명령은 mount인데 단순하 mount를 실행하면 현재 상태에서 시스템에 마운트 되어 있는 파일 시스템을 보여준다. 이때 나타나는 항목은 다음과 같다. ex) /dev/sda1 .. 2020. 11. 18.
[Linux] 파일 찾기와 문자열 검색 명령어 리눅스 시스템을 사용하면서 사용자가 원하는 파일이 디렉터리 트리에서 어디에 위치하는지 찾아야 할 때가 있다. 이때 이름이 일부라도 알고 있다면 locate 명령을 사용할 수 있다. 또 파일이 가지고 있는 속성(이름, 크기, 수정 시간, 소유자 등)을 기준으로 찾으려면 find 명령을 사용할 수 있다. 만약 텍스트 파일 안에 존재하는 특정 문자열을 찾아 편집해야 할 때는 grep 명령을 사용하면 효율적으로 작업할 수 있다. 이름으로 파일 찾기 : locate 형식 : locate [options] pattern locate 명령은 데이터베이스에 존재하는 파일 or디렉터리의 이름이 주어진 문자열 패턴을 포함한다면 해당 파일 or디렉터리의 이름을 출력한다. locate 명령의 좋은 점은 전체 파일 시스템을 검.. 2020. 11. 17.
vi 명령어 시스템 관리자라면 환경 설정을 위해 텍스트 파일 편집하거나 셸 스크립트 파일을 작성해야 하는 경우가 생긴다. 텍스트 편집기를 사용하여 파일을 편집할 수 있는데 대부분의 리눅스 배포판은 과거 유닉스에서 사용된 vi의 개선된 버전인 vim을 제공한다. 파일을 오픈하여 편집하기 위해 가장 자주 사용하는 vi의 명령어 형식은 다음과 같다. vi [options] fileName vi는 모달 편집기이며 해당 터미널에서 다른 작업은 수행할 수 없다. vi 편집기는 명령 모드 , 입력 모드 그리고 라인 모드(ex모드)의 세 가지 모드로 구분된다는 점이다. 또 대문자와 소문자를 구별하여 정확히 사용해야 한다. vi 편집기를 시작하면 처음에는 명령 모드로 시작된다. 텍스트를 추가하거나 변경하려면 먼저 한 글자 또는 두 .. 2020. 11. 17.
[Linux] 서비스의 실행과 종료 리눅스 시스템의 관리자라면 시스템이 제공하는 서비스의 종류를 알고 있어야 한다. 그리고 필요할 때 어떤 서비스가 실행 중인지 상태를 확인할 수 있어야 하며, 불필요하거나 사용하지 않는 서비스가 있다면 보안 등의 이류로 서비스를 삭제하거나 비활성화시키는 것이 좋다. 그러기 위해서는 우선적으로 부팅 시 지정된 초기 런레벨이 무엇이고 또 어떤 서비스가 초기화 과정에서 실행되는지 알아야 한다. chkconfig 명령은 주어진 런레벨에서 /etc/rc.d/ 디렉터리에 있는 서비스 중 어떤 서비스가 활성화되어 있는지 보여주거나 활성화 여부를 설정하기 위한 명령이다. 형식 1 : chkconfig [--list] [service] 형식 2 : chkconfig [--level levels] service chkcon.. 2020. 11. 17.
[Linux] 운영체제의 부팅 PC에 설치된 운영체제를 부팅하려면 '부트 프로그램'이 필요하다. 이 프로그램을 boot loader 또는 bootstrap loader라고 하는데 하드디스크로부터 운영체제를 메모리로 적재시키는 프로그램이다. 먼저 컴퓨터의 전원을 켜면 프로세서가 주기억장치에 저장되어있는 BIOS 프로그램을 찾아 실행시킨다.(예외도 있다.) 대개 이것은 첫 번째 프라이머리 하드디스크에서 첫 트랙의 첫 번째 섹터에 해당하는 MBR(Master Boot Record)에 설치된 부트로더를 메모리에 올려서 실행시킨다. 부트 로더는 컴퓨터가 시작될 때 수행되는 첫 번째 프로그램으로 운영체제를 메모리에 적재하여 실행시키며, 운영체제에 시스템의 제어를 넘겨주는 일을 수행하는 작은 기계어 프로그램이다. 부트 로더는 MBR에 함께 존재하.. 2020. 11. 17.