문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
wiki:os:linux:리눅스_기본_개념 [2022/12/16 18:10] hgkim |
wiki:os:linux:리눅스_기본_개념 [2023/01/13 18:44] (현재) |
||
---|---|---|---|
줄 5: | 줄 5: | ||
* email : hgkim@repia.com | * email : hgkim@repia.com | ||
* firstupdate : 2022-12-15 Thu | * firstupdate : 2022-12-15 Thu | ||
- | * lastupdate | + | * lastupdate |
</ | </ | ||
줄 66: | 줄 66: | ||
=====리눅스 디렉토리 구조===== | =====리눅스 디렉토리 구조===== | ||
* Unix 디렉토리처럼 Tree 모양의 계층 구조를 가지고 있으며 이를 FHS(Filesystem Hierarchy System)라고 함 | * Unix 디렉토리처럼 Tree 모양의 계층 구조를 가지고 있으며 이를 FHS(Filesystem Hierarchy System)라고 함 | ||
- | * 최상위 디렉토리- / | + | * 최상위 디렉토리 - / |
* 모든 디렉토리들의 시작점으로 일반적인 데이터를 저장하지 않음 | * 모든 디렉토리들의 시작점으로 일반적인 데이터를 저장하지 않음 | ||
* 기본 명령어가 있는 바이너리 디렉토리 - bin | * 기본 명령어가 있는 바이너리 디렉토리 - bin | ||
줄 124: | 줄 124: | ||
* 백그라운드에서 실행됨. input을 읽거나 output을 write할 컨트롤 터미널을 가지지 않음 | * 백그라운드에서 실행됨. input을 읽거나 output을 write할 컨트롤 터미널을 가지지 않음 | ||
* 예로, 시스템 로그를 기록하는 syslogd나 웹 서버인 httpd 등이 해당 | * 예로, 시스템 로그를 기록하는 syslogd나 웹 서버인 httpd 등이 해당 | ||
+ | =====셸이란===== | ||
+ | * 인터페이스를 통해 사용자의 명령어를 커널에 전달하여 시스템 자원들을 관리를 도와주는 시스템(사용자 < | ||
+ | * 리눅스 Bash는 CLI방식의 장치이므로, | ||
+ | =====리눅스 커널을 조작하기 위한 셸의 종류===== | ||
+ | ^ 셸이름 | ||
+ | | Bourne Shell | sh | 많은 셸 스크립트의 기반이 되는 셸 | | ||
+ | | C Shell | csh | C언어 구문과 유사, Bourne Shell 을 확장하여 히스토리, | ||
+ | | TC Schell | ||
+ | | Korn Shell | ksh | Bourne Shell 가 호환되며 C Shell 의 많은 기능을 포함, Unix 계열에서 많이 사용 | ||
+ | | Bourne Again Shell (bash) | ||
+ | =====셸 확인 및 변경===== | ||
+ | * 셸 변경 | ||
+ | * grep [사용자계정ID] / | ||
+ | <code bash> | ||
+ | $ chsh # | ||
+ | Password: | ||
+ | New shell [/ | ||
+ | Shell changed. | ||
+ | </ | ||
+ | * 셸 목록 확인 | ||
+ | * etc 디렉터리는 시스템 설정 파일이 존재하는 디렉터리 이며 리눅스 시스템에서 가장 중요한 디렉터리 | ||
+ | <code bash> | ||
+ | $ cat /etc/shells | ||
+ | /bin/sh | ||
+ | /bin/bash | ||
+ | / | ||
+ | /bin/dash | ||
+ | /bin/tcsh | ||
+ | /bin/csh | ||
+ | </ | ||
+ | =====셸 스크립트란===== | ||
+ | * Shell(쉘)에서 사용할 수 있는 명령어들의 조합을 모아서 만든 배치(batch)파일. 즉, | ||
+ | =====셸 스크립트의 장단점===== | ||
+ | * 장점 | ||
+ | - 셸 스크립트를 기록하는 것은 다른 프로그래밍 언어의 같은 코드로 쓰인 것보다 훨씬 더 빠른 경우가 많음 | ||
+ | - 다른 해석 언어에 비해, 셸 스크립트는 컴파일 단계가 없기 때문에 스크립트는 디버깅을 하는 동안 빠르게 실행 가능 | ||
+ | * 단점 | ||
+ | - 실행되는 각 명령에 대한 잠재적으로 새로운 하부 프로세스의 수많은 필요에 따라 속도가 느려질 수 있음 | ||
+ | - 복잡한 셸 스크립트는 셸, 유틸리티, | ||
+ | - 다양한 셸이 문제를 개선할 목적으로 고품질의 코드와 확장을 기록하기 힘들 수 있음 | ||
+ | =====셸 스크립트 기본 문법===== | ||
+ | * 스크립트 텍스트 파일은 다음과 같이 시작함(# | ||
+ | * 셸 활용법 - 모니터링, | ||
줄 140: | 줄 183: | ||
- | + | {{tag> 치킨5분컷 | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | {{tag> 치킨5분컷}} | + |