3. Bash shell과 Rules

2024. 4. 9. 15:32·쿠버네티스/shell programming
  1. Quoting Rules
    1. metacharacters
      • Sehll에서 특별히 의미를 정해 놓은 문자들.
      • \ ? ( ) $ ... * % {} [] 등
        • * : All characters
          ㄴ a* : a로 시작하는 모든 파일을 보여줌.
        • ? : Any single Character
          ㄴ ???? : 4개의 글자 수를 가진 단어
        • {숫자1..숫자2} : 숫자1부터 숫자2까지를 의미함.
        • blank( ) : command와 option과 argument를 분리시켜주는 문자
      • Quoting Rule : 메타문자의 의미를 제거하고 단순 문자로 변경.
        • backslash(\) : \ 바로 뒤의 메타 문자는 특별한 의미를 제거함.
        • Double Quotes ("") : "" 내의 모든 메타 문자의 의미를 제거. 단, $, `` 는 제외
        • Single Quotes('') : '' 내의 모든 메타 문자의 의미를 제거
  2. Nesting commands
    1. Command 치환
      1. 명령어의 실행 결과를 치환하여 명령을 실행
    2. Nesting Commands
      • $(command)
        ㄴ echo "Today is $(date)"
      • 'command'
        ㄴ echo "Today is `date`"
  3. Alias
    1. Alias
      • Shell의 명령에 새로운 이름을 부여.
      • 명령들을 조합하여 새로운 이름의 명령을 생성
    2. alias 관리 명령
      • alias 등록 : alias name = 'command'
        • alias c=clear
          c를 입력하면 자동으로 clear 명령어가 실행되도록 함.
        •  alias rm='rm -i'
          파일 삭제할 때마다 매번 체크하도록 변경
      • alias 확인 : alias or alias name
      • alias 삭제 : unalias name


  4. Prompt
    1. prompt모양 : username@hostname :현재 작업디렉토리
    2. echo $PS1 를 통해 확인할 수 있음.
      • PS1='[\u@\h \W]\$ : 프롬프트 모양을 변경함
    3. Shell Prompt란?
      • PS1변수를 이용해 shell의 기본 프롬프트 모양을 설정
      • Bash shell에서만 Prompt모양에 적용 가능한 특수 문자가 존재함. 
        특수문자 의미
        /h 호스트 이름
        /u 사용자 이름
        /w 작업 디렉토리 - 절대 경로
        /W 작업 디렉토리 - 상대 경로
        /d 오늘 날짜
        /t 현재 시간
        /$ $또는 # 프롬프트 모양
    4. 주의사항
      • alias 및 prompt 명령어는 현재 Shell에서만 적용되며 로그아웃 되면 적용되지 않음.
      • 많이 사용하는 alias 혹은 ps 는 "vi .bashrc" 에 등록함.
  5. Redirection
    1. Communication Channels
      • stdin (0) : 표준 입력 채널로 키보드에서 프로그램으로 전달, standard in
      • stdout (1) : 표준 출력 채널로 프로그램에서 터미널로 전달, standard output
      • stderr (2) : 표준 에러 출력 채널로 프로그램에서 터미널로 전달, standard error
    2. Redirection : 방향을 바꿀 수 있음. 0번과 1번은 숫자를 생략할 수 있음.
      communication
      channels
      Redirection
      characters
      의미
      STDIN 0< 0<< 입력을 키보드가 아닌 파일을 통해 받음
      STDOUT 1> 1>> 표준 출력을 터미널이 아닌 파일로 출력
      STDERR 2> 2>> 표준 에러 출력을 터미널이 아닌 파일로 출력.
      STDOUT & STDERR &> &>> 표준 출력 및 에러를 모두 터미널이 아닌, 파일로 출력.

      • example(STDIN)
        • mailx -s "TEST MAIL" heejin.joh@localhost
          Cc:
          내용....
        • mailx -s "TEST MAIL" heejin.joh@localhost 0< message.txt
          ㄴ 키보드를 통해 `내용`을 입력 받지 않고, message.txt를 입력으로 받음.
      • example(STDOUT)
        • date 1> message.txt : 현재 시점의 날짜를 message.txt 에 덮어쓰기 함.
        • date 1>> message.txt : 현재 시점의 날짜를 message.txt 에 추가로 삽입함.
      • example(STDERR)
        1. data 2> message.txt : data에러를 message.txt 에 덮어쓰기 함.
        2. data 2>> message.txt : data에러를 message.txt 에 추가로 삽입함.
        3. ls file1 file100 (일부에러) 2> /dev/null : 일부 에러 발생 시, 성공만 출력되고 에러는 소각장 (/dev/nulll)로 이동함.
  6. Pipeline
    1.  pipeline
      • 명령의 실행 결과를 다음 명령의 입력으로 전달
      • 리눅스의 명령어를 조합하여 사용
      • 기호 : command1 | command2 | command3
        ㄴ 첫 번째 명령의 실행 결과를 2번째 명령의 입력으로 입력
        • ls -l : 하위 폴더 및 파일의 자세한 정보를 리스트를 보여줌
        • wc -l : 입력된 값의 총 라인 수를 출력함.
        • more : 한 페이지씩 보여줌
        • cut -d: -f 1 : ":" 을 구분 문자로 입력 후 첫 번째 필드를 출력
        • sort : 내용을 정렬함
        • cat /etc/passwd | cut -d: -f 1 | sort | wc -l
          /etc/passwd 의 내용을 : 으로 분리 후 첫번째 값만 출력, 정렬 하고 몇 개의 라인인지 확인함.

 

 

 

 

 

 

 

'쿠버네티스 > shell programming' 카테고리의 다른 글

6. Input&Output  (0) 2024.04.11
5. Positional Parameters  (0) 2024.04.09
4. Bash shell script란  (0) 2024.04.09
2. Bash shell과 변수  (0) 2024.04.05
1. Linux shell 이란?  (0) 2024.04.05
'쿠버네티스/shell programming' 카테고리의 다른 글
  • 5. Positional Parameters
  • 4. Bash shell script란
  • 2. Bash shell과 변수
  • 1. Linux shell 이란?
몽자비루
몽자비루
코딩공부 정리용 블로그입니다.
  • 몽자비루
    공부하는 블로그
    몽자비루
  • 전체
    오늘
    어제
    • 분류 전체보기 (165)
      • python (30)
        • python_selenium (16)
        • python_pygame (3)
      • appium (0)
      • 쿠버네티스 (60)
        • linux (8)
        • shell programming (8)
        • docker (18)
        • cka (23)
      • postman&API (16)
      • QA성장하기 (30)
        • 개발자에서 아키텍트로 스터디 (6)
        • 소프트웨어 공학 이해도 높이기 (6)
        • 테스팅 전문 지식 쌓기 (18)
      • 에러일기 (1)
      • AWS (27)
      • Jmeter (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    테스트스크립트
    QAKOREA
    애플리케이션로그
    postman
    공존성테스트
    로스트아크
    테스트 계획서
    application log
    테스트 계획서 만들어보기
    스터디
    테스트 결과보고서
    vi에디터
    네트워크 테스트
    .cpu
    k8s
    포스트맨
    cka
    linux
    개발자에서아키텍트로
    리눅스
    LOSTARK
    python
    로스트아크api
    qa
    쿠버네티스
    앱공존성
    API
    도커
    사드웨어리소스
    e2c
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
몽자비루
3. Bash shell과 Rules
상단으로

티스토리툴바