28
리눅스 nenw @2020. 04. 19

리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

리눅스

nenw@2020. 04. 19

Page 2: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

Table-of-Contents

1. 운영체제

2. 리눅스

3. 쉘과 명령어

Page 3: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

3

Operating System

Page 4: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

운영체제

4

Page 5: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

운영체제

| 하드웨어 관리

| 소프트웨어 간 자원 관리

| 기본적인 서비스 제공

5

Page 6: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

하드웨어

커널

쉘 응용 프로그램

6

Page 7: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

커널

| 운영체제의 핵

| 자원 분배 / 시스템 콜

| 메모리 및 프로세스 제어

7

Page 8: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

| 실제 사용자가 접근하는 사용자 인터페이스

| CLI / GUI

| bash, zsh, …

| 오늘 다룰 내용

8

Page 9: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

9

Linux

Page 10: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

리눅스

| = 커널

| Linus Torvalds의 GitHub에 있음 (torvalds/linux)

| 유닉스 계열

| 서버에서 많이 사용됨

| 수많은 배포판이 있음

10

Page 11: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

리눅스배포판

| 커널 만으로 돌아갈 수는 없음

| 수 많은 프로그램, 스크립트 등

| 이를 묶은 게 배포판 (distro)

| ArchLinux, Debian, Gentoo, Ubuntu …

11

Page 12: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

리눅스의파일구조

| 루트부터 시작하는 거대한 트리

| Filesystem Hierarchy Standard

| $ man hier

12

/ 루트 디렉토리

Page 13: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

13/bin

/dev

/boot

/etc

/home

/lib

/root

/sbin

/sys

/tmp

기본적인 바이너리

부트로더

장치 파일

설정 파일

홈 디렉토리

라이브러리

루트의 홈 디렉토리

시스템 바이너리

시스템 정보

임시 디렉토리

/usr

/var

사용자 정보

가변 파일

Page 14: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

14

Shell,Commands

Page 15: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

SSH

| Secure SHell

| 암호화 통신을 이용한 원격 쉘

| 앞으로 많이 사용할 것...

| $ ssh (이름)@old.sparcs.org

15

Page 16: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

기본적인명령어

| $ cd (폴더명): 디렉토리 변경

| $ ls (폴더명): 파일 목록 출력

| -a, -l, -h, -R, -d, …

| 주로 ls –al 을 묶어서 사용

16

Page 17: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

파일표기법

| 절대 경로: 루트로부터 시작하는 경로

| ‘/’ 로 시작, 현재 디렉토리와 상관없이 같은 위치를 지정

| $ pwd 명령어로 출력 가능

| /home/nenw/file1

| 상대경로: 현재 디렉토리에서 시작하는 경로

| directory1/file1

| 쉘 이스케이핑

| ".", "..", "/", "~"

17

Page 18: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

파일작업 (1)

| $ cp [출발] [도착]

| $ mv [출발] [도착]

| $ rm [-r] [폴더명]

| $ rmdir [폴더명]

| $ mkdir [폴더명]

| $ ln [-s] [출발] [도착]

18

Page 19: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

파일작업 (2)

| $ cat [파일명]

| $ head -n [줄 수] [파일] 또는 $ tail -n [줄 수] [파일]

| $ less [파일]

| $ chmod [퍼미션] [파일]

| $ chown [사용자]:[그룹] [파일]

19

Page 20: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

사용자와그룹

| 사용자

| 너, 나, 우리

| uid

| 그룹

| sparcs, presparcs, wheel, ....

| gid

20

Page 21: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

퍼미션과소유자

| 파일에 대한 이해관계

| 소유자, 그룹, 타인

| 퍼미션: 각각 읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을 어떻게 줄지 결정함

| drwxr-xr-x cookie sparcs

| 소유자: cookie, 소유그룹: sparcs

| 소유자: 읽기/쓰기/실행, 소유그룹: 읽기/실행, 타인: 읽기/실행

| d: 디렉토리, l: 링크

| 디렉토리를 실행?

21

Page 22: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

프로세스관리

| ^C, ^Z

| $ jobs, $ fg, $ bg, $ kill, $ ps

| $ command &

| screen, tmux

22

Page 23: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

파이프 & 리다이렉션

| 리다이렉션 (filedes)

| stdin (0): <

| stdout (1): > 또는 >> (끝에 추가)

| stderr (2): 2>

| &1, &2

| ls -al > result.txt

| 파이프: |

| 이전의 stdout을 이후의 stdin으로

| ls -al | sort | less

23

Page 24: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

파일검색

| $ grep [패턴] [파일]

| 파일 내용에서 검색...

| 또는 파이프와 같이 써서 stdin 에서 검색 (!!)

| $ cat log.txt | grep "error"

| $ find [경로]

| 파일 이름 (+ 기타 등등)에서 검색

| 검색된 파일에 대해 특정 명령 실행 (!!)

| $ find . -name ".*" -type d -exec echo {} \;

| 지금 알아 둘 필요는 없지만 알아 두면 편함

24

Page 25: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

그외에도...

| $ sudo

| 매우 강력한 권한 (다른 사용자 / 루트 사용자 인 양 행동)

| $ tldr

| 모르는 명령어에 대한 친절한 예제 기반 설명 (설치 필요함)

| tldr.ostera.io 에서 웹버전 사용 가능

| $ man [명령어], --help, -h

25

Page 26: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

마지막으로

| $ nano [파일명]

| 처음에 사용하기 쉬운 에디터. 하지만, 저는 여러분이 vim과 친해졌으면 합니다.

| $ vim [파일명]

| 강력한 에디터

26

Page 27: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

27

:wq로 저장 후 종료

:q! 로 저장 안하고 종료

vim-adventures.com 게임으로 빔을 연습해보자

Page 28: 리눅스 - Amazon S3퍼미션과소유 | 파일에대한이해관계 | 소유자, 그룹, 타인 | 퍼미션: 각각읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을어떻게줄지결정함

감사합니다

28