본문 바로가기

자기계발

리눅스 마스터 2급 2차 정리(1)

반응형

리눅스 마스터 2급 2차 이기적 참고서와 기출문제를 참고하여 만들어 봤습니다.

공부하는데 도움이 되길 바랍니당.

 

소유권관련
명령어
1) #chown ‘옵션’ 소유자 파일명: 파일/디렉터리 소유권을 변경.
chown root= chgrp
passwd (계정, 로그인 정보), shadow(패스워드)

2) #chgrp ‘옵션’ 그룹명 파일명: 파일/디렉터리 그룹 소유권을 변경.
- 옵션: -R(하위 디렉터리 포함 디렉터리 내부 모든 파일 소유권 변경), -h(심볼릭 링크만 바꿈.)
허가권
관련
명령어
- 명령어 ‘ls l’ 으로 파일 유형과 허가권을 알 수 있음. 파일은 일반 파일, 디렉터리 파일, 특수 파일(b 블록장치/c 문자장치/I 바로가기 아이콘 역할/p 파이프/s 소켓)로 나뉨. 파일 권한은 읽기(read, 4 ), 쓰기(write, 2 ), 실행(execute, 1, 내부 접근 권한, 디렉터리(삭제, 생성), 파일(수정, 쓰기)) 구분됨. 접근 제한 표시는 하이픈(--).

1) chmod: 파일/디렉터리의 접근 허가권 변경함. 권한 변경은 숫자모드(7(rwx), 6(rw-), 5(r-x) 4(r--)), 기호 모드(u(소유자), g(그룹), o(기타사용자), a(모든 사용자), +/-(허가권 부여/제거), =(지정),r, w, x)

2) umask ‘옵션’ 값: 새로 생성되는 파일이나 디렉터리의 기본 허가권 값을 지정. 파일의 기본 권한은 666, 디렉터리의 기본 권한은 777. 파일/디렉터리 생성 시 디폴트 권한 값에서 설정한 umask 를 뺀 값을 기본 허가권으로 설정 -옵션: -S(umask 값 문자로 표기)
특수 권한 - Set UID(u+s, 4), Set GID(g+s, 2): 보안 X
- 리눅스(o+t), 유닉스(u+t)
- Sticky bit(있는 곳t 없는 곳T, 1): 내용은 해당 파일의 소유자나 root 만이 변경 가능./tmp에 생성.디렉터리 자체도 소유자만 삭제함.
디스크
쿼터
파일의 용량 및 개수를 제한. 보통 블록 단위의 용량이나 inode의 개수를 제한함.
디스크쿼터
관련
명령어
1) quotacheck: 파일 시스템의 디스크 사용 상태를 검색.
2) edquota: 편집기로 사용자나 그룹에 디스크 사용량을 할당함.
3) quota : 디스트 사용량 및 할당량 표시
4) repquota : 사용자 쿼리 정보 출력, 할당량, 디스크, 사용량 요약.
5) usrquota : 사용자 쿼터 설정.
파일
시스템의
개요와
종류
- ext3 : 저널링 지원
- XFS : 100TB
- sysv : 리눅스에서 사용하는 가상 파일 시스템
네트워크 파일
시스템
1) SMB(Server Message Block): 삼바 파일 시스템을 마운트 지정. 윈도우계열 OS 환경에서 사용되는 파일/프린터 공유 프로토콜. 리눅스, 유닉스 계정 OS 와 윈도우 OS 와의 자료 및 하드웨어 공유, smbfs

2) CIFS(Common Internet File System): SMB를 확장한 파일 시스템.
라우터를 뛰어넘어 연결한 프로토콜.


3) NFS(Network File System): sun개발. 파일 공유/서버로 사용. 공유된 영역을 마운트할 때 지정. 하드웨어, 운영체제, 네트워크 구조가 달라도 공유 가능. NFS서버의 특정 디렉터리를 마운트 사용할 수 있음.

