기초 물방울/리눅스&VM

tar, rpm, yum, 쉘, 환경변수(수업) #7

Weeding 2022. 7. 7. 11:44
반응형
SMALL

 

압축 유틸리티 명령

  • 파일이나 디렉토리를 하나의 파일로 만들어 인터넷 또는 저장매체로 배포, 백업

압축 유틸리티 명령의 종류

 

 

 

tar 명령 옵션 

 

 

 

tar 명령 사용

 

 

 

tar cvf my tar /home/choi 로 묶음파일 지정 -->> tar tvf my tar 로 파일 내용 출력!

 

 

choi 디렉토리가 압축이 풀린것 확인! (ls -l로 확인!)

 

 

aaa라는 파일을 만들고 압축을 품.

 

 

 

위에 3가지방법 압축파일 지정

 

 

명령의 종류에 따라 압축 사이즈가 달라짐 ★

 

 

소문자로 압축 풀기~

 

 

 


 

 

xz 명령

 

 

 

gzip / gunzip 명령

 

 

 

 

bzip2 / bunzip2 명령

 

 

 

zip / unzip 명령

 

 

 

압축 걸어주고 확인

 

압축 푸는 과정, 원래 있던 choi.tar 파일 생성

 

여러가지 압축풀기 해제 방법들

 

 

 

 

 

 

 


 

 

rpm(Redhat Package Manager) 명령

  • 패키지 설치, 삭제, 검색 명령
  • 소프트웨어(패키지)를 편리하게 관리하기 위해 만들어짐

패키지파일구조, 패키지는 하나 또는 여러 개의 프로그램이 묶음으로 만들어져 있을 수도 있음.

 

 

 

아키텍처(Architecture)

  • 리눅스의 패키지는 제작된 아키텍처에 따라서 설치와 실행이 가능함

 

 

 

 

rpm 명령 (설치와 삭제)

 

 

 

 

rpm 명령 (조회)

 

 


 

yum(Yellodog Updater Modified) 명령

  • 편리한 설치도구(rpm 기반)
  • 패키지 의존성 해결 (->하나의 패키지를 실행하기 위해서는 여러 개의 패키지 설치가 필요함)
  • 인터넷 상에서 패키지 저장소(Repository) 제공 (->의존성이 있는 패키지를 같이 설치)
  • /etc/yum/repos.d/

 

 

yum 명령 사용

 

 


 

쉘(Shell)

  • 명령어를 입력 받아 커널을 통해 명령을 실행시켜주는 "명령어 해석기"
  • 리눅스 시스템을 효율적으로 사용하기 위한 "환경변수 및 지역변수 제공"
  • 리눅스 운영에 필요한 프로그램 작성을 위한 "쉘 스크립트 제공"
  • "다양한 쉘을 제공(선택 가능)" - /etc/passwd

 

쉘의 종류

 

 

 

bash

  • 명령어 단축 기능
    # alias ls='ls -l'
    # alias c='clear'

  • History 기능
    - 사용한 명령어 저장
    # history
    # ↑ ↓

  • 자동 이름 완성 기능
    - Tab키를 이용한 파일이름 자동완성

  • 프롬프트 제어 기능
    - 환경변수에 쉘 프롬프트 정보 변경
    # PS1='$LOGNAME@ $PWD #'
  • 명령 편집 기능
    - 프롬프트 상에서 명령어 수정 가능

 

bash로 기본 설정 확인. vi에서 바꿀 수 있지만 bash 성능이 워낙 좋아서 바꿀일이 거의 없음. 본쉘로 변경하는건 sh만 입력해주면 바로 바뀜. ctrl+d로 빠져나옴

 

 

긴 명령어를 짧게 별명을 만들어 사용할 수 있음  : ex) alias ls= 'ls -l'

 

 

자주쓰는 clear도 c로 변경해줌.

 

history로 들어가서 c 번호 보고 !번호 입력 해줘도 clear 됨!!

 

PS1='문자열 #'  --> 환경변수에 shell 프롬프트 정보 변경! 원하는 문자열로 프롬프트 정보 변경해줌!!

 

 


 

환경변수

  • 리눅스 운영체제가 제공하는 시스템 값
  • 리눅스 운영체제 운영에 필수적인 요소

 

 

 

전체 환경 변수 보기

  • # printenv
  • # env
  • grep 명령을 이용하여 필요한 환경변수만 보는 것이 좋음!
  • 환경변수가 자식 쉘에게까지는 적용되지 않음!
  • 환경변수를 지정하면 자식 shell도 적용됨!

 

 

