New World
[UNIX #2, 3] 리눅스 설치, 셸 사용하기 본문
2. 저장 장치 이름과 표준 디렉터리
파티션
- 하드디스크를 논리적으로 나눈 구역
- 파티션 별로 파일 시스템을 만들 수 있음
- 윈도우에서는 각 파티션마다 각각의 드라이브로 지정 (C:\ D:\)
- 리눅스는 오직 1개의 루트 디렉터리만을 가짐
-- 파티션은 루트 파일 시스템의 특정 디렉터리에 부착됨
-- 저장장치를 사용하려면 저장 장치 이름을 파일 시스템의 특정 디렉터리에 마운트시켜야 함
- 리눅스는 하드디크스나 주변 장치를 파일로 취급함 (프로세스, 네트워크 등 모두 파일로 취급함)
장치 이름
- 리눅스에서 사용하는 하드디스크 장치 또는 파티션의 이름으로 지정
- IDE 디스크 : 이름에 hd , SCSI 디스크 : 이름에 sd를 붙임
- 물리적인 하드디스크가 추가될 때 알파벳 순서대로
- 파티션 번호는 숫자를 1부터 차례대로 붙임
리눅스 표준 디렉터리
루트 디렉터리 : /
- 파일 시스템의 바탕을 이루는 중요한 디렉터리
- 모든 파일과 디렉터리의 최상위 디렉터리
바이너리 디렉터리 : /bin, /sbin
- 기본적인 명령의 실행 파일을 포함
- 시스템 관리와 관련된 명령의 실행 파일을 포함
부트 디렉터리 : /boot
- 커널 이미지와 부트 로더의 설정 파일을 포함
디바이스 디렉터리 : /dev
- 장치를 접근하는데 사용되는 디바이스 파일이 위치
시스템 설정 파일 디렉터리 : /etc
시스템의 중요한 환경 설정 파일이 위치
사용자 계정 디렉터리 : /home
사용자 계정의 홈 디렉터리가 만들어지는 디렉터리
공유 라이브러리 디렉터리 : /lib
프로그램들이 사용하는 시스템 라이브러리 파일이 위치
미디어 디렉터리 : /media
이동식 저장 장치가 마운트될 때 마운트 지점을 제공하는 디렉터리
시스템 정보 디렉터리 : /proc
- 커널이 사용하는 가상의 파일 시스템
루트 계정의 디렉터리 : /root
root 계정의 홈 디렉터리
사용자 디렉터리 : /usr
- /usr/bin, /usr/sbin : 여러 가지 실행 파일
- /usr/include : 라이브러리 헤더 파일
- /usr/lib : 실행 파일을 위한 사용자 라이브러리
가변 자료 저장 디렉터리 : /var
- 시스템 운영 중에 필요한 가변 자료가 저장되는 디렉터리
- 시스템 작동 로그, 인쇄, 메일
1. 셸 개요
셸 : 명령어 해석기 또는 명령 행 인터페이스
- 사용자와 커널 사이에서 명령어를 해석하여 처리
- GUI 로는 하기 힘든 다양한 기능을 수행할 수 있음
- 셸 명령을 프로그램으로 작성하여 처리
- 셸 스크립트는 텍스트 파일로 프로그래밍을 통한 셸 명령의 조합
- 반복적으로 수행되는 작업을 셸 스크립트로 작성할 수 있음
- 쉘 스크립트 파일을 읽어 처리할 수 있음
- 로그인을 하면 기본 셸이 주어짐
셸 사용하기
1. 터미널에서 로그인
2. GNOME 데스크롭탭에서 터미널 창을 실행
3. 프로그램 > 시스템 도구 > 터미널 (※ 셸은 명령 프롬프트와 명령 행을 제공)
4. 한 라인에 명령을 입력하고 엔터를 쳐 명령을 수행 (※ 한 라인에 명령을 입력하려면 ; 을 사용)
셸의 종류
- 많은 리눅스 배포판에서 bash를 기본 셸로 사용
- 명령 프롬프트로 일반 사용자는 $, root 사용자는 #을 사용
- 종류에 따라 에일리어스 설정, 초기화 파일, 스크립트 작성, 명령 행 완성 기능, 명령 행 편집 기능 등에 차이
bash 셸
- Bourne 셸의 개선된 버전
- C 셸과 Korn 셸의 유용한 기능을 가져옴
- 실행 명령은 /bin/bash
셸 선택하기
- 기본 셸을 변경할 수 있음 chsh -s/bin/tcsh
- 터미널 창은 대화형 셸 , 나가고 싶다면 exit or Ctrl + d
- 로그인 셸과 비로그인 셸을 구별해야함 , logout 명령을 로그인 셸에서만 가능
- 셸 프롬프트에서 셸 프로그램을 실행하면 서브 셸이 실행
셸 명령의 형식과 실행
$ 명령어 옵션 인수
옵션과 인수는 여럿일 수 있으며 선택적 or 필수적
가장 간단한 형태의 실행은 명령의 이름만 사용
chsh 명령
- 기본 셸을 바꾸는 명령
- chsh [옵션] [유저네임]
옵션과 인수
짧은 옵션(-)
긴 옵션(--)
- 인수는 명령의 수행 대상을 지정하는 것
- 옵션도 인수를 가질 수 있음
alias 명령 | 자주 사용되는 명령의 단축 명령을 만드는 명령 |
ex) alias alias la ='IS-A' alias rm='rm -I' *rm : 지우는 명령 계속 유지하려면 셸의 환경 설정 파일에 기록 필요 |
|
type 명령 | 명령이 어떻게 해석되는지 알려주는 명령 |
ex) type cd type -a Is |
|
which 명령 | 실행 프로그램을 환경변수 PATH를 기초로 찾아 경로를 출력 |
which rm | |
man 명령 | 매뉴얼 페이지를 보여줌 명령의 사용법이나 설정 파일 등에 관한 온라인 도움말을 제공 |
ex) man password man 5 passwd |
3. 명령 히스토리
이전에 수행했던 명령 행의 목록을 불러옴
history or history 10
히스토리 기능을 이용하여 명령을 실행하는 방법
- 이전에 수행했던 명령을 이용하여 명령을 수행할 수 있음
명령 행 완성 기능
- 일부만 입력하고 나머지를 자동으로 완성하는 기능
- 처음 몇자만 입력하고 tab 키를 누르면 실행됨
- 정보가 충분하지 않은 경우, tab키를 한번 더 누르면 모든 가능한 경우를 보여주고 원래의 명령 행이 유지
4. 명령의 연결과 확장
특수 문자 : 셸에서 특별한 의미를 가지는 문자 | |
파이프 | |
- 앞 명령의 출력 결과를 다음 명령의 입력으로 연결 명령1 | 명령 2 |
|
입출력 리다이렉션 |
|
명령 수행에 필요한 표준 입력 대신에 파일로부터 얻음 (명령 < 파일) 명령 수행의 결과를 표준 출력으로 보내지 않고 파일에 기록 (명령 > 파일) 명령 수행 중 표준 오류 출력을 파일에 덧붙임 (명령 2 > 파일) |
|
명령 치환 |
|
명령을 수행할 때, 명령의 인수로서 다른 명령의 결과를 사용 $(command) or 'command' (역 따옴표 사용) |
|
인용 부호 |
|
빈칸을 포함하는 문자열을 1개의 인수로 사용할 때 인용 부호가 필요 작은 따옴표는 특수 문자의 의미를 제거 큰 따옴표는 $ , ''(역따옴표), \. ! 를 해석하여 확장 |
|
수식 : 수식의 결과를 명령 수행 전엥 전달 $[수식] or $((수식)) |
|
변수 : 변수의 값을 추출하여 명령 수행 전에 전달 $변수 |
5. 셸의 변수
셸 변수 : 셸의 환경을 설정하기 위한 값을 저장, 현재 셸에서만 사용 가능하고 서브 셸로는 전달 X
환경 변수 : 터미널 창을 열어 셸을 시작하면 이미 많은 환경 변수가 설정, 서브 셸로 전달 O
변수 설정과 환경 변수로 만드는 방법 (변수 = 값 , export 변수)
특정 환경 변수의 값을 확인하는 방법 (printenv 변수, echo $변수 는 모든 종류의 변수 값을 확인할 수 있음)
로그인과 셸의 환경 설정 파일
- 로그인할 때 셸을 시작할 때 자동으로 실행되는 명령을 저장
'Self-Study > Study' 카테고리의 다른 글
[자료구조#2] 배열 (0) | 2022.09.07 |
---|---|
[어셈블리어 #1] (0) | 2022.08.25 |
[UNIX #1] 리눅스 소개 (0) | 2022.08.20 |
[정보통신망#8] OSI 참조 모델 (0) | 2022.06.02 |
[운영체제#14] 분산 운영체제 (0) | 2022.06.02 |