티스토리 뷰

방송대/UNIX시스템

shell 사용하기

피클s 2022. 8. 29. 15:53

 

 

shell 명령어

기본 shell 변경

$ chsh -s /bin/zsh

 

shell명령의 형식과 인식

$ [명령어] [옵션] [인수] # ex) docker run centos

 

 

chsh명령 : 기본 shell을 변경

$ chsh [옵션] [유저명]

 

명령어 종류

  • 별칭 : alias
  • 예약어 : do, while, case 등
  • 함수 : shell 함수 정의
  • 내장 명령 : cd, echo, pwd 등
  • 일반 명령 : 실행파일이 존재

* 환경변수 PATH에 설정된 경로중에 실행파일이 존재하면 이름만으로 실행 가능

 

 

alias 명령 : 자주 사용되는 명령의 단축명령을 만드는 명령

$ alias k=kubectl

 

type명령 : 명령이 어떻게 해석되는지 알려주는 명령

$ type cd # cd is a shell builtin

 

which 명령 : 환경변수 PATH를 토대로 경로를 찾아 출력함

$ which rm
$ whereis rm

 

man 명령 : 메뉴얼 페이지 표시

 

명령 히스토리

history 명령 : 이전에 수행했던 명령 행의 목록을 불러옴

$ history 10
$ !! # 직전 명령을 불러옴
$ !행번호 # 히스토리 목록에서 해당 명령 불러옴

 

자동 완성 : 일부만 입력하고 Tab키를 입력하면 나머지를 자동완성

 

특수 문자

  • 백슬래시 \ : 특수문자의 기능을 제거하는 이스케이프 명령 또는 다음줄로 넘어감
  • 틸드 ~ : 사용자의 홈 디렉터리를 의미
  • 도트 . : 현재 작업 디렉터리
  • 더블도트 .. : 부모 디렉터리
  • 파운드 # : 주소
  • 달러 $ : 변수의 값을 추출
  • 앰퍼샌드 & : 명령을 백그라운드로 실행
  • 아스타리스크 * : 파일명에 사용할 때 0개 이상의 임의 문자와 대응
  • 물음표 ? : 파일명에서 사용할 때 1개 문자와 대응됨
  • 파이프 | : 앞 명령의 출력을 다음 명령의 입력으로 연결시킴
  • < 또는 > : 파일로부터 입력받거나 결과를 파일로 출력할 때 사용
  • >> : 표준 출력을 파일 끝에 덧붙일 때 사용
  • 느낌표 ! : 명령 히스토리 기능을 이용할 때 사용
  • 명령치환 `` $() : 명령의 인수로서 다른 명령의 결과를 사용
  • 작은 따옴표 ' : 특수문자의 의미를 제거함
$ echo 'Today is $(date)' # -> 'Today is $(date)'
  • 큰 따옴표 " : $, ``, \, !를 해석하여 실행함
$ echo "Today is $(date)" # -> Today is Mon Aug 29 06:31:25 UTC 2022
  • 수식 : $[수식] 또는 $((수식))
  • 변수 : $변수명

 

shell 변수

모든 변수와 값을 출력하기 위해 set명령을 사용

 

shell 변수

  • 지역변수
  • 설정 : 변수=값 (띄어쓰기 불가)
  • 불러오기 : echo $변수
  • 변수를 환경변수로 변경 : export 변수

 

환경 변수

  • 대문자
  • 전역변수
  • printenv로 볼 수 있음
  • 불러오기 : echo $변수

 

자주 사용되는 환경 변수

  • HISTSIZE : 1개 셸에서 저장되는 명령 히스토리 목록의 최대 개수. 기본값 1000
  • HOME : 홈 디렉터리
  • MAIL : 사용자의 메일박스
  • PATH : 명령 수행할 때 실행파일을 찾기 위한 디렉터리 목록
  • PS1 : 쉘 프롬프트 표시하기 위한 문자열
  • SHELL : 사용중인 기본 셸
  • PWD : 현재 작업 디렉터리
  • USER : 현재 사용자 계정

 

 

shell이 환경설정파일

  • /etc/profile : 모든 사용자에게 적용. 로그인할 때 가장 먼저 수행(환경변수 설정 등)
  • ~/.bash_profile : 로그인할 때 수행되며 개별 사용자에게 적용됨
  • ~/.bashrc : 쉘을 시작할 때마다 수행되며 개발 사용자에게 적용됨.
  • /etc/bashrc : 모든 사용자에게 적용. 쉘을 시작할 때마다 수행(alias, umaskm를 이용한 접근권한의 초기값, 함수 등)
  • ~/.bash_logout : 로그아웃할 때 실행되는 스크립트

 

'방송대 > UNIX시스템' 카테고리의 다른 글

텍스트 편집  (0) 2022.09.25
사용자 관리  (0) 2022.09.24
리눅스 부팅과 종료  (0) 2022.09.15
파일과 디렉터  (0) 2022.08.30
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함