특정 환경변수 보기

  • # echo $환경변수

 

 

환경변수 설정

  • # 환경변수='값'
  • #export 환경변수='값'  (자식쉘에도설정 export필요!)

 

 

부모 쉘 = 로그인하여 사용하는 쉘

    자식 쉘 = 부모쉘에서 파생되는 쉘

 

 

 

지역변수

  • 임시로 만들어 사용하는 변수
  • 프로그램을 실행하고 활용도가 높음!
  • # echo $환경변수
  • # 환경변수='값'
  • # export 환경변수='값'  (자식쉘에도설정 export필요!)

 

 

전체환경변수 -> 환경변수값확인 -> 로그인 한 사용자 id 출력 -> 프롬포트명 변경 -> 환경변수지정하면 자식 shell에도 적용됨!

 

 

 

지역변수 --> 임의로 파일 만들고 --> 본쉘로 변경후 체크 --> export로 자식쉘에도 설정 --> 확인

 

 

 


 

 

쉘 스크립트 작성과 실행

  • C언어와 유사
  • 변수, 반복문, 제어문 사용 가능
  • 컴파일 필요 없음
  • 명령어 배치(batch) 파일

 

 

 

vi 편집기, gedit 사용

 

 

 

 

sh 명령 이용

  • # sh info.sh

 

info.sh 파일에 실행 권한 부여

  • # chmod ugo+x info.sh
  • ./info.sh

구분을 하기 위해 .sh를 붙임

 

vi로 들어가서 설정 , #!/bin/sh 는 필수요소

 

 

sh 명령을 이용해 실행 권한 부여 후 실행, 755로 권한 부여 해줌(= chmod ugo+x) ,  ./info.sh로 작성해야 현재 디렉토리에 있는 내용 실행됨 ★

 

 


 

쉘 스크립트 문법 (변수)

  • 변수 선언 없음 : 처음 값이 할당되면 변수 생성
  • 변수의 모든 값은 문자열로 취급
  • 대소문자 구분
  • 대입 연산자(=) 좌우에 공백이 없어야 함
  • 대입하는 문자열은 홑 따옴표(")또는 쌍 옴표("")로 묶음
    "또는 ""로 묶지 않는 경우는 공백이 없어야 함
  • 변수 값의 출력 : 변수명 앞에 $를 붙임
  • 변수 값의 입력 : read 이용

 

 

 

쉘 스크립트 문법 (숫자 계산)

  • 사칙 연산이 필요한 경우 'expr' 키워드 사용
  • 연산식에는 역따옴표('')로 묶음
  • 역슬래쉬(\)와 함께 사용
    - 괄호
    - 곱셈(*) 기호

 

 

 

 

매개변수(Parameter)

  • 인자로 지정된 값을 저장하는 변수

 

 

 

eval

  • 문자열을 명령문으로 인식하고 실행

 

 

그외 다양한 문법들... 

(c언어 공부하면서 따로 같이 정리해야함)

 

 

 

 

 

변수 문법 예제 시작

 

 

my 변수에 공백이 있는 문자열 지정(공백이 있는 경우 ""로 묶어줌) , you 변수에 공백이 없는 문자열 지정(공백이 없는 경우"" 생략)

 

  1. echo 명령으로 my 변수값과 you 변수의 값을 출력하고
  2. 키보드로부터 입력받는 문자열을 me 변수로 저장한 후
  3. me 변수가 화면에 출력되게 할것임.

짜잔

 

 


숫자 문법 예제 시작

 

모든 변수값을 문자열로 처리하기 떄문에 변수의 값은 계산되지 않고 문자열로 출력됨!

 

◆ 역슬래쉬가 원화로 표시가 안된다... 수업에서는 원화로 되있는데 저거때문에 숫자로 표현이 안되는건지...

 

  1. 계산을 위해서는 expr 키워드와 함께 역따옴표('')로 묶으면 계산되어 출력함
  2. 기호 사이에 공백을 띄어줌
  3. 연산식에 괄호 또는 곱셈 기호를 사용할 경우 \를 같이 사용함!

 

 


 

쉘 초기화 파일

시스템 사용 설정 파일

 

 

 

 

 

1차 초기화 파일

  • $HOME/.bash_profile

2차 초기화 파일 실행, 환경변수 지정

 

 

 

 

2차 초기화 파일

  • $HOME/.bashrc

명령어 단축 별칭, 기타 쉘 설정

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
LIST