Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- SWEA
- hackctf
- hackerrank
- 숙명여자대학교 정보보안동아리
- WarGame
- c
- BOJ Python
- CSS
- 풀이
- HTML
- BOJ
- 드림핵
- siss
- Python
- 파이썬
- Sookmyung Information Security Study
- 숙명여자대학교 정보보안 동아리
- 기계학습
- 웹페이지 만들기
- 생활코딩
- Javascript
- XSS Game
- c++
- PHP 웹페이지 만들기
- 백준
- 머신러닝
- lob
- C언어
- The Loard of BOF
- 자료구조 복습
Archives
- Today
- Total
혜랑's STORY
[2020-2학기 리눅스 3주차] : 이론 본문
# 쉘과 명령어 사용
- 쉘(shell)이란 무엇인가?
쉘은 사용자와 운영체제 사이에 창구 역할을 하는 소프트웨어로 사용자로부터 명령어를 입력 받아 이를 처리하여 명령어 처리기(command processor)(command processor)라고도 불린다.
- 쉘의 종류; 유닉스/리눅스에서 사용 가능한 쉘의 종류
쉘의 종류 | 쉘 실행 파일 | 설명 |
본쉘 | /bin/sh | 벨연구소에서 유닉스에서 기본 쉘로 사용됨 |
콘 쉘 | /bin/ksh | 벨연구소에서 본 쉘을 확장하여 만듬 |
C 쉘 | /bin/csh | GNU에서 본쉘을 확장하여 개발한 쉘 리눅스 및 맥 OS X에서 기본 쉘로 사용됨 Bash 명령어의 구문은 본 쉘 명령어 구문을 확장함 |
Bash | /bin/bash | 쉘의 핵심 기능 위에 C언어의 특징을 많이 포함함 |
tcsh | /bin/tcsh | C 쉘을 개선한 쉘이다 |
로그인 쉘(login shell) | /bin/csh | 로그인하면 자동으로 실행되는 쉘 |
- 쉘의 주요 기능
- 명령어 처리; 사용자가 입력한 명령을 해석하고 적절한 프로그램을 실행
- 시작 파일; 로그린할 때 실행되어 사용자별로 맞춤형 사용 환경 설정
- 스크립트; 쉘 자체 내의 프로그래밍 기능
- 쉘의 실행 절차
- 쉘의 환경 변수
환경변수 설정법
$ 환경변수명 = 문자열 -> 환경변수의 삾을 문자열로 설정한다. |
- 쉘의 시작파일(start-up file)
- 시작 파일; 쉘마다 시작될 떄 자동으로 실행되는 고유의 시작 파일
- 시스템 시작 파일; 시스템의 모든 사용자에게 적용되는 공통적인 설정
- 사용자 시작 파일; 사용자 홈 디렉터리에 있으며 각 사용자에게 적용되는 설정
- 전면처리 vs 후면처리
전면처리 | 후면처리 |
명령어를 입력하면 명령어가 전면에서 실행되며 명령어 실행이 끝날때까지 쉘이 기다려 준다. | 명령어들을 후면에서 처리하고 전면에서는 동시에 여러 작업을 수행할 수 있다. |
$ 명령어 | $ 명령어 & |
+) 후면 작업 확인
$ jobs [%작업번호] -> 후면에서 실행되고 있는 작업들을 리스트한다. 작업 번호를 명시하면 해당 작업만 리스트한다. |
+) 후면 작업을 전면 작업으로 전환
$ fg %작업번호 -> 작업번호에 해당하는 후면작업을 전면작업으로 전환시킨다. |
- 출력 재지정(output redirection)
$ 명령어 > 파일 -> 명령어의 표준출력을 모니터 대신에 파일에 저장한다. |
$ 명령어 >> 파일 -> 명령어의 표준출력을 모니터 대신 파일에 추가한다. |
- 입력 재지정(input redirection)
$ 명령어 < 파일 -> 명령어의 표준입력을 키보드 대신에 파일에서 받는다. |
- 문서 내 입력(here document)
$ 명령어 << 단어 . . . 단어 -> 명령어의 표준입력을 키보드 대신에 단어와 단어 사이의 입력 내용으로 받는다. |
- 오류 재지정
$ 명령어 2>& 파일 -> 명령어의 표준 오류를 모니터 대신에 파일에 저장한다. |
- 표준출력(standard output) : 정산적인 실행의 출력
- 표준오류(standard error) : 오류메시지 출력
- 파이프
$ 명령어1 | 명령어2 -> 명령어1의 표준출력이 파이프를 통해 명령어2의 표준입력이 된다. |
+) 입출력 재지정 관련 명령어 요약
명령어 사용법 | 의미 |
명령어 > 파일 | 명령어의 표준출력을 모니터 대신에 파일에 추가한다. |
명령어 >> 파일 | 명령어의 표준출력을 모니터 대신에 파일에 추가한다. |
명령어 < 파일 | 명령어의 표준입력을 키보드 대신에 파일에서 받는다. |
명령어 << 단어 . . . 단어 |
표준입력을 키보드 대신에 단어와 단어 사이의 입력 내 용으로 받는다 |
명령어2 > 파일 | 명령어의 표준오류를 모니터 대신에 파일에 저장한다. |
명령어1 | 명령어2 | 명령어1의 표준출력이 파이프를 통해 명령어2의 표준입 력이 된다 |
cat 파일1 파일2 > 파일3 | 파일1과 파일2의 내용을 붙여서 새로운 파일3을 만들어 준다. |
- 여러개의 명령어 사용하기
- 명령어 열(command sequence); 나열된 명령어들을 순차적으로 실행한다.
$ 명령어1; ... ; 명령어n -> 나열된 명령어들을 순차적으로 실행한다. |
- 명령어 그룹(command group); 나열된 명령어들을 하나의 그룹으로 묶어 순차적으로 실행한다.
$ (명령어1; ... ; 명령어n) -> 나열된 명령어들을 하나의 그룹으로 묶어 순차적으로 실행한다. |
- 조건 명령어 열(conditional command sequence)
$ 명령어1 && 명령어2 -> 명령어1이 성공적으로 실행되면 명령어2가 실행되고, 그렇지 않으면 명령어2가 실행되지 않는다. |
$ 명령어1 || 명령어2 -> 명령어1이 실패하면 명령어2가 실행되고, 그렇지 않으면 명령어2가 시랭되지 않는다. |
'2020 SISS 21기 활동 > 2학기 리눅스' 카테고리의 다른 글
[2020-2학기 리눅스 5주차] : 이론 (0) | 2020.11.01 |
---|---|
[2020-2학기 리눅스 3주차] : 실습 (0) | 2020.09.27 |
[2020-2학기 리눅스 1주차] : 실습 (0) | 2020.09.21 |
[2020-2학기 리눅스 1주차] : 이론 (0) | 2020.09.21 |
[2020-2학기 리눅스 2주차] : 실습 (0) | 2020.09.18 |