개인공부

리눅스 - 지역 환경변수 본문

리눅스

리눅스 - 지역 환경변수

풀스택개발 2018. 7. 15. 11:52

지역 환경 변수


- 현재 사용하는 쉘에서만 적용되는 변수


- 변수 선언 및 초기화

변수명=값 (* 주의 사항 : 변수명 = 값 X - 공백X)

EX) #A=10    O

EX) #A = 10  X

- 변수 해제

#unset 변수명

EX) #unset A

- 변수 확인

#set

전역 환경 변수

- 모든 쉘에 적용되는 변수


- 변수 선언 및 초기화

#export 변수명=값

- 변수 해제

#unset 변수명

- 변수 확인

#env

지역 환경 변수 테스트

#LOCAL=test // 지역변수 LOCAL에 test 대입

#set // 지역변수 확인

#set | grep LOCAL // 직역변수 LOCAL 선언 확인

#/bin/bash // bash 서브 쉘 실행

#exit // 상위 쉘로 이동 (logout)

#echo $LOCAL // 지역 변수 LOCAL 값 확인


#/bin/bash // 서브 쉘 실행

#echo $LOCAL // LOCAL 변수 출력 -> 출력 값 X

#exit


#unset LOCAL // 지역변수 LOCAL 해제

#set | grep LOCAL // 지역변수 LOCAL 해제 확인


전역 환경 변수 테스트

#export GLOBAL=test1 // 전역 변수 GLOBAL 선언

#echo $GLOBAL // test1 값 확인

#set | grep GLOBAL // 출력 확인 

#env | grep GLOBAL // 출력 확인


#/bin/bash 

#echo $GLOBAL // 출력결과 확인

#GLOBAL=test2 // 지역 환경 변수

#echo $GLOBAL // test2

#exit


#echo $GLOBAL // test1

------------------------------------------------------------------------------

#echo $PS1

[\u@\h \W]\$

export PS1="[\[\e[37m\]\u\[\e[m\]@\[\e[33m\]\h\[\e[m\] \W] \\$ " Server-A

export PS1="[\[\e[37m\]\u\[\e[m\]@\[\e[35m\]\h\[\e[m\] \W] \\$ " Server-B

export PS1="[\[\e[37m\]\u\[\e[m\]@\[\e[36m\]\h\[\e[m\] \W] \\$ " Client-Linux


------------------------------------------------------------------------------

#echo $TMOUT // 세션유지시간

TMOUT 변수에 10 대입


#TMOUT=10 // 10초간 응답이 없다면 자동으로 세션 해제

#TMOUT= // 무제한


------------------------------------------------------------------------------


사용자 환경을 구성하는 초기화 파일


/etc/profile

- 환경변수와 bash가 동작 시 사용되는 프로그램을 제어하는

  전역적인 시스템 설정과 관련된 파일

/etc/profile.d/

- /etc/profile 파일에 의해서 /etc/profile.d/ 디렉토리내에 스크립트가

  실행이되며 여러가지 변수들이 동작하며 쉘 환경 제공


/etc/bashrc

- 사용자가 로그인하였을때 사용자 계정에 있는 .basrc 파일에 의해서

  실행이되며, 전체 사용자에게 적용할 alias 및 쉘 환겨변수값을 설정하는

  파일

  

~/.bash_profile

- 환경변수와 bash가 동작 시 사용되는 프로그램을 제어하는

  지역적인 시스템 설정과 관련된 파일


~/.bashrc

- ~/.bash_profile에 의해서 실행되며 .bashrc 파일은 다시 /etc/bashrc을

  실행 하여, 사용자에게 기본적으로 적용할 alias 정보가 있다.

  

  

Login시 실행되는 파일의 순서

/etc/profile -> /etc/profile.d/*

~/.bash_profile

~/.bashrc

/etc/bashrc

 

#cd ~

#ls

#ls -a // 숨김파일 확인  

#vi ~/.bashrc // 현재로그인한계정의 홈디렉터리


  


#alias c='clear' // 알리아스 선언

Logout 후에 다시 Login 혹은 다른 세션을 연결하여 알리아스 적용테스트

-> Command Not Found


#vim /etc/bashrc // 파일내에 알리아스 입력

Logout 후에 다시 Login 혹은 다른 세션을 연결하여 알리아스 적용테스트



------------------------------------------------------------------------------

.bash_logout

echo "bye bye"


#exit // 로그아웃

bye bye


VMware에서 실행 시 출력결과가 나오나 빠르게 사라짐...

------------------------------------------------------------------------------



useradd [옵션] [계정명]


1. 사용자 계정추가 

#useradd DOBONGSOON




#useradd -d /sub_home/DOBONGSOON-6 DOBONGSOON-6

계정은 생성은 되어 /etc/passwd 파일에 등록이되지만,

홈디렉토리의 상위 디렉토리가 미리 존재하지않으면 홈디렉토리가 생성이

되지 않는다.


#mkdir /sub_home

#useradd -d /sub_home/DOBONGSOON-7 DOBONGSOON-7 // 계정 생성

#cd /sub_home/DOBONGSOON-7

#ls -a

.bashrc .profile


#ls -a /etc/skel

#touch /etc/skel/skel_file // skel디렉토리에 테스트 파일 생성

#useradd DOBONGSOON-8

#cd /home/DOBONGSOON-8

#ls 

skel_file

#ls -a 


#su - DOBONGSOON-8 // 홈디렉토가 있는 계정

DOBONGSOON-8 ~ ]$ pwd // 초기화 파일이 있는 계정

$exit


#cd /home/DOBONGSOON-8

#ls -a

skel_file .bashrc .bash_profile

#rm .bashrc

#rm .bash_profile


#su - DOBONGSOON-8

#cat /etc/bashrc


bash-1 $


실습

아래 조건을 만족하도록 설정

계정 생성

계정명 : practice-1

UID    : 590 (-u)

GID    : 500        (-g)

정보   : Practice Account (-c)

쉘     : /bin/bash (-s)


생성 확인 (/etc/passwd )

practice-1:x:590:500

Practice Account:/home/practice-1

:/bin/bash


#useradd -u 590 -g 500 -c "Practice Account" -s /bin/bash practice-1


아래 조건을 만족하도록 설정

계정 정보 변경

계정명 : practice-1

UID    : 503

GID    : 501 

정보   : Practice

쉘     : /bin/sh


변경 확인 /etc/passwd


#usermod -u 503 -g 501 -c "Practice" -s /bin/sh practice-1


#usermod -d /home/[계정명2] -l [계정명1] [계정명2] 

#cp /home/[계정명1]/* /home/[계정명2]/





------------------------------------------------------------------------------

su (Substitute User // Switching User) 사용자 전환


su [계정명]   - 해당 계정으로 전환하나 환경변수는 바꾸지 않음

su - [계정명] - 해당 계정으로 전환하며 환경변수도 함께 변경

     해당 계정의 ~/.bash_profile, ~/.bashrc 파일이 적용


#su - DOBONGSOON-1

$pwd

/home/DOBONGSOON-1

$exit


#cd /bin

#su DOBONGSOON-1 // 현재 경로 ex)  /bin

$pwd

/bin

--------------------------------------------------------------------------------

'리눅스' 카테고리의 다른 글

리눅스 정리 - 사용자 계정관리  (0) 2018.07.16
리눅스 - 계정삭제  (0) 2018.07.15
리눅스 - 다중명령어  (0) 2018.07.12
리눅스 - lrzsz 패키지 설치  (0) 2018.07.12
리눅스 정리 - 기본명령어 3  (0) 2018.07.11
Comments