본문 바로가기
유닉스, 리눅스

[유닉스/리눅스 기초]쉘 기본 사용법

by TJobim 2016. 9. 13.
반응형
<쉘 종류 변경>
  • 본 쉘, 콘 쉘, 배쉬 쉘의 기본 프롬프트 : $
  • C 쉘의 기본 프롬프트 : %
  • echo $SHELL : 기본 쉘 확인

<기본 쉘(로그인 쉘) / 서브 쉘>
  • 기본 쉘 : 로그인시 자동으로 생성되는 쉘
  • 서브 쉘 : 기본 쉘에서 새로 생성한 쉘
  • 서브 쉘에서 다른 서브 쉘 생성 가능
  • exit 입력을 통해 서브 쉘 종료 후 이전 서브 쉘 또는 기본 쉘로 전환

<배쉬 쉘 특수문자>
  • * : 임의의 문자열
    • cp *.txt /etc : 확장자가 txt인 모든 파일 etc로 복사
  • ? : 임의의 한 문자
  • [] : 괄호 내 문자중 하나
    • [0-9], [a-zA-Z],...
  • - : 이전 작업 디렉토리
  • ; : 왼쪽 명령부터 차례로 실행
    • ls ; date ; who
  • | : 왼쪽 명령의 결과를 오른쪽 명령의 입력으로 전달
    • who | wc -l (현재 접속 사용자 수 출력)
  • '문자열' : 문자열 내 모든 특수문자 포함 일반문자로 처리(작은 따옴표)
  • "문자열" : 문자열 내 $, `, \를 제외한 특수무자를 일반문자로 처리
  • `명령` : 명령 결과를 문자열로 처리(백쿼터)
  • \ : 특수문자 앞에서 써서 특수문자를 일반 문자로 처리
  • >, >>, < : 입출력 방향 변경
    • 명령 (1)> 파일명 : 명령 결과를 해당 파일에 덮어씀(존재 하지 않는 파일일 경우 파일 생성)
    • 명령 (1)>> 파일명 : 명령 결과를 해당 파일에 추가(존재 하지 않는 파일일 경우 파일 생성)
    • 명령 2> 파일명 : 오류 메시지를 해당 파일에 덮어씀
    • 명령 (1)> 결과파일명 2> 에러파일명 : 명령 결과는 결과파일에 오류 결과는 오류파일에 각각 출력
    • 명령 (1)> 파일명 2>&1 : 결과 및 오류 모두 해당 파일에 출력
    • 명령 (0)< 파일명 : 해당 파일내용을 읽음
      • cat 명령은 < 생략 가능

<배쉬 쉘 환경 설정>
  • 쉘 변수와 환경 변수로 설정
  • 쉘 변수 : 서브 쉘로 전달되지 않는 임시값
  • 환경 변수 : 사용자의 작업 환경 설정
  • set : 쉘 변수 및 환경 변수 출력
  • env : 환경 변수만 출력
  • 주요 환경 변수
    • HOME : 사용자 홈 디렉토리
    • LOGNAME : 사용자 계정 이름
    • PATH : 명령 탐색 경로
    • CDPATH : cd 명령 경로
    • PWD : 작업 디렉토리 경로
    • SHELL : 로그인 쉘
  • 변수 정의 / 해제
    • 변수명=문자열
    • 공백사용 안됨
    • export (-n) 변수명 : 해당 쉘 변수를 환경 변수로 변경
      • (-n) : 해당 환경 변수를 쉘 변수로 변경
    • upset 변수 : 해당 변수 해제

<alias(앨리어스)>
  • alias : 현재 설정된 alias 목록 출력
  • alias 이름='명령' : 해당 명령을 이름으로 사용
  • alias 이름='명령;명령;...' : 여러 명령을 이름으로 사용
  • unalias 이름 : 해당 설정 삭제

<히스토리>
  • 사용자가 입력한 명령은 홈 디렉토리 내 .bash_history에 저장
  • fc -l : 번호를 포함해 16개 명령 출력
  • !! : 마지막 명령 실행
  • !숫자 : 숫자번째 명령 실행
  • !-숫자 : 현재 명령에서 숫자번째 뒤 명령 실행
  • !문자열 : 해당 문자열로 시작하는 마지막 명령 실행
  • !?문자열? : 주어진 문자열을 포함하는 마지막 명령 실행
  • ^문자열1^문자열2 : 마지막 명령의 문자열1을 문자열2로 바꿔 재실행
  • esc+k : vi로 직전 명령 불러오기
  • esc+/ : vi로 명령어 찾기
  • 상하 화살표 키로 이전 명령을 불러와 편집하여 실행할 수 있다.

<프롬프트 변경>
  • 환경 변수 PS1에 프롬프트로 사용할 문자열 입력
  • 이스케이프 시퀀스(단말기 제어 문자열) 이용
  • \u

    현재 사용자 이름 

    \h

    호스트 이름 

    \w

    작업 디렉토리 

    \t

    시각(hh:mm:ss) 

    \A

    시각(hh:mm) 

    \e

    터미널 창 고급 옵션 

    \[

    출력 하지 않는 문자열 시작 

    \]

    출력하지 않는 문자열 끝 

    \!

    히스토리 번호 

     

  • 컬러 프롬프트
    • 형식 : PS1='\[\e[글자색;배경색;특수기능m\]문자열 \[\e[0;0m\]'
    • 글자색 / 배경색

      색상

      글자색 번호

      배경색 번호

      검정

      30

      40

      빨강

      31

      41

      초록

      32

      42

      갈색

      33

      43

      파랑

      34

      44

      보라

      35

      45

      청록

      36

      46

      37

      47

       

    • 특수 기능

      번호

      기능

      0

      기본색

      1

      굵게

      4

      밑줄

      5

      반짝임

      7

      역상

      10

      기본 폰트

      38

      밑줄 사용 가능

      39

      밑줄 사용 불가능

       


<환경 설정 파일>

  • 시스템 초기화 파일(/etc/profile)
    • 환경 변수 설정
    • 기본 명령어 경로 설정
    • 기본 터미널 설정
    • 접속시 인사말 출력
  • 사용자 초기화 파일(각 사용자 홈 디렉토리)
    • 기본 프롬프트 설정
    • 사용 권한 설정
    • 명령어 경로 설정
    • 앨리어스 설정
    • 기타 환경 설정
  • 사용자 초기화 파일 실행
    • 수정된 초기화 파일 적용위해 source 명령 실행
    • source 초기화 파일명(ex: .profile, .bashrc, ...)

 

반응형

댓글