본문 바로가기
프로그래밍/LINUX

[LINUX 18일차] CentOS 환경변수(생성, 수정, 사용자 설정 파일, su) / 쉘 프로그래밍(쉘 스크립트)

by B T Y 2017. 4. 4.
반응형

CentOS 환경변수(생성, 수정, 사용자 설정 파일, su) / 쉘 프로그래밍(쉘 스크립트)에 대해서 정리한다.

 

 

환경 변수

 

#>env ( 해당 사용자 환경 변수 확인 )

 

 

( 위에서 PATH는 명령어가 실행 될 경로를 지정하고 있는 환경변수이다 )

 

 

1. 환경 변수 생성 / 수정

 

- 환경 변수 생성 / 수정: export

 

 

( export 명령어를 이용해서 num1이라는 환경 변수에 100이라는 값을 넣어서 추가 할 수 있다 )

 

 

( export 명령어를 이용해서 num1 환경 변수를 200으로 수정 했는데 

덮어쓰기라고 보면 된다 )

 

 

( $num1=$num1:/korea/bin처럼 환경변수에 해당 내용을 추가 할때는 이런 방식으로 해줘야 된다 )

 

 

 

 

2. 사용자 설정 파일

 

/etc/profile

/etc/bashrc

~/.bash_profile ( 로그인시 환경 설정 파일 )

~/.bashrc

~/.bash_logout ( 로그아웃시 환경 설정 파일 )

 

* /etc/profile, /etc/bashrc전체 사용자 

~./bash_profile, ~/.bashrc, ~/.bash_logout해당 사용자에게만 적용된다.

 

* ~./bash_history 파일은 해당 사용자가 사용한 명령어 기록을 가지고 있다.

 

 

- 환경 설정파일 인식 순서

/etc/profile -> ~./bash_profile -> ~/.bashrc -> /etc/bashrc

 

 

3. 기타 명령어

 

- alias : 별칭 설정

#>alias <alias_name>='<command>'

ex) ls -l은 ll이라는 별칭으로 등록 되어있다.

 

 

( alias 명령어를 이용해서 ls -al 명령을 la라는 별칭으로 만들었다 )

 

 

( ~./bashrc에 기본적으로 등록되 있는 명령어 별칭들이다 )

 

* 환경 설정파일인 ~/.bashrc에 별칭을 등록 해두면 로그아웃 후에 

다시 로그인을 해도 초기화 되지 않는다.

( ~/.bashrc는 해당 사용자에게만 적용 된다 )

 

 

- 사용자 확인

#>whoami

#>id -un ( 환경 설정파일에서 해당 사용자를 뽑아올때 많이 쓰인다 )

 

 

4. su ( switch user )

 

- 사용자 변경

( 다른 사용자로 이동할 때 패스워드가 필요하지만 root는 역시나 예외 )

 

- 현재 로그인 된 사용자를 로그아웃 하지 않고 현재 터미널에서 변경 가능하다.

( 현재 사용자 위에 다른 사용자를 한번 더 로그인 한다고 생각하면 된다 )

 

 

#>su <user_name> - 이전 사용자의 환경 변수 그대로 사용

 

#> su - <user_name> - 바뀐 사용자의 환경 변수 사용

 

 

( su 명령어를 이용하면 이전 사용자의 환경 변수를 그대로 사용하기 때문에 

홈 디렉터리가 그대로 root인걸 볼 수 있다 )

 

 

( su - 명령어를 사용해서 사용자를 변경 했을때 해당 사용자인 linux01의 환경 변수를 가지고 

오는걸 확인 할 수 있다 )

 


 

 

※ 쉘 프로그래밍 ( 쉘 스크립트 )

 

 

- 리눅스를 좀더 효율적으로 사용하기 위해 자동화 작업을 할때 사용한다.

- 쉘 스크립트 안에 명령어들을 넣어주고 실행하면 안에 있는 명령어가 한줄씩 실행된다.

 

 

1. 작성 방법

#>vi <script_name>.sh

 

* 리눅스에는 확장자가 없기 때문에 .sh를 꼭 붙이지 않아도 되지만 

쉘 스크립트 파일인지를 알기위해 보통 .sh를 붙여서 사용해준다.

 

 

2. 실행

#>sh <path>

 

 

3. 변수

- 생성 : 변수이름=value

- 사용 : $변수이름

 

 

( -n 옵션을 이용해서 echo 명령어 실행 이후에 자동으로 줄바꿈 되는걸 막을수 있고 

read를 이용해서 입력을 받아 str1에 입력값을 넣을수 있다 )

 

 

( 쉘 스크립트를 이용해서 입력된 이름인 abc라는 이름으로 빈파일을 만들었다 )

 

 

반응형

댓글