https://blog.naver.com/960307-/221495135134
본내용 그대로 pdf파일은 네이버 블로그에서 다운받으실수 있습니다.
디렉토리 저장 위치
/ |
모든 디렉토리의 최상위 디렉토리 |
/root |
시스템관리자 root의 사용자 홈 디렉토리 |
/boot |
부트이미지 저장디렉토리 |
/bin |
실행파일 (cp,mkdir,mrdir,mv,rm,cat) 디렉토리 |
/etc |
각종 시스템 설정파일 저장 디렉토리 |
/home |
사용자홈 저장 디렉토리 |
/lib |
라이브러리 저장 디렉토리 |
/user |
리눅스의 응용프로그램이 설치되는 디렉토리 |
/usr/local |
사용자 소스 컴파일 하여 프로그램 설치 디렉토리 |
/var |
메일 로그관련 , 데이터 저장 |
/dev |
하드디스크,CD-ROM등 장치를 파일화 관리 |
/tmp |
임시저장을 위한 디렉토리 |
파일 시스템 관련 명령어
허가권: 파일이나 디렉토리 접근권한 설정
소유권: 파일이나 디렉토리 소유
파일의 허가권, 소유권 확인 : ls,ls –l
-rwxrw-rw- 1 root root
① ② ③
①허가권 :
rwx 세자리는 파일을 소유한 사용자 권한 (user)
rw- 다음 세자리는 그룹에 속한 사용자들 권한 (group)
rw- 마지막세자리는 그 외 다른 사용자들 권한 (other)
②소유권을 가진 사용자
③그룹 소유권
파일 유형
첫 번째 알파벳 –rwxrw-rw-(허가권) 여기서 맨앞 -
[-] |
일반적인 파일 (텍스트,바이너리,보편적으로 쓰이는 파일) |
[s] |
소켓 파일 |
[b] |
블록형 장치파일(디스크,/dev/sda) |
[c] |
문자형 장치 파일(입출력 사용) |
[d] |
디렉토리 파일 |
[l] |
기호(심볼릭)링크 |
[p] |
파이프 파일 |
일반적으로 분류하는 3가지 종류: 일반 파일, 디렉토리 파일, 특수파일
chmod(change mood) : 파일이나 디렉토리에 접근할수 있거나 없는 허가권을 설정하는 명령 – 파일권한 바꾸기
권한의 표시 : r,w,x 사용자의 지정 : u,g,o,a 설정기호 : +(더하기) - (빼기) = (권한유지)
숫자모드 : r=4 , w=2 , x=1 없을시 ‘0’
주요 옵션 –R : 하위 디렉토리 포함 모든 디렉토리
-c : 변경된 정보 출력
-v : 실행 과정 출력
-f : 간략하게 출력
--version : 명령어의 버전 정보를 출력
chown(change owner) : 파일이나 디렉터리의 소유권 및 그룹 소유권을 변경하는 명령 – 파일 소유자 변경
-R : 하위 디렉토리 포함 모든 디렉토리 내에 파일 접근권한 변경
-c : 변경된 정보 출력
-f: 바뀌지 않은 파일에 대해 오류메시지를 보여주지 않음.
chgrp(change group) : 특정한 사용자가 여러 그룹에 속한 경우에 본인 소유의 파일을
본인이 속한 그룹내에서 소유권을 변경할수 있다.
옵션) -h : 심볼릭 링크 파일의 그룹 소유권을 변경
umask : 파일이나 디렉토리 생성시 부여되는 기본 허가권 값을 지정하는 명령
파일 생성시에는 666 , 디렉토리인 경우에는 777에서 설정한 umask 값을 뺀 값을 기본 허가권으로 지정.
-S : umask값을 문자로 표기
특수권한 : SetUID(4000)<s> SetGID(2000)<s> Sticky-Bit(1000) 공유모드<t>
특수권한 확인 : Set-UID가 설정되어 있을 때 변경된 패스워드는 etc/Shadow에 기록
특수권한 설정 : Set-UID,Set-GID,Sticky-Bit 허가권 설정명령 chmod 사용
파일시스템 : 데이터를 저장하고, 읽고 , 쓰고 찾기위해 구성하는 일련의 체계
초기의 리눅스는 minix 파일 시스템을 기반으로 만든 ext 파일 시스템
↳ 저널링 파일시스템 기능이 있는 ext3 →(현재) 대부분이 리눅스 ext4
XFS : SGI에서 개발 저널링 파일시스템 | JFS : IBM에서 개발 저널링 FS
SMB: 최근에는 CIFS로 확장
Mount : 리눅스에서 보조기억장치(SSD,HDD,CD-ROM)등을 연결해서 사용가능하게 해주는 명령어
옵션) -a : /etc/fstab에 명시된 파일 시스템 마운트 할 때
-t : 파일시스템의 유형을 지정하지 않으면 /etc/fstab 파일을 참조
-o : 추가적인 설정 적용 , ro : 읽기 전용으로 마운트
umount : 마운트된 파일 시스템을 해제시켜주는 명려
옵션) -a : /etc/mtab에 명시된 파일 시스템 호출시 사용
-t : 파일시스템 지정
eject : CD-ROM과 같이 미디어를 꺼낼 때 사용 , 자동으로 Umount 작업
fdisk : 하드디스크 초기화 , 파티션 생성
옵션) -l : 디스크의 파티션 테이블 정보 출력
-s : 특정 파티션 크기 출력 (단위 block)
주요명령 p :정보출력 d:삭제 n:생성(추가) t:속성변경 w:저장종료 q:종료
작업순서 fdisk – mkfs – mount
mkfs : 새로운 파일 시스템을 만드는 명령어 root만 사용가능
파일시스템 유형을 지정하지 않으면 ext2로 생성
-t : 파일 시스템 유형지정 옵션 ext3,ext4 지정
-c : 배드 블록 체크 후 파일 시스템 구축
mke2fs : ext2,ext3,ext4 파일 시스템을 만드는 명령 , 유형 지정하지 않으면 ext2
옵션) -j : 저널링 파일 시스템인 ext3로 지정(생성)
-t : 유형지정옵션
fsck : 리눅스 파일 시스템을 검사하고 수리하는 명령
손상된 디렉토리나 파일을 수정할 때 임시로 (lost+found) 디렉토리에서 작업을 수행후
정상적인 복구가 되면 사라짐
옵션) -a : 오류발견시 자동으로 복구시도
-A : /etc/fstab에 정의되어 있는 모든 파일 시스템 체크
-v : 버전
-V : 모든 파일의 각각의 크기
e2fsck : 리눅스 파일 시스템인 ext2,ext3,ext4를 검사 수리하는 명령
df : 디스크의 크기 , 사용량, 남아있는 용량 확인 명령어
옵션) -T : 파일시스템
-h : 용량 단위 표시(KB,MB,GB)
du : 파일이나 디렉토리의 크기를 확인할 때 쓰는 명령어
옵션) -h : 용량 단위 표시(KB,MB,GB)
-a : 디렉토리 존재하는 모든 파일의 각각의 크키
-s : 파일들의 전체 크기를 합한 값
쉘 Shell : 커널과 사용자간의 다리역할을 하는 것으로
사용자로부터 명령을 받아 그것을 해석하고 프로그램을 실행하는 역할
- 주요 쉘의 특징 -
bash : ①본 쉘을 기반으로 GNU프로젝트에 의해 개발
②현재 리눅스의 표준형
csh : 버클리대학 빌조이 개발 , C언어 기반
tcsh : csh의 기능을 강화시킨 쉘
ksh : AT & T 사의 데이비드 콘이 개발 , 명령어 완성기능 , 히스토리 기능
쉘의 확인 : echo $SHELL
다른 쉘 사용하기 위해 변경가능한 쉘의 확인 : chsh –l , cat /etc/shell
쉘의 변경 : chsh 명령어 , 절대경로 , 적용은 다음 로그인부터
쉘 변수 : 특정한 쉘에서만 적용되는 변수 , 리눅스에서는 명령행엥서 ‘변수명=값’형태로 지정 사용
변수값을 출력시 변수명 앞에 $를 붙이고 echo 명령으로 확인
환경변수 : 현재 설정된 전체 환경변수의 값은 env명령으로 확인가능
주요환경변수
HOME : 사용자의 홈 디렉토리
PATH:실행 파일을 찾는 디렉토리 경로
LANG: 쉘사용시 기본으로 지원되는 언어(LANG=C 영어로 변경)
PWD : 사용자의 현재 작업 디렉토리
SHELL : 사용자의 로그인 쉘
HISTFILE : 히스토리 파일의 절대경로
HISTSIZE : 히스토리 파일에 저장되는 명령어 개수
TMOUT : 사용자가 로그인후 일정 시간동안 작업하지 않을시 로그아웃 시키는 시간
쉘 관련 파일 및 디렉토리
/etc/profile |
모든 사용자에 적용되는 환경변수와 시작관련 프로그램 설정 지정파일 |
/etc/bashrc |
모든 사용자에 적용되는 alias와 함수를 적용 설정 |
~/.bash_profile |
개인 사용자의 환경 설정과 시작프로그램설정 |
~/.bashrc |
개인사용자가 정의한 alias와 함수들이 있는 파일 |
~/.bash_logout |
개인 사용자가 로그아웃할 때 수행하는 설정을 지정하는 파일 |
프로세스 : 실행시에 번호가(PID) 할당되어 관리된다.
백그라운드 : 사용자의 입력에 관계없이 실행 , 기존의 포어그라운드 프로세스 실행 명령 뒤에 & 추가
포어그라운드 : 프로세스와 명령 입력 후 수행종료까지 기다려야함
프로세스의 생성
fork : 복사본 형태의 프로세스를 실행하는 형태로 기존의 프로세스는 그대로 실행
exec : 새로운 프로세스의 코드를 덮어 씌워 버린다
*리눅스가 부팅 시작하면 커널이 init 프로세스라는 최초의 프로세스를 발생시키고,init은 PID 1번을 할당
[작업전환]
포어그라운드→백그라운드 : ctrl + Z 대기상태 ‘bg’ 입력시 백그라운드 프로세스
백그라운드→포어그라운드 : fg % 작업번호 , 작업번호는 jobs 명령어
시그널과 데몬
시그널 : 특정 프로세스가 다른 프로세스에게 메시지를 보낼 때 시그널 이용
[1] SIGHUP |
재시작 |
[2] SIGINT |
실행중지 (CTRL +C 다시실행) |
[3] SIGQUIT |
실행중지(CTRL + ₩) |
[9] SIGKILL |
강제종료 |
[15] SIGTERM |
정상종료 |
[19] SIGSTOP |
정지 |
[20] SIGTSTP |
실행중지 (CTRL + Z) |
데몬 : 주기적이고 지속적인 서비스 요청을 처리하기 위해 계속 실행되는 프로세스 (백그라운드 실행)
리눅스에서는 서버 역할을 하는 프로그램이 해당 , 보통 이름뒤에 d를 붙임
데몬 실행방법
standalone 방식 : 보통 부팅시에 실행되어 해당 프로세스가 메모리에 계속 상주하면서
클라이언트의 서비스 요청을 처리 ( 웹,메일등과 같이 빈번한곳에 사용)
inetd 방식 : 클라이언트의 서비스 요청이 들어왔을 때 관련 프로세스를 실행
커널 2.4버전부터는 inetd의 역할을 확장하여 새롭게 만든 xinetd 데몬이 역할을 수행
'IT 기술 > 리눅스[Linux]' 카테고리의 다른 글
리눅스 마스터 2급 자격증에 대한 (1) | 2020.11.26 |
---|---|
18년 11월 리눅스 마스터 2급 1차 합격후기 (0) | 2019.12.17 |
리눅스 마스터 2급 1차 [족보] (1) | 2019.11.17 |
리눅스 마스터 2급 1차 [족보]정리 (0) | 2019.11.11 |