공부하기싫어

처음보거나 자주 쓰일것 같은 것만 정리함

  • 소유권 및 허가권 관련 명령어

chmod

사용자 지정

u - 파일소유자의 접근 권한

g - 그룹에 속한 사용자들에 대한 접근권한

o - 다른 사용자들에 대한 접근 권한

a - all의 약자, 파일소유자, 그룹, 다른 사용자를 포함하여 접근 권한을 지정할 때 사용한다.

8진수 조합 : r - 4, w - 2, x - 1 

+는 권한추가, -는 권한 삭제, =는 o의 경우기존 권한을 초기화한 후에 지정한 권한만 설정할때 사용 + u나 g 는 기존의 허가권이 그대로 유지됨.

 

chwon

파일이나 디렉터리의 소유권 및 그룹 소유권을 변경하는 명령

 

chgrp

파일이나 디렉터리의 소유 그룹을 바꾸는 명령, root가 아니면 사용하는 경우가 드물지만, 특정한 사용자가 여러 그룹에 속한 경우 본인 소유의 파일을 본인이 속한 그룹내에서 소유권을 변경시킬 수 있다.

 

umask

파일이나 디렉터리 생성 시 부여되는 기본 허가권 값을 지정하는 명령이다. umask 명령을 실행하면 설정된 umask 값을 확인할 수 있다. 파일 생성시에는 666, 디렉터리인 경우에는 777에서 설정한 umask 값을 뺀 값을 기본 허가권으로 지정한다.

 

  • 파일시스템 관련 명령어

df(disk free)

현재 마운트된 디스크의 크기, 사용량, 남아있는 용량 등에 대한 정보를 출력한다

 

du(disk usage)

파일이나 디렉터리들이 디스크에서 차지하고 있는 크기를 출력한다.

ex) du [option] [file(s)]

 

  • 파일시스템 관련 파일

/etc/fstab

파일 시스템에 대한 다양한 정보를 담고 있는 파일로 부팅 시에 마운트할 파티션 정보가 기록되어 있다. 파티션 정보를 변경하였거나 디스크를 추가하 경우 이 파일에 등록해야만 부팅 시에 자동으로 마운트가 된다.

 

  • 디스크 쿼터

디스크 쿼터란 - 리눅스 시스템은 기본적으로ㅗ 사용자의 용량을 제한하지 않아서, 특정 사용자가 디스크에 남아 이쓴ㄴ 용량을 모두 사용할 수 있다. 따라서 사용자가 많은 서버의 경우에 사용자의 디스크 사용량 제한이 필요한데, 이러한 제한을 디스크 쿼터라고 부른다.

 

 

  • Shell

셸이란 - 셸은 커널과 사용자 간의 다리역할을 하는 것으로 사용ㅈ로부터 명령을 받아 그것을 해석하고 프로그램을 실행하는 역할을 한다. 셸은 커널에서 분리된 별도의 프로그램이어서 다양한 종류의 셸이 존재하고 현재까지도 지속적으로 개발되고있다. 

 

셸변수 - 특정한 셸 에서만 적용되는 변수를 말한다. 리눅스에서는 명령행에서 '변수명=값' 형태로 지정하여 사용할 수 있다. 변수값을 출력할때는 변수명 앞에 $를 붙이고 echo 해서 사용할 수 있다.

 

환경변수 - 프롬프트 변경, PATH 변경 등과 같이 셸의 환경을 정의하는 중요한 역할을 수행하는 변수를 말한다. 환경변수는 미리 예약된 변수명을 사용하고 현재 설정된 환경변수의 값은 env 명령으로 확인 가능하다. 특정 환경변수의 값 확인과 설정은 일반 셸 변수 설정과 같다.

 

배시셸의 주요 기능

1. 명령행 완성기능 - 명령 입력시 글자 일부분만 입력하고 [TAB] 키를 눌러 나머지 부분을 자동완성 시키는 기능

2. 명령어 History 기능 - 입력후 실행했던 모든 명령이 히스토리 리스트 버퍼에 스택으로 저장됨, history 라는 명령을 입력하면 히스토리 리스트에 있는 명령어들이 출력된다. 홈디렉터리 안에 .bash_history 라는 파일에 추가로 기록되며 로그아웃 할 때 메모리에 기억된 명령의 목록을 파일에 저장한다.

