쿠버네티스 전문가 양성과정 2주차 3일(12/28)

최수환·2022년 12월 28일
0

Kubernetes

목록 보기
9/75
post-thumbnail

vi (~이어서)

문자열 바꾸기

  • :%s/문자열1/문자열2

vi작업 도중 명령 실행

  • :!명령어

여러번 명령어 입력

  • :sh -> exit

몇줄인지 확인

  • ctrl + g

set 설정 / 해제하기

  • set 명령어 <-> set no명령어
    ex) :set nu <-> :set nonu

.exrc파일 만들기

  • vi .exrc만들고 set nu , set list 등 입력하고 저장
    -> 다른 vi파일이 자동으로 .exrc파일 확인

기능 : 우리가 입력한 명령어가 실제 실행되게 도와줌

  • 명령어 해석기 기능 : 사용자와 커널 사이에서 명령을 해석하여 전달하는 해석기/번역기
  • 프로그래밍 기능 : 셸은 자체 내에 프로그래밍 기능이 있어 반복적으로 수행하는 작업을 하나의 프로그램화 가능
    📒 셸 프로그램 = 셸 스크립트
  • 사용자 환경 설정 기능

💡 커널이 모든 실제 프로세스(작업)을 수행
💡 본 셸 실행 - /bin/sh
💡 #프롬프트 : root유저 , $프롬프트 : 일반 user

간단한 셸 스크립트 만들기

  • vi test.sh -> 명령어들 입력 -> chmod 777 test.sh -> ./test.sh
    -> 스크립트 안에 있는 명령어들 자동으로 다 수행

본 셸 ,C 셸 ,콘 셸 ,배시 셸 등이 있음
-> 현재 리눅스의 표준 셸은 배시 셸

현재 내가 어떤 셸을 이용하고 있는지 확인

  • cat /etc/passwd - 마지막 줄 확인
  • echo $SHELL

어떤 셸이 설치되어있는지 확인

  • cat /etc/shells

echo

  • 배시 셸의 출력 명령
  • 화면에 한 줄의 문자열을 출력한다
  • 형식 : echo [옵션][문자열]
  • 특수문자를 사용할때는 양쪽에 ' '을 사용한다

특수문자 사용하기

  • 사용자가 더욱 편리하게 명령을 입력하고 실행할 수 있도록 특수문자 제공
  • 명령을 입력하면 셸은 특수문자가 있는지 확인하고 적절한 형태로 변환 후 명령 실행

특수 문자 *

  • 모든이라는 의미를 가지고 있다.

특수문자 ? , []

  • 하나의 문자를 나타내는데 사용
  • ?는 길이가 1인 임의의 한 문자
  • []는 괄호 안에 포함된 문자 중 한 문자 나타냄
    ex) ls ???? = 4글자 , ls 1? =1로 시작하는 두글자
    ex) ls [1-5]? =1~5까지 중 하나 + 두글자

특수문자 {}
ex) touch {1..3}.txt : 1.txt , 2.txt, 3.txt 생성
ex) touch {a1,a2,a3].txt : a1.txt, a2.txt, a3.txt 생성

특수문자 ; , |

; : 연결된 명령어를 왼쪽부터 순서대로 실행
ex) ls; ifconfig; id;
|(파이프) : 왼쪽 명령어의 출력을 오른쪽 명령어의 입력으로 전달
ex) ps -ef | grep bash
ex) cat /etc/passwd | grep root
ex) ifconfig | grep -v inet6 | grep inet
ex) cat /etc/passwd | more

특수문자 " ", ' '

  • ' ' : 모든 특수문자를 일반문자로 처리
  • " " : $,'',\을 제외한 모든 특수문자를 일반문자로 처리

특수문자 \

  • 특수문자 바로 앞에 사용하며, 해당 특수문자의 효과 없애고 일반문자 처럼 처리

특수문자 >

  • 입출력의 방향을 바꿈(redirection) = 파일 덮어쓰기
  • ex) ls > 1.txt
    -> ls의 결과가 1.txt에 저장된다
    ex) ls >> 1.txt : 기존 내용에 이어쓰기
    ex) cat > 1.txt : vi편집기를 쓰지 않고도 텍스트를 입력한 파일 생성 가능
  • 표준 오류 redirection : ls 2> 1.txt
  • 표준출력, 표준오류 동시에 쓰기 >파일 2>파일
  • 오류출력 버리기 : ex) ls /abc 2> /dev/null

📒 grep에서 특수문자는 정규표현식으로 적용된다


셸 변수 / 환경 변수

셸 변수 : 현재 셸에서만 사용이 가능 (지역변수)

환경 변수

  • 현재 셸 뿐만 아니라 서브 셸에서도 사용 (전역 변수)
  • 부팅되면서 자동으로 선언되는 변수
  • 변수 출력할 때는 echo $ 사용
  • export a=10 -> a를 환경변수(전역변수)로 만들어줌

alias / 히스토리

alias

  • 기존의 명령을 대신하여 다른 이름을 붙일 수 있도록 하는 기능
  • 여러 명령 연결하여 하나의 명령으로 만듬
  • 긴 명령을 짧은 명령으로 만듬
  • 형식 : alias 이름='명령'

history

  • 이전에 입력했던 명령어를 보여준다
  • cat .bash_history : 입력했던 명령어 저장된거 보기
  • !! : 직전에 입력했던거 다시 실행

echo $PS1의 결과


-> \u 가 root , \h가 localhsot, \w가 ~, $가 #에 대응 됨

환경설정 파일

  • 사용자가 로그인할 때마다 자동으로 실행되는 명령을 저장한 파일
  • 사용자 환경 설정 파일 : 해당 사용자(root,user등)가 접속했을 때만 실행되는 파일
    -> 사용자 환경 설정 파일인 .bashrc, .bash_profile 수정하면 로그인할때 자동으로 설정된다.
    ex) vi .bash_profile로 접속후 마지막줄에 alias lll='ls -l' 추가하면 다시 로그인해도 alias가 유지된다
    = 원하는 사용자 환경을 세팅할 수 있다.
  • 시스템 환경 설정 파일 : 어떤 사용자가 로그인하든 실행되는 파일
    -> 시스템 환경 설정 파일은 /etc/profile , /etc/bashrc가 있다

추가정보

  • 정규표현식은 알아두면 매우 좋다.






profile
성실하게 열심히!

0개의 댓글