리눅스 마스터 2급 개념정리
comcbt로 기출문제를 풀어본 후, 자주 나온 개념 위주로 정리해보았다.
리눅스 권한 확인
ls -l
로 파일 및 디렉토리 리스트, 권한 확인 가능.- 출력 결과는 파일 종류, 권한, 링크수, 사용자, 그룹 등으로 구성.
-rwxr-xr-x 로 출력되는 파일
-, rwx,r-x,r-x로 4등분하여 구분- - : d 로 파일(-), 디렉터리(d) 구분
- rwx : 사용자 권한 (read, write, execute)
- r-x : 그룹 권한 (read, execute)
- r-x : 다른 사용자 권한 (read, execute)
- 출력 결과는 파일 종류, 권한, 링크수, 사용자, 그룹 등으로 구성.
chmod로 권한 변경
chmod g+w test.c
g(그룹)에 w(쓰기) 권한을 부여.
chmod o-r test.c
o(다른 사용자)에게서 r(읽기) 권한을 박탈.
chmod a+x test.c
a(모두)에 x(실행) 권한을 부여.
chmod u+rwx test.c
u(소유자)에 r,w,x 권한을 부여.
chmod go-w test.c
g,o에게서 w 권한을 박탈.
/etc/fstab
- 부팅시 마운트정보를 저장함.
- 총 6부분으로 구성됨.
- 파일 시스템 장치
- 장치 이름이 기록되는곳. 장치명, 볼륨라벨, UUID등이 사용됨.
- 마운트 포인트
- 파일 시스템 장치(1번)을 마운트 시킬 위치를 설정하는 부분.
- 파일 시스템 종류
- 마운트 하기전에 파일 시스템을 결정하는것.
- ext,ext2,ext3,ext4,iso 9660, nfs,swap등이 존재.
- 옵션
- 파일 시스템의 속성 설정 옵션
- 덤프
- 백업주기 설정
- 0 : 사용안함 , 1 : 매일 수행, 2 : 2일에 한번 수행
- 파일체크 옵션
xfs 파일시스템 생성
mkfs.xfs
make file system : xfs 으로 암기.
저널링 기술
- 시스템 비정상 종료시 로그에 저장된 데이터만 사용하여 검사.
- ext3부터 적용됨.
기본 허가권
- 디렉터리 생성시 기본적으로 설정된 권한 값.
- umask로 설정 가능하다.
- -s옵션으로 문자표기한다 (기본은 숫자모드)
권한 - 숫자모드
- r = 4, w = 2, x = 1을 의미한다.
- 파일의 경우 0666, 디렉터리의 경우 0777의 기본 퍼미션을 보유.
- umask 설정을 통해 기본 전체 허용에서 권한을 빼는 방식.
umask의 값이 0002일때, 파일과 디렉터리는 각각
0666 - 0002 = 0664 : u=r-x, g=rw-, o=r–
0777 - 0002 = 0775 : u=rwx, g=rwx, o=r-x
의 권한을 가진다.
fdisk
- 새로운 파티션 생성, 기존 파티션 삭제, 파티션 타입 결정
fdisk 파티션 종류 변경
- swap : 82
- Linux : 83
- LVM : 8e
- Raid : fd
쿼터
- 파일 시스템마다 사용자나 그룹이 생성할수 있는 파일 용량, 개수 제한
- quota : 사용자(그룹)의 쿼터 확인
- edquota : 사용자(그룹)의 쿼터 설정 및 편집(edit quota)
- repquota : 쿼터 설정 및 용량 제한내용 리포팅(report quota)
- quotacheck : 쿼터 설정 상황 점검
특수권한
- Set-UID는 사용자의 특수권한
- Set-GID는 그룹의 특수권한
- Sticky-Bit는 디렉터리에 설정된 특수권한.
drwxrwxrxt
d=디렉터리, u=rwx, g=rwx, o=rxt
사용자와 그룹에 s,S가 없으므로 Set-UID, Set-GID 없음.
other에 t가 존재 => Sticky-Bit는 설정됨
Chown
- 소유 유저 또는 그룹을 변경
Chown -R
- –recursive 로도 사용되며, 해당 위치에 연결된 모든 하위파일 및 디렉터리에 소유자 변경을 재귀적용
쉘 환경변수
- 쉘 변수(지역 환경변수) : 현재 쉘에서만 적용됨
변수명 = 값
으로 선언 가능.unset 변수명
으로 변수 해제.set
으로 변수 선언 확인 가능.
- 환경 변수(전역 환경변수) : 로그인 쉘 및 서브쉘 적용
export 변수명=값
으로 선언 가능.unset 변수명
으로 변수 해제.env
로 변수 선언 확인 가능.
alias
alias 별명 = '명령어 정의'
로 선언unalias 별명
으로 선언해제alias
로 별명 목록 나열
셸 개발 순서
- Bourne(1977) -> C(1978) -> korn(1983) -> Bash(1989)
시그널
- Sigint = 2
- SigHUB = 1
- SigQUIT = 3
- SigCONT = 18
- kill 명령은 기본적으로 15 시그널 사용.
- 강제종료시 9 시그널 사용.
fork
- 기존 프로세스는 유지하고 새로 메모리를 할당받아 복사본 프로세스를 실행
inetd
- 클라이언트 서비스 요청시에만 실행되는 프로세스
daemon
- 주기적, 지속적 서비스 요청처리를 위해 백그라운드에서 계속 실행되는 프로세스
standalone
- 부팅시 실행, 메모리에 상주하여 서비스 요청을 처리.
jobs 명령어
- 작업 중지상태, 백그라운드 진행상태, 변경 미보고 상태 등 확인.
top 명령어
- 실시간 cpu, 메모리, 부하상태 등을 체크하는 명령어.
- -d 옵션으로 일정시간마다 갱신
- -p 옵션으로 특정 PID의 프로세스를 모니터
vi
- :q 편집기 종료
- :q! 저장하지 않고 편집기 종료
- :wq 변경내용 저장후 종료
tar 명령어
- -cvf : tar로 압축 (c + v + f)
- -xvf : tar 압축 해제
- -zcvf : tar.gz로 압축해제
- -zxvf : tar.gz 압축해제
- -C : 디렉터리 변경시 사용
- -r : tar 아카이브 마지막에 파일 추가