리눅스 2급 마스터 2차 정리

devicii·2022년 3월 15일
0

권한 및 그룹삭제

소유권과 관련된 명령어

chown (change owner)
	- 형식 : chown [opt][:group] files
    - 옵션 : -R 하위 디렉토리까지 포함
    
chgrp ( change group)
	- chgrp -h : 심볼릭링크 파일 그룹 소유권을 변경

허가권과 관련된 명령어

chmod 
  - 유저(u), 그룹(g), 기타 사용자(o), 모든 사용자(a) 순으로 정렬
  
umask 
	- 옵션 : -S umask 값을 u,g,o와 r,x,w같은 문자열 (String)으로 나타낸다.
    
    - 기본권한 : 파일 (666), 디렉터리(777)

특수권한

setUID : 사용자가 사용할 때만 소유자 권한으로 파일을 실행

setGID : 사용자가 사용할 때만 그룹 권한으로 파일 실행

sticky bit : 권한기호 t, /tmp 폴더에는 sticky-bit이 설정됌

디스크 쿼터

파일 시스템마다 사용자/그룹을 생성할 수 있는 파일 용량/개수 제한

edquota : 편집기를 사용해 그룹에 디스크 사용량 할당

setqouta: 명령행에서 직접 디스크 할당

파일시스템의 관리

파일 시스템 개요 및 종류

- ext2: 255까지 파일이름, 2gb 단일 파일, 4tb 디스크(저널링 x)

- ext3: ext2를 확장, 저널링 기능

- nfs : 네트워크 파일 시스템, 파일 공유 및 파일 서버

- cifs : SMB의 확장

- NTFS : 윈도우에서 사용하는 파일 시스템, 대용량 파일 저장이 가능

- udf : DVD 파일 시스템

- JFS : IBM이 개발한 저널링 파일 시스템

- 대표적 저널링 파일 시스템  : FJS, XFS, ReiserFX, ext3

관련 명령어

- mount : 장치와 디렉토리 연결

- umount : 연결된 장치와 디렉토리 연결 해제

- eject : 이동식 보조기억장치 제거 (eject를 실행하면 먼저 umount가 실행된다.)

- fdisk : 파티션 생성 및 삭제 타입결정
 <-l> : 현재 디스크 파티션 테이블 정보를 나타냄
 <-v> : fdisk 버전을 나타냄
 <-t> : 파일 시스템 유형 결정(type)
 <-s> : 파티션의 크기(size)
 
- mkfs : 마운트 정보 파일 시스템 정보를 확인

- mke2fs : 파일 시스템, 생성, ext2/ext3/ext4

- fsck : 파일시스템 검사 및 수리

- e2fsck : 파일시스템 점검 및 복구 (ext2,3,4)

- du(Disk Usage) : 디스크 사용량 확인

- df (Disk Free) : 디스크의 남은 용량 확인할 때

- blkid : 현재 하드디스크의 파티션의 UUID와 파일 시스템 정보를 확인할 수 있다.

/etc/fstab : 리눅스에서 사용하는 파일 시스템 정보를 저장하는 곳

쉘 개념 및 종류

- 본쉘 계열(bourne shell) 
	1. 본쉘 : /bin/sh, 벨 연구소의 스티브 본이 개발
    2. 콘쉘 : /bin/ksh, AT&T, 데이비드 콘
    
    3. 배쉬쉘 : /bin/bash, 본쉘 기반으로 GNU 프로젝트에 의해 개발
    
    4. zsh : /bin/zsh
    
    
- c쉘 계열
	1 c쉘 : /bin/csh, 버클리 대학, 빌 조이, c언어 기반
    2 tchs : /bin/tcsh, 확장 c셸


- 셸 변경 명령
	chsh 
- 셸 확인방법
	1. echo $SHELL
    2. chsh -l
    3. cat /etc/shlls
    

프로세스 개념 및 유형

- inetd VS standalone
	1 inted : 필요한 서비스이나 자주 사용하지 않는 서비스를 관리할 때 유용. 
    
    2 standalone : 독립적으로 수행되며 서비스 요청에 응답하기 위해 항상 메모리에 상주하는 데몬
    
- fork & exec
	1 fork : 새로운 프로세스를 만들 때 기본 프로세스를 복제하는 방식
    
    2 exec : 호출하는 프로세스가 새로운 프로세스로 변경되는 방식
    