3. alias 기능 - alias란 발명이라는 뜻으로 어떠한 명령을 지정해놓으면 사용자가 그 명령을 실행했을때 alias로 지정해놓은 명령이 대신 실행되게 된다.

ex) alias 별명='기존명령어의 조합'

~/.bashrc - 개인 사용자가 정의한 alias와 함수들이 있는 파일이다. alias를 지속적으로 사용하려면 이 파일에 설정한다.

 

  • 프로세스 관리

& - 기존의 포어그라운드 프로세스 실행 명령 뒤에 추가해서 백그라운드 프로세스로 실행시키는 방법. 멀티태스킹 작업에 유리하다 [숫자] 는 job number 를 나타내고 뒤의 10진수는 PID를 나타낸다

jobs - jobs 명령은 작업의 상태를 나타낸다

포어그라운드 프로세스가 실행중에 [ctrl+Z] 를 누르게 되면 대기(suspend) 상태가 되며 'bg' 명령을 입력하면 백그라운드 프로세스로 전환된다.

백그라운드 프로세스를 포어그라운드 프로세스로 전환시키려면 jobs 로 PID를 확인한 후 'fg [job number]' 명령을 하면된다.

 

 

  • 시그널(Signal)과 데몬(daemon)

시그널 - 시그널의 사전적인 뜻은 '신호'라는 의미로 리눅스에서는 프로세스끼리 서로 통신할 때 사용한다. 즉 특정 프로세스가 다른 프로세스에게 메세지를 보낼 때 시그널을 이용한다. 시그널의 목록은 'kill -l' 로 확인할 수 있다.

 

데몬 - 데몬은 주기적이고 지속적인 서비스 요청을 처리하기 위해 계속 실행되는 프로세스로 백그라운드로 실행된다. 리눅스에서는 서버 역할을 하는 프로그램들이 이에 해당하고 보통 이름 뒤에 데몬을 뜻하는 d를 붙인다.

 

  • 데몬 프로세스 실행 방식

 standalone방식 - 보통 부팅시에 실행되어 해당 프로세스가 메모리에 계속 상주하면서 클라이언트의 서비스 요청을 처리하는 방식이다. 웹, 메일 등과 같이 빈번한 요청이 들어오는 서비스인 경우에는 대부분 standalone방식으로 동작함.

 inetd방식 - 관련 프로세스가 메모리에 항상 상주하는 것이 아니라, 클라이언트의 서비스 요청이 들어왔을 때 관련 프로세스르르 실행시키고 접속 종료 후에는 자동으로 프로세스를 종료시키는 방식이다.

 

 

  • 프로세스 관련 명령어

ps(process status) - 동작중인 프로세스의 상태를 출력해주는 명령이다.

ex) ps [option]

 

pstree - 프로세스의 상태를 트리구조로 출력해주는 명령이다. 가장 왼쪽이 부모 프로세스이고, 오른쪽이 자식 프로세스에 해당한다.

ex) pstree [option]

 

top - 동작중인 프로세스의 상태를 실시간으로 화면에 출력해주느느 명령으로 프로세스의 상태뿐만 아니라 CPU, 메모리, 부하 상태 등도 확인할 수 있다. top 명령은 실행상태에서 다양한 명령을 입력하여 프로세스의 상태를 출력하거나 제어하라 수 있다.

ex) top [option]

    주요옵션

-d 갱신시간 : 갱신시간을 설정한다 (초단위)

-p : 특정 PID값을 갖는 프로세스를 모니터링할 때 사용한다

-b : 배치 모드(batch mode) 로 실행하는 옵션으로 다른 프로그램이나 파일에 전송할 때 사용한다. 보통 -n옵션과 같이 사용

-n 값 : top 명령의 실행 횟수르르 지정하는 옵션이다.

 

kill - 프로세스에 특정한 시그널을 보내느느 명령으로 옵션 없이 실행하면 프로세스에 종료 신호(15, TERM, SIGTERM)를 보낸다. 보통 중지시킬 수 없는 프로세스르르 종료시킬 때 많이 사용한다.

 

 

 

 

 

 

 

오늘은 여기까지