대충벌레 블로그
728x90
반응형

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 데몬이 역할을 수행

 

https://blog.naver.com/960307-/221440553602

반응형
profile

대충벌레 블로그

@대충벌레

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!