- 기타 지원 가능한 파일 시스템
1) FAT: Windows NT 지원 중 가장 간단한 시스템.
2) VFAT(Virtual FAT): FAT확장, 제한↓.255자까지. 공백, 구두점포함
명령어 1) mount ‘옵션’ 디바이스명 디렉터리명: 마운트는 디바이스를 특정 디렉터리처럼 사용함. CD/DVD,usb
- 옵션: -a(/etc/fstab파일에 정의된 모든 시스템 마운트), -n(/etc/mtab파일에 저장없이 마운트), -f(마운트 가능한지 테스트), -t(파일시스템), -o(추가설정)

2) umount : 마운트 해제
- 옵션: -a(/etc/mtab 파일에 명시된 파일 시스템을 마운트 해제), -n(/etc/mtab 파일을 갱신없이 마운트 해제), -t(언마운트할 것 지정)

3) eject : 미디어 해제, 장치 제거, 언마운트 자동 실행


4) fdisk ‘옵션’ 장치명: 한 번에 한 디스크에만 파티션 생성, 삭제, 타입 결정 등 수행 가능함. 명령어 프롬프트 중심의 간단한 인터페이스.

- 옵션: -v(fdisk 버전 정보 표시), -l(현재 디스크 파티션 테이블 정보)
Swap(82), linux(83) linwm(8e), raid(fd)


5) mkfs, mke2fs : fdisk로 하드디스크를 파티션을 나눈 후 파티션에 맞는 리눅스 파일 시스템 생성함.

- 옵션: -V(자세한 정보 보기), -t (파일 시스템(생성 파일 시스템 타입(ext4)지정), -I 파일명(파일명으로부터 배드 블록 목록 읽기), -v(작업 상태 결과 자세히보기), -j(ext3), T(inode 크기)

6) mke2fs: 파일 생성


7) fsck ‘옵션’ 장치명: 파일 시스템의 무결성 점검, 대화식으로 복구함
디렉터리 /lost+found 사용하다 정상 복구되면 사라짐. 평소엔 null.

- 옵션: -A(/etc/fstab에 표시된 모든 파일시스템 점검), -a(질의없이 복구), -r(질의 후 복구), -s(fsck 동작을 시리얼화, 대화형 모드에서 여러 파일 시스템 점검시 유용), -t 파일시스템(파일시스템 유형 지정)

8) du ‘옵션’ 파일 및 디렉터리명: Disk Usage 의 약자로 디렉터리별로 디스크 사용량을 확인함.
- 옵션: -h(용량 단위 표시), -a(디렉터리가 아닌 모든 파일에 정보 표시), -m(MB단위), -k(KB단위, 기본값), -s(사용량의 총 합계 표시, 파일 전체 크기를 합한 값 표시), -c(모든 파일 디스크 사용 정보를 보여주고 나서 합계 표시)

9) df ‘옵션’ 파일명: 시스템에 마운트되고 파티션된 하드 디스크의 남은 용량을 확인할 때 사용함. 기본적으로 1024 Byte 블록 단위로 출력. 시스템 디스크 전체 정보
- 옵션: -h(용량 단위), -T(파일 시스템 유형과 파티션 정보 출력), -t(표시되는 파일 시스템 유형 지정), -a(0 블록 포함 모든 파일시스템 출력), -k(--block-size=1k), -i(inode사용률 확인, 사용공간, 사용 퍼센트)
명령어 해석기

1 본셸계열 - 본셸 /bin/sh : 스티븐 본(1979), 유닉스 기본셸, if while 이용 구성, alias 기능 제공
            - 콘셸 /bin/ksh : AT&T사 데이비드 콘(1986), 명령어 완성, 히스토리
            - 배쉬셸 /bin/bash : 브레인 폭스(1989), GNU에 의하며 LINUX 표준 셸. 다양한 운영체제. 명령                                         어 완성, 히스토리, 명령어 치환, 편집 기능, Posix와 호환가능.