- 명령어
	1 halt : 시스템을 종료하는 명령
    2 suspend : 작업중인 프로세스를 일시로 중지시키는 명령어

- NI 값
	1 조정 가능한 NI값 범위 : -20 ~ 19
    2 -20은 가장 높은 우선권을 가지고, 19는 가장 낮은 우선권을 가진다.
    3 일반 사용자는 NI값을 증가시키는 것만 가능하고, root 관리자만 NI값을 감소시킬 수 있다

- 시그널 번호
	1 SIGINT -> 2 <Ctrl+C> , 종료
    2 9 -> 강제종료
    3 SIGTERM -> 15 
    4 SIGSTP -> 20 <ctrl+Z>
  

환경설정

- 주요환경 변수
	TERM : 터미널 종류 이름
    TMOUT : 로그아웃 관련 시간 제어
    LANG : 프로그램 사용시 기본 지원 언어
 
- 환경 설정 파일
	1. 전역설정 파일 : /etc/profile, /etc/bashrc
    2. 지역설정 파일 : ~/.bash_profile, ~/.bash_history, ~/.bashrc, ~/.bash_logout
    
	3. /etc/profile.d : 몇몇 응용 프로그램이 시작시 자동 실행할 스크립트 파일 경로를 넣어둔다.


- 셸 환경변수
	1. /etc/profile : 모든 사용자의 쉘 환경을 제어하는 전역적인 시스템 설정 파일
    2. ~/.bash_profile : 일반 사용자가 PATH와 같은 환경변수를 변경할 때 사용하는 지역 설정 파일
    3. ~/.bashrc : 별칭과 bash가 수행시 실행되는 함수를 지역적으로 제어
    4. bash_history : 사용자가 명령어나 키보드로 입력한 내용들을 파일로 모두 기록
    5. /etc/prifle.d : 몇몇 응용프로그램이 시작할 때 필요한 스크립트가 위치하는 디렉터리
    
- history 기능
    !! : 마지막으로 실행했던 명령문 실행
    !문자열 : 가장 최근에 문자열로 
    !?문자열? : 가장 최근에 문자열을 포함하고 있는 단어를 나타냄
    !n : n 번째 명령어 실행
    
- histroy 환경변수
	HISTSIZE : 히스토리 스택의 크기
    HISTFILE : 히스토리 파일의 위치
    HISFILESIZE : 물리적인 히스토리 파일 크기
    
    

프로세스 관련 명령어

 - ps (process status)
 	실행중인 프로세스 상태를 보여준다.
 
 - pstree 
 	실행중인 프로세스를 트리 구조로 나타낸다.
 
 - jobs
 	작업이 중지된 상태, 백그라운드로 진행중인 상태, 변경됐지만 보고되지 않은 상태를 표시
 
 - bg 와 fg
	1 포그라운드에서 백그라운드로 전환하려면 명령어 뒤에 &를 붙이면 된다.
    2 ctrl+c 는 포그라운드를 작업 종료
 
 - kill
 	프로세스를 종료시킴
 
 - killall 
 	같은 데몬의 여러 프로세서를 한 번에 종료시킨다.
 
 - nice
 	프로세스 사이의 우선순위를 변경할 수 있는 명령
 
 - renice
 	이미 실행중인 프로세스의 우선 순위를 변경
 
 - top
 	리눅스 시스템의 운영 상태를 실시간 모니터링, 프로세스 상태 확인
    
 - tail
 	마지막 행을 기준으로 지정한 행까지 파일 내용의 일부 출력

에디터 종류 및 활용

 - pico
 	워싱턴 대학의 aboil kasar가 개발한 유닉스 기반 텍스트 에디터
    <ctrl+ o> : 파일 저장
    <ctrl+ x> : 파일 종료
    <ctrl+ a> : 커서를 해당줄 시작으로 이동
    <ctrl+ e> : 커서를 해당줄 마지막으로 이동

 - vi
 	1976년 빌 조이가 만듦, 모드형 편집기
    -r : 파일 복구 옵션
    vi + [num] 파일명 : 해당 줄로 커서 이동
    vi + $파일명 : 커서가 줄의 맨 끝으로 이동
    vi - 파일명 : 앞줄의 첫 문자로
    
 - vim 
 	브람 무레나르가 만들었다. 
    편집시 다양한 색상을 이용해 가시성을 높일 수 있다.
 
 
 - gedit
 	그놈 데스크톱 환경용으로 자유 소프트웨어 텍스트 편집기
    
 - emacs
 	리차드 스톨만이 개발
    제임스 고슬링이 기능을 추가

