쉘
▶ 터미널에 입력한 명령을 해석하고 관리하는 프로그램이 쉘 ( shell )
▶ 쉘은 사용자 커널 사이에 연결시켜주는 역할을 하며 사용자가 입력한
명령을 해석하여 운영체제가 해당명령을 알아들을 수 있게 해주는 역할을 수행
▶ 쉘은 여러가지 종류가 있으며 가장 많이 사용되는 쉘은 Bash
( Born Again SHell ) 쉘
▶ 쉘의 종류
1) 현재 사용중인 쉘은 echo $SHELL 명령어로 확인가능
쉘 메타문자 사용
▶ 경로 이름 메타 문자
특정한 경로를 지정해둔 메타문자
1) ~: 현재 로그인 한 사용자의 홈 디렉토리
( 사용자 정보를 저장하고 있는 /etc/passwd 파일의 6번째에 설정된 디렉토리 )
2) -: 이전 작업 디렉토리
( CentOs의 Bash 쉘 기준 바로 이 전의 디렉토리만 기억 )
▶ 파일 이름 메타문자
파일 이름을 대체하는 메타문자
1) *: 하나 이상의 문자를 대체하는 문자, 일반적으로 전체를 의미
( 특정 디렉토리 내의 모든 파일을 지정할 때 또는 특정 이름으로 시작할 때
등 여러 가지로 활용 ( ex) rm -rf ./* ) )
2) ?: 하나의 문자만 대체
▶ 인용부호 메타문자
Grave Accent, 작은 따옴표, 큰 따옴표 등 인용부호 메타문자
1) ``:``: 안에 있는 문자를 명령어로 인식하여 실행되게 한다.
2) '': 작은 따옴표 안에 있는 메타문자를 일반문자로 취급한다.
3) "": 큰 따옴표 안에 있는 $, ', \ 문자를 제외한 나머지 문자만
일반문자로 취급 *tip: $은 리눅스 쉘에서 변수를 사용할 때 사용하는 문자
▶ 방향 재지정 메타문자
1) > = 덮어쓰기
2) >> = 덮어쓰기 x
사용자 초기화 파일
▶ 적용되는 범위가 다름
1) /etc/profile: 시스템 전역에 걸려 환경을 설정하는 파일,
모든 사용자가 적용되는 파일
2) ~/.profile: 개별 사용자의 홈 디렉토리에 있는 파일,
해당 사용자의 설정을 변경할 때 사용
3) ~/.bashrc: 개별 사용자의 홈 디렉토리에 있는 파일,
해당 사용자의 쉘 관련 설정을 변경할 때 사용
환경 변수, 쉘 프롬프트 모양 ( 명령어 앞에 붙는 내용 ),
별명 기능 ( alias ), 쉘 옵션 정의 등 설정 가능
▶ 환경 변수
시스템 환경에 대한 설정을 저장하고 있는 변수
1) HOME: 사용자의 홈 디렉토리
2) PATH: 실행파일을 찾는 경로
3) LANG: 프로그램 사용시 기본으로 지원되는 언어
4) SHELL: 로그인해서 사용하는 쉘
5) EDITOR: 기본 편집기의 이름
6) PSI : 명령 프롬프트 변수