'환경변수'에 해당되는 글 1건

반응형

셸이란?


커널과 사용자간 다리 역할을 하는것. 사용자로부터 명령을 받아 해석하고 실행하는 역할.
리눅스는 본셸(sh)을 기본으로 ksh와 csh 장점을 결합한 bash를 표준으로 한다.

  • sh : 본셸(Bourne Shell) 1977년 AT&T 벨 연구소에 근무하는 스티븐 본이 개발한 유닉스 버전 7의 기본 셸
  • bash : 1989년 브라이언 폭스가 GNU 프로젝트를 위해 개발한 배시셸. 본셸을 기반으로 만들어졌다.
  • csh : C 셸 1978년 버클리 대학의 빌 조이가 개발. C 언어를 기반으로 만들어졌다. 히스토리 기능, Alias 기능, 작업 제어 등 유용한 기능들을 포함하였다.
  • tcsh : 1975년 켄 그리어가 티넥스 운영체제에 명령행 완성 기능을 반영하고 csh와 통합해서 탄생
  • ksh : 콘셸(Korn Shell) 198년 AT&T 벨 연구소에 근무하는 데이비드 콘이 개발. sh를 확장해서 만들어졌다. 작업 제어, Alias, 히스토리 기능 및 vi와 같은 명령행 편집 기능, 명령행 완성 기능 등을 제공한다.

셸 확인
echo $SHELL
셸 변경
chsh 입력 후 변경하려는 셸의 절대 경로
변경 가능한 셸 확인 chsh -l
사용자 셸 정보 확인
/etc/passwd 의 7번째 필드 내용

셸에선 0 : 참 1 : 거짓

셸 환경 설정


  • 셸 변수 : 특정한 셸에서만 적용되는 변수 '변수명=값' 으로 선언 'echo $변수명' 으로 확인
  • 환경 변수 : 약속으로 정해진 변수명을 사용하고 bash에서는 PATH, SHELL 등과 같이 대문자로 지정되어있다. env 환경변수리스트확인

환경 변수


미리 정해진 환경 변수 목록

  • HOME : 사용자 홈 디렉터리
  • PATH : 실행 파일을 찾는 디렉터리 경로
  • LANG : 셸 사용 시 기본으로 지원되는 언어
  • PWD : 현재 작업 디렉터리
  • SHELL : 사용자 로그인 셸
  • USER : 사용자 이름
  • PS1 : 프롬프트 변수
  • PS2 : 2차 프롬프트 변수
  • HISTFILE : 히스토리 파일의 절대 경로
  • HISTSIZE : 히스토리 파일에 저장되는 개수
  • HISTFILESIZE : 히스토리 파일 크기
  • HOSTNAME : 시스템 호스트명
  • TMOUT : 미사용시 로그아웃 타임
  • UID : 사용자 UID

명령어 History


history 명령어 입력시 히스토리 리스트를 출력하며 기록 리스트는 .bash_history 라는 파일에 기록된다. 명령어 '!'로 대체할 수 있다.
명령문

  • !! : 마지막에 사용한 명령어 실행
  • !n : n번째 사용한 명령 실행
  • !-n : 사용한 명령 목록에서 역으로 n번째
  • !문자열 : 최근에 사용한 명령 중 '문자열'로 시작하는 명령 실행
  • !?문자열? : 최근에 사용한 명령 중 '문자열'을 포함하고 있는 명령 실행
  • ^문자열1^문자열2 : 마지막 명령문의 '문자열1'을 '문자열2'로 대체하여 실행

그룹 명령 실행


  • : : 한 줄에 여러 명령 나열 실행, 입력 순서대로 순차 처리
  • || : 논리적 OR, 앞 명령이 성공이면 결과 출력, 실패시 뒤 명령을 실행하여 출력
  • && : 논리적 AND, 앞 명령이 성공해야 뒤 명령 실행

tee


파이프 연결 출력을 두 갈래로 나눌 때 사용되는 명령. 이것도하고 다음것도 하고
tee [option] [파일]

  • i : 인터럽트 무시
  • a : 덮어쓰지 않고 내용 뒤에 추가

ex) ll | tee test.txt |more
ll 결과를 text.txt에 쓰고 more로 화면에도 출력

산술 연산


expr 명령으로 산술 연산 가능

expr 값 연산자 값
연산자 목록 : +, -, *, /, %

* 사용시 이스케이프 문자를 사용해야한다. $[ ]를 사용하면 가독성이 좋다.
echo $[ 값 연산자 값 ]

셸 설정 파일, 디렉터리


  • /etc/profile : 모든 사용자에 적용되는 환경 변수와 시작 관련 프로그램 설정
  • ~/.bash_profile : 개인 사용자에 적용되는
  • /etc/bashrc : 모든 사용자에 적용되는 alias와 함수 설정
  • ~/.bashrc : 개인 사용자에 적용되는
  • ~/.bash_logout : 개인 사용자가 로그아웃 할 때 수행되는것 설정
  • /etc/profile.d/ : 응용 프로그램에서 시작할때 설정을 위한 스크립트가 위치하는 디렉터리

 

반응형
블로그 이미지

Runer

IT / 일상 / 먹방 / 꿀팁 / 유틸

,