소스 파일 설치

	- tar
   	사용방법 : tar [옵션] files
    <-x> : 압출 해제
    <-c> : 압축 하기
    <-r> : 기존 압축에 파일 추가
    
    - 파일 압축과 해제
    1. compress, uncompress (Z)
    2. gzip, gunzip (gz)
    3. bzip, bunzip (bz2)
    4. xz, unxz (xz)
    
    압축 성능 gzip < bz2 < xz

주변장치 연결 및 설정

	- 프린터 설치 및 설정
    	1. LPRng 
        	- 리눅스 초기에 사용하던 시스템
            - /etc/printcap
    	2. CUPS
        	- 애플이 개발한 오픈 소스 시스템
            - /etc/cups
            
    - 프린터 관련 명령어
    	1. BSD 계열
        	- lpr : 프린터 작업요청
            - lpq : 프린터 큐의 작업목록 출력
            - lprm : 프린터 큐에 대기작업 삭제
            - lpc : 라인 프린터 컨트롤러 
        2. System V 계열
        	- lp : 프린터 작업요청
            - lpstat : 프린터 큐 상태 학인
            - cancel : 프린터 작업 취소
            
    - 사운드 카드 설치 및 설정
    	1. OSS : 리눅스에서 사운드를 만듥 캡쳐하는 인터페이스 표준
        2. ALSA : 사운드 카드용 장비 드라이버를 제공하기 위한 리눅스 커널 요소
        
    - 사운드 카드 관련 명령어
    	1. alsatcl : 사운드 카드 제어
        2. alsamixer : 라이브러리 기반의 오디오 프로그램
        3. cdparanoia : 오디오 CD로부터 음악 파일을 추출시 사용한다.
    
    - 스캐너 설치 및 설정
    	1. SANE : 이미지 관련 하드웨어를 제어하는 api
        2. XSANE : sane 인터페이스를 이용해 x-window 기반의 스캐너 프로그램
        
    - 스캐너 관련 명령어
    	1. scan-find-scanner : SCSI 스캐너와 USB 스캐너 정보 출력 명령어
        2. scanimage : 이미지 스캔
        3. sacnadf : 여러 개의 이미지 사진 스캔
        4. scam : GUI 기반을 평판 스캐너나 카메라로부터 이미지 스캔
        
     - 로컬접속 프린트 연결
     	1. /dev/lp0 : 직렬포트 연결
        2. /dev/usb/lp0 : usb 포트 연결

X-Window 개념 및 사용법

	- x윈도우의 특징과 구성요소
    	1. 개념과 특징
        	- 네트워크 프로토콜 기반의 클라이언트/서버 시스템
            - 오픈 테스크톱 환경으로 KDE, GNOME, XFCE 등이 있다.
        2. 구성요소
        	- XProtocol
            - Xlib
            - XCB : xlib대체, 쓰레드 기능 향상 및 확장성 우수
            - Xtoolkit 
            - Xfree86
            - XF86Cofig
            
            
     - 용어설명
     	1. 데스크톱 환경: GUI환경을 이용하기 위해서 사용자에게 제공되는 인터페이스 스타일 (파일간리자, 아이콘, 창 도구 모음, 배경 환경 등이 포함)
        
        2. 윈도우 매니저: x-window에서 윈도우의 배치와 표현을 담당하는 시스템 프로그램
        
        3. 유저 인터페이스: 사람들이 컴퓨터와 상호작용 하는 시스템
        
        4. 디스플레이 매니저: x-window 구성요소 중 사용라 로그인 및 세션 간리 역할 수행
        
      
      - 용어정리
      
         1. 데스크톱 환경: gui 환경을 이용하기 위해서 사용자에게 제공되는 인터페이스 타입
         
      	 2. 윈도우 매니저 : 도크, 태스크 바, 프로그램 런처, 데스크톱 아이콘, 바탕화면 등과 같은 다양한 유틸 제공
         
         3. x 프로토콜 : x 윈도우 시스템에서 서버는 디스플레이를 전담학, x 클라이언트의 요구에 따라서 하면 출력 및 사용자 입력처리를 담당
         
         
         4. 디스플레이 매니저 : 그래픽 모드에서 실행디는 것으로 XDM, GDM, KDM 등이 있다.

	  - 기타
      	1. KDE : QT 라이브러리 기반
        2. GNOME : LPGL을 따르는 GTK+ 라이브러리 기반
        
      - KDE, GNOME, GRUB
      	1. 데스크톱 매니저 : KDE, GNOME, Xface
        2. GNU 프로젝트 부트로더 : GRUB
        3. windows maker : GNOME와 KDE에 통합
        
         
        - GNOME
        	1. GNOME : nautilus (파일 관리자)
            2. GNOME2 : metaciy (파일 관리자)
            3. GNOME3 : Mutter (윈도우 관리자)
            
      

