New World

[UNIX #2, 3] 리눅스 설치, 셸 사용하기 본문

Self-Study/Study

[UNIX #2, 3] 리눅스 설치, 셸 사용하기

hyeovi 2022. 8. 20. 16:03
728x90
반응형

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
Comments