-
배쉬셸의 주요 기능
1) History: 사용했던 명령어(1000개)를 .bash_history 에 저장해 두고 재사용하는 기능.

-옵션: !a(a로 시작하는 가장 최근 명령어 실행),!!(마지막 사용 명령어 실행), !?a?(a가 포함된 명령어 실행), !1(첫 번째 명령어 실행), n(최근 n개 명령어), -c(히스토리 삭제), pwd(현재 작업 디렉터리를 알려줌)
- 환경변수: HISTSIZE(히스토리 파일 스택 크기 변경), HISTFILE(히스토리 파일 위치), HISTFILESIZE(물리적 히스토리 파일 크기 지정), HISTTIMEFORMAT(시간 형식 지정, 명령어 수행마다 현재 시간 기록)

2) alias: 별명 = 명령어 정의, 설정된 단어목록 나열.
            - 지셸 /bin/zsh : 폴 팔스타드(1990), 콘셸 재작성
            - dash : 가능한 작게 구현. history 없고, posix 있음
2 c셸계열  - C셸 /bin/csh : 버클리 대학(1981), C언어 특징. 히스토리, 별명, 작업제어, 프로그래밍.
            - tc셸 /bin/tcsh : Ken greer(1982), BSD계열. 명령어 편집 기능. emacs, 히스토리, 자동완성기능,                                     자동 로그아웃, 로그인 상태, 사용자, 터미널 모니터링. 새로운 환경 변수.
셸 확인 및 변경 로그인 셸 확인

1. 파일 /etc/shell 에서 사용할 수 있는 셸들 확인
2. 파일 /etc/passwd 파일에서 계정마다 할당된 셸을 확인.
3. echo $SHELL 은 현재 로그인한 사용자가 사용하고 있는 셸을 확인

로그인 셸 변경

1. 반영구적. 셸 변경 후 다음 변경을 하기전까지 지정된 셸을 사용함.
2. chsh ‘옵션’ 계정명 셸: 일반 사용자 환경에서 셸 변경 시 사용.
- 옵션: -s(지정 셸을 로그인 셸로 변경), -l(/etc/shells 파일 안에 나열),-u(도움말)
3. usermod ‘옵션’ 계정명: 관리자 환경에서 지정된 계정자의 정보를 변경할 때 사용하는 명령어.
- 옵션: -s(지정 셸을 로그인 셸로 변경)

환경 변수(전역)와 셸변수(지역)
1. 환경변수(전역)-대문자 : 전체 셸 사용. 서브 셸 기능 상속 가능. 환경 변수 확인 명령 : env
 
변수 YJ 값을 Youngjin지정 후 변수값 확인 후 해당 값 해제

YJ= Youngjin / export=YJ / echo $YJ / unset YJ
현재 PATH확인 후 PATH 변수에 /TST/bin 추가
Echo $PATH / export PATH=$PATH: /TST/bin

2. 셸 변수(지역 변수) :
현 로그인 셸에서만 사용. 서브 셸에서 상속 불가. 셸 변수 확인 명령: set
환경 설정 파일 - 전역 설정 파일 

> /etc/profile : 모든 사용자 셸 환경 제어. 환경 변수와 bash가 수행 시 실행되는 프로그램 제어. 관리자만 설정 가능. 모든 사용자 반영
> /etc/bashrc : 별칭과 bash가 수행 시 실행된 함수. 생략 가능. /etc/profile 내용 포함. 사용자가 정의함.

-
지역 설정 파일

> ~/.bash_profile : 개인 사용자 셸 환경 제어. PATH, 환경 변수 등 설정 or 변경. 로그인 시 로딩
> ~/.bash_history : 명령어나 키보드 입력 기록됨. 재사용.
> ~/.bashrc : 별칭과 bash 수행 시 실행되는 함수제어
> ~/.bash_logout : 로그아웃 직전 실행되는 시스템 설정. 자동 생성 파일 삭제

 

반응형