IT수업/리눅스

IT 수업 25주차 (203) 쉘, 프로필

워제하 2024. 6. 12. 10:36

 

● 쉘

쉘이란 리눅스에서 사용하는 중간 언어로 사용자의 명령어를 커널에 전달해 주는 역할을 한다.

 

 

● 역할

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