- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[리눅스마스터 2급] 1-2. 쉘 본문
1. 리눅스 운영 및 관리
(1) 파일시스템 관련 명령어
(2) Sell
(3) 프로세스 관리
(4) 에디터
(5) 소프트웨어 설치
(6) 장치 설정
2. 리눅스 활용
(1) X윈도
(2) 인터넷 활용
(3) 리눅스 신기술
===========================================================================
1. 리눅스 운영 및 관리
(2) Sell
쉘의 종류
* 본쉘(Bourne Shell): 유닉스시스템 최초의 쉘. 프로그래밍 언어의 용도로 개발됨.
본쉘계열의 쉘로는 ksh,bash,zsh 등이 있다.
* Bourne-Again SHell(bash쉘): 표준 본쉘에 기능을 보강한 것. 리눅스에서 가장 많이 사용되는 쉘
POSIX와 호환됨. GNU프로젝트에 의해 만들어지고 배포됨.
-bash환경에서 사용자 실수로 홈디렉토리에 있는 .bashrc파일을 삭제했을 경우,
/etc/skel 디렉터리 안에서 .bashrc 파일을 복사하고 소유권을 사용자에게 넘긴다.
- 일반적으로 bash의 문자완성 기능 이용시 사용하는 키: Tab
* csh: C언어와 유사하여 유닉스에서 많이 사용됨. 본쉘과 대부분 호환되지만 다른 인터페이스가짐.
편집기능 제공안함.
/bin/csh: C쉘은 C언어와 유사한 언어를 사용한 대화형 쉘이다.
* C Shell: csh보다 진보된 쉘. 대화형 쉘. 입력된 명령을 쉽게 수정할 수 있으며,
많은 태스크들을 백그라운드 작업제어를 할 수 있다. 쉘 스크립트로는 본쉘사용.
- set명령어로 지역 쉘 변수를 설정하며, setenv 명령어로 환경변수를 설정한다.
- 문자열, 수, 논리식을 구할 수 있는 것 외에 비트 단위 논리식을 구할 수 있다.
- 숫자 변수 할당과 문자열 변수 할당은 서로 다르게 선언되어진다.
* 콘쉘(Korn Shell,ksh): 유닉스에서 가장 많이 사용됨. 명령행편집기능 제공.C혈통.
- 본쉘과 호환되면서 명령행 편집기능을 제공한다.
* TC Shell(tsh): 확장 C쉘. 명령행 편집기능 제공.
* 쉘 실행시 초기화 파일이름: 콘쉘(.kshrc), 본쉘(.bashrc), TC쉘(.tcshrc)
* 명령행 편집기능 제공: bash,ksh
* 사용자 쉘이 bash로 설정된 경우 로그인할때 실행되는 파일: .bashrc와 .bash_profile
본쉘 환경변수
* 본 쉘은 산술계산, 조건식, 제어구조, 내장 명령어들을 가진 아주 훌륭한 프로그램을 작성 가능케 하는
쉘인 동시에 모든 쉘의 기본이 된다.
* 내장 쉘 변수는 4가지 변수 중의 하나이다.
* 특수 파라미터는 4가지 변수 중의 하나이다.
* 사용자 정의 변수는 4가지 변수 중의 하나이다.
HOME=/home/login : 사용자가 시작하는 위치인 홈 디렉터리 설정
LOGNAME=login: LOGNAME은 자동으로 로그인 ID와 동일하게 설정된다.
PATH=path: path옵션은 셀이 명령에 대하 찾는 디렉터리 목록을 표현한다.
(PATH 환경변수에 /usr/local/bin이라는 신규 값 추가하는 명령어: export PATH=$PATH:/usr/local/bin)
PS1=prompt: PS1은 프롬프트의 모습을 정의하는 1차 쉘 프롬프트이다.
PWD=directory: 자동으로 설정된 것으로 사용자의 현재위치(디렉터리경로)를 나태내주는 역할을 한다.
SHELL=shell : SHELL은 사용자 쉘로서 가능한 프로그램의 위치를 식별한다.
TERM=temtype: 터미널 데이터베이스에 의해 지정되는 대로 터미널 유형의 이름을 설정함.
특수 환경변수
HOME: 사용자가 시작하는 위치인 홈데렉터리를 설정함. 항상 홈 디렉터리를 지정한다.
홈디렉터리가 이동되는 경우에도 명령이 여전히 작동된다.
홈디렉터리의 파일을 지정하는 쉘 스크립트를 작성 중일 때 HOME변수를 사용할 수 있다.
SHELL: 현재 쉘의 이름
MAIL: 우편함의 전체경로명
LOGNAME: 로그인 이름
PATH: 쉘이 명령을 탐색하는 디렉터리를 지정한다. 디렉터리가 나열되는 순서로 탐색한다.
순서대로 디렉터리를 탐색하다 명령을 찾으면 탐색을 중단한다
TZ: date명령에 대한 시간대
SECONDS: 쉘을 호출한 이후의 시간(초)
PS1: 시스템 프롬프트
TERM: 사용중인 터미널의 유형
HISTFILE: 사용자가 실행했던 명령어의 목록을 저장하는 파일을 설정한다.
HOSTNME: 호스트이름
리다이렉션
*어떤 명령의 결과 출력을 원하는 위치로 바꿀때 사용. 어떤 명령의 입력값을 원하는 위치에서 받을 수도 있다.
*명령어>파일: 명령의 출력을 파일로 보냄
[ex] 명령1: cat a>b
명령2: cat b
=> 파일a의 내용이 출력됨.
*명령어<파일: 파일에서 명령어 입력
*명령어>>파일: 명령의 출력을 파일에 덧붙임.
[ex] ls -l >>aa.log
=> aa.log 파일이 존재한다면 ls -l의 결과를 파일 끝부분에 추가하고
존재하지 않는다면, 생성한 다음 ls -l의 결과를 기록한다.
리눅스 쉘의 환경파일
.login: 특정 쉘에 관계없는 초기 환경을 지정하여 Login할 때 지정한 명령을 자동수행
.logout: 시스템 접속을 종료하기 전에 마지막으로 수행될 내용을 지정하는 파일
.newsrc: USENET News Group 이용시 그룹 환경 저장 파일
.eml: 전자우편 프로그램에서 사용하는 디렉터리
기타 기출문제
*쉘 스크립트를 작성하는 이유
- vi나 ed같은 편집기를 사용하여 쉘 스크립트를 간단히 작성하고 편집할 수 있다.
- 스크립트의 생성과 유지가 쉽다.
- 스크립트는 키를 타이핑하여 입력해야 하는 노력과 시간이 절약되며 의사결정, 루핑, 에러조작 등의
명령어를 이용하여 폭넓게 문제를 해결할 수 있다.
- 쉘스크립트: 본쉘의 기능으로 가능한 것이다.(본셀은 쉘스크립트만가능. Bash는 모두 가능)
- 쉘 스크립트가 잠시 운영을 중단하는 명령어: sleep
- hello.sh라는 쉘 스크립트 파일 내용
#!/bin/sh
echo "리눅스의 세계에 오신 것을 환영합니다."
- echo $SHELL 명령의 실행결과 /bin/bash가 출력된다면
: 현재 기본 사용 쉘이 /bin/bash임을 나타낸다.
*alias: 하나의 명령 또는 명령의 집합에 붙여 주는 어떤 이름을 alias라 한다.
자주 사용되는 복잡한 명령을 alias를 사용하여 단축 명령어로 만들어 둘 수 있으므로
alias 기능을 잘 이용하면 UNIX 시스템을 편리하게 사용할 수 있다.
- alias의 사용서식은 alias별명 = '명령어'와 같다.
- .cshrc까지 사용하는 사용자라면 .cshrc파일을 작성하여야 한다.
- rc파일은 쉘이 실행될 때마다 적용될 수 있는 특정 쉘에 관계된 변수와 설정 사항을 포함함.
- 파일 삭제시 확인 메시지 표시하도록 설정하는 alias 명령어: alias rm = 'rm -i'
(홈디렉터리에 있는 .bashrc파일에 설정이 이루어진다.)
*명령어들
- w: 시스템 사용자들의 작업내용 출력
- talk: 다른 사람에게 간단한 메시지 전달
- traceroute: 다른 시스템에 접속되는 경로 조회
- who: 시스템 사용자들이 접속하여 들어온 장소, 시간 등 출력
- rm: 삭제하는 명령어
[예] rm client.9 [0-3,a-z] 명령 실행시 패턴의 형식 중 (0~3,a~z)를 포함하는 파일에 영향을 줌.
*.cshrc: Cshell이용자의 경우 로그인환경설정시 필요한 파일.
*어떤 쉘이 다른 쉘을 시작시킬경우 다른쉘을 sub쉘이라고 부른다.
*쉘의 일부분을 제외한 모든 유틸리티 프로그램 및 기타 응용 프로그램들이 C언어로 쓰여짐.
*파이프: 여러 명령을 조합해서 사용할 때 이용. 하나의 명령행에 여러 개의 파이프 사용가능.
*!: 히스토리 기능을 사용하기 위한 쉘 예약어
- Bash쉘의 히스토리 기능을 이용하여 바로 이전 명령의 매개변수를 재입력하고자 할때 사용하는 쉘예약어: !!
*stty: 터미널 세팅을 보여주거나 변경해 줌. 스크립트에서 쓰여 터미널 동작이나 출력하는 방법을 제어.
명령행 편집기능 즉 키보드를 이용하여 많이 사용하는 유용한 키(Ctrl -c, Backspace 등)를 설정함.
================================================================================================
'★─License 's > ☆─리눅스마스터' 카테고리의 다른 글
[리눅스마스터 2급] 2-2. 인터넷활용 (0) | 2007.08.06 |
---|---|
[리눅스마스터 2급] 1-3. 프로세스 관리 (0) | 2007.08.06 |
[리눅스마스터 2급] 1-1. 파일시스템관련 명령어 (0) | 2007.08.06 |