X-Window 활용

	- xhost 
    	1. x서버에 접속할 수 있는 클라이언트를 지정하거나 해제
        형식 : xhost [+ or -] [ip] [도메인명]
        
    - xauth
    	1. MMC 방식의 인증 방식을 사용하기 위한 필수 유틸리티
        2. xauth list $DISPLAY ( 지정된 호스트 표시창의 쿠키값을 확인하는 명령 )
        
     - X-윈도우 응용 프로그램
     	1. 오피스 : LibreOffice, gedit, kwrite
        
        2. 그래픽 : GIMP(이미지 편집), imageMagick, eog(이미지 뷰어)
        
        3. 멀티미디어 : totem (동영상 재생)
        
        4. 개발 : eclipse
        
        5. 기타 : KSnapshot (스크린샷 프로그램)

OSI 7계층

	1. 데이터 전송 단위
    	- 물리 : 비트
        
        - 데이터링크 : 프레임
        
        - 네트워크 계층 : 패킷
        
        - 전송 계층 : -TCP:Segment, -UDP:Datagram
       	- 세션 : 데이터

오답 노트

다음 중 /etc 디렉터리가 차지하고 있는 전체 용량을 확인할 때 사용하는 명령으로 가장 알맞은 것은?

dk Disk Usage의 약자이다. 디스크 사용량 확인

du 디렉터리나 사용자별 디스크 사용량
df 파티션 단위 사용량, 리눅스 시스템 전체 표기

다음 제시된 프린터 관련 명령어 중 나머지 셋과 비교해서 다른 계열에 속하는 명령으로 알맞은 것은?

lp

BSD 계열 - lpr, lpq, lpc, lprm

System V 계열 - lp, lpstat, cancel

다음 중 IP 주소 및 포트 번호와 관련 있는 기구로 알맞은 것은?

IANA 
Internet Assigned Numbers Authority의 약자로서 인터넷 주소 할당 번호 관리기관이다.
ip주소, 포트번호ㅡ 최상위 도메인을 관리한다.

영국 잉글랜드의 한 재단에서 학교와 개도국에서 기초 컴퓨터 과학 교육을 증진시키기 위해 개발한 신용카드 크기의 싱글 보드 컴퓨터이다.

Raspberry Pi 

Arduino : 이탈리아, 싱글 보드
Micro Bit : 영국 BBC
Cubie Board : 중국

Q. 다음 명령을 실행했을 때 /dev/sdb1에 생성되는 파일 시스템으로 알맞은 것은? mke2fs -j /dev/sdb1

 A. ext3
 -j는 저널링 옵션이다. 자동으로 ext3형식으로 만들어진다.

Q. chgrp의 하위 디렉터리까지 소유권을 바꿔주는 옵션은 ?

A. -R 경로와 그 하위 파일들을 모두 변경해준다.

Q. chsh의 옵션은 ?

A. -l 셸 목록 보기
   -s 셸 이름 지정

Q. 최근에 실행한 명령어 10개를 확인하는 명령어는 ?

A. history 10

Q. 사용 가능한 셸의 목록을 확인하는 명령은?

A. cat /etc/shells
	
 	 사용할 수 있는 쉘의 종류를 보여주는 명령어이다.
profile
Life is a long journey. But code Should be short :)

0개의 댓글