● 쉘
쉘이란 리눅스에서 사용하는 중간 언어로 사용자의 명령어를 커널에 전달해 주는 역할을 한다.
● 역할
1) 명령어 해석
2) 프로그래밍
3) 계정의 프로필 설정(쉘문법 + 변수)
cf) 프로필? 계정의 작업환경
● 종류
- 본쉘(sh) : 커널 기본쉘(초기쉘, 단순,속도빠름), 시스템 관리작업 수행하는 쉘스크립트에서 사용
- 콘쉘(ksh) : 유닉스 기본쉘 , 히스토리, alias제공, 본쉘과 호환
- C쉘(csh) : 안드로이드 사용 본쉘기능확장(alias,히스토리추가), 쉘 스크립트 구문형식이 c언어와 같아서 c쉘
- 배쉬쉘(bash) : 리눅스 기본쉘, 본쉘 호환 , Ksh + c쉘 콘쉘 기능 포함
- TCsh : c쉘기능 확장,(명령행 편집, 명령어 완성기능, 히스토리 목록에서의 시간표시기능)
- Dash : 데비안 계열 기본쉘
- Nologin쉘 : root가 아닌 사용자들의 시스템 접속을 막는 프로그램
- 쉘 확인
----------------------------------------------------
echo $SHELL - 로그인 쉘 확인
cat /etc/passwd |grep root - /etc/passwd 확인
cat /etc/shells - OS 에 적용가능 쉘 확인
bash --version - 쉘 정보 자세히 보기
< 쉘 확인 실습 적용 >
- 쉘 변경
----------------------------------------------------
[영구변경-로그인 쉘 적용]
yum install -y ksh ksh tcsh -- 쉘 다운로드 (외부에서)
chsh -- 쉘 변경 명령어
chsh -s /bin/ksh
echo $SHELL -- 로그인 후 적용
cat /etc/passwd |grep root
[임시변경-서브 쉘 적용]
ksh,tcsh
로그인 쉘 : 로그인시 적용되는 쉘
서브 쉘 : 로그인 상태에서 다른 쉘로 변경시 적용되는 쉘
● 외부에서 쉘 다운받기
- cat으로 다운받은 shell 확인
- 쉘 변경하기
- 변경된 쉘 확인
Duplication Session으로 user1 로그인 하고 echo $SHELL로 확인해본다.
● 프로필
각 사용자 계정의 작업환경으로 프로필 환경의 구성은 쉘(명령어해석기), 변수, 문법(코드)
● 프로필 설정 파일
---------------------------------------------
로그인 프로필 (이것만 알면 됨) :
1) /etc/profile : 전체계정 적용 프로필
(로그인쉘 프로필)
2) ~/.bash_profile : 개별계정 적용 프로필
(로그인쉘 프로필)
서브 프로필 (몰라도 됨):
1) ~/.bashrc : 개별계정 적용 프로필
(서브쉘 프로필) ex) alias 설정
2) /etc/bashrc :전체적용 계정 프로필
(서브쉘 프로필)
● 프로필 환경 설정 파일 동작 순서
- 계정로그인시
/etc/profile -> ~/.bash_profile -> ~/.bashrc -> /etc/bashrc
실습을 위해 이전에 만든 user 들을 삭제해준다.
그리고 다시 유저 계정들을 만들어 준 뒤 비밀번호도 설정해준다.
● 전체 적용
root 계정으로 profile vi를 켜준다.
vi 안으로 들어와 shift + : 로 행 번호를 붙여주고
shift + g 로 맨 밑 하단으로 이동 해준다.
그리고 o 키를 눌러 편집모드로 변경해 ls -Ral / 을 입력한 뒤 esc를 눌러 편집모드를 꺼주고 :w로 저장한다.
이후 다른 putty창에 user1,2,3 을 로그인하면 프로필이 설정된다.
● 개별 적용
o 눌러 편집 모드로 변경해주고 ls -Ral / 를 입력해준다. 그리고 esc로 편점모드를 없애주고 :w로 저장해준다.
그리고 user2로 putty 창열어 로그인하면 뭐가 많이 나타나게 되는 것을 확인 할 수 있고 user1과 user3에는 반응 없는 것을 볼 수 있다.
'IT수업 > 리눅스' 카테고리의 다른 글
IT 수업 25주차 (205) 디스크 연결 (0) | 2024.06.13 |
---|---|
IT 수업 25주차 (204) 변수 (0) | 2024.06.12 |
IT 수업 25주차 (202) 계정 (0) | 2024.06.12 |
IT 수업 25주차 (201) 권한 (1) | 2024.06.11 |
IT 수업 25주차 (200) VI (1) | 2024.06.11 |