Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
리눅스
nenw@2020. 04. 19
Table-of-Contents
1. 운영체제
2. 리눅스
3. 쉘과 명령어
3
Operating System
운영체제
4
운영체제
| 하드웨어 관리
| 소프트웨어 간 자원 관리
| 기본적인 서비스 제공
5
하드웨어
커널
쉘 응용 프로그램
6
커널
| 운영체제의 핵
| 자원 분배 / 시스템 콜
| 메모리 및 프로세스 제어
7
쉘
| 실제 사용자가 접근하는 사용자 인터페이스
| CLI / GUI
| bash, zsh, …
| 오늘 다룰 내용
8
9
Linux
리눅스
| = 커널
| Linus Torvalds의 GitHub에 있음 (torvalds/linux)
| 유닉스 계열
| 서버에서 많이 사용됨
| 수많은 배포판이 있음
10
리눅스배포판
| 커널 만으로 돌아갈 수는 없음
| 수 많은 프로그램, 스크립트 등
| 이를 묶은 게 배포판 (distro)
| ArchLinux, Debian, Gentoo, Ubuntu …
11
리눅스의파일구조
| 루트부터 시작하는 거대한 트리
| Filesystem Hierarchy Standard
| $ man hier
12
/ 루트 디렉토리
13/bin
/dev
/boot
/etc
/home
/lib
/root
/sbin
/sys
/tmp
기본적인 바이너리
부트로더
장치 파일
설정 파일
홈 디렉토리
라이브러리
루트의 홈 디렉토리
시스템 바이너리
시스템 정보
임시 디렉토리
/usr
/var
사용자 정보
가변 파일
14
Shell,Commands
SSH
| Secure SHell
| 암호화 통신을 이용한 원격 쉘
| 앞으로 많이 사용할 것...
| $ ssh (이름)@old.sparcs.org
15
기본적인명령어
| $ cd (폴더명): 디렉토리 변경
| $ ls (폴더명): 파일 목록 출력
| -a, -l, -h, -R, -d, …
| 주로 ls –al 을 묶어서 사용
16
파일표기법
| 절대 경로: 루트로부터 시작하는 경로
| ‘/’ 로 시작, 현재 디렉토리와 상관없이 같은 위치를 지정
| $ pwd 명령어로 출력 가능
| /home/nenw/file1
| 상대경로: 현재 디렉토리에서 시작하는 경로
| directory1/file1
| 쉘 이스케이핑
| ".", "..", "/", "~"
17
파일작업 (1)
| $ cp [출발] [도착]
| $ mv [출발] [도착]
| $ rm [-r] [폴더명]
| $ rmdir [폴더명]
| $ mkdir [폴더명]
| $ ln [-s] [출발] [도착]
18
파일작업 (2)
| $ cat [파일명]
| $ head -n [줄 수] [파일] 또는 $ tail -n [줄 수] [파일]
| $ less [파일]
| $ chmod [퍼미션] [파일]
| $ chown [사용자]:[그룹] [파일]
19
사용자와그룹
| 사용자
| 너, 나, 우리
| uid
| 그룹
| sparcs, presparcs, wheel, ....
| gid
20
퍼미션과소유자
| 파일에 대한 이해관계
| 소유자, 그룹, 타인
| 퍼미션: 각각 읽기(r, 4) / 쓰기(w, 2) / 실행(x, 1) 권한을 어떻게 줄지 결정함
| drwxr-xr-x cookie sparcs
| 소유자: cookie, 소유그룹: sparcs
| 소유자: 읽기/쓰기/실행, 소유그룹: 읽기/실행, 타인: 읽기/실행
| d: 디렉토리, l: 링크
| 디렉토리를 실행?
21
프로세스관리
| ^C, ^Z
| $ jobs, $ fg, $ bg, $ kill, $ ps
| $ command &
| screen, tmux
22
파이프 & 리다이렉션
| 리다이렉션 (filedes)
| stdin (0): <
| stdout (1): > 또는 >> (끝에 추가)
| stderr (2): 2>
| &1, &2
| ls -al > result.txt
| 파이프: |
| 이전의 stdout을 이후의 stdin으로
| ls -al | sort | less
23
파일검색
| $ grep [패턴] [파일]
| 파일 내용에서 검색...
| 또는 파이프와 같이 써서 stdin 에서 검색 (!!)
| $ cat log.txt | grep "error"
| $ find [경로]
| 파일 이름 (+ 기타 등등)에서 검색
| 검색된 파일에 대해 특정 명령 실행 (!!)
| $ find . -name ".*" -type d -exec echo {} \;
| 지금 알아 둘 필요는 없지만 알아 두면 편함
24
그외에도...
| $ sudo
| 매우 강력한 권한 (다른 사용자 / 루트 사용자 인 양 행동)
| $ tldr
| 모르는 명령어에 대한 친절한 예제 기반 설명 (설치 필요함)
| tldr.ostera.io 에서 웹버전 사용 가능
| $ man [명령어], --help, -h
25
마지막으로
| $ nano [파일명]
| 처음에 사용하기 쉬운 에디터. 하지만, 저는 여러분이 vim과 친해졌으면 합니다.
| $ vim [파일명]
| 강력한 에디터
26
감사합니다
28