본문 바로가기

개인적으로 공부한 것을 정리해 놓은 블로그입니다 틀린 것이 있으면 댓글 부탁 드립니다!


Linux

리눅스 공부 6 - 리눅스 프로필과 환경변수 설정

반응형

저번시간에 리눅스의 부팅 순서를 알아 봤는데

 

리눅스에서 부팅 후에 일어나는 순서에 대해 알아보려 한다 

 

 

 

run level에 따라 시스템이 부팅되면  아이디와 비밀번호 창이 뜬다 . 

 

입력을 하고 로그인 함과 동시에 로그인 쉘(/bin/login) 이 실행되고  아래 두가지 설정파일이 실행된다 

 

/etc/proflie ,  ~/.profile 

 

왜 두개가 실행될까 ? 

 

/etc/profile은 컴퓨터에 등록된 모든 사용자들에게 적용되는 정보가 담겨있고 

 

~/.profile은 현재 로그인하는 사용자에게 적용되는 설정들이 담겨있다 . 

 

~/.profile에는 /etc/profile의 설정들을 오버라이딩할 수도 있다. 

 

/etc/profile는

 

 /etc/bash.bashrc와 /etc/profile.d를 불러오게 되어있고

 

~/.profile 는

     ~/.bashrc 를 불러오게 되어있다 . 

 

nano로 .bashrc를 열어보면 이렇게 쓰여있다 .

 

bash.bashrc 


To enable the settings /commands in this file for login shells as well ,

this file has to be sourced in /etc/profile 

(로그인 셸에 대해 이 파일의 설정 / 명령을 활성화하려면, 이 파일은 / etc / profile에 있어야합니다)

로그인에 대한 설정과 명령 들이 적혀있는 파일인 것을 알 수 있다.

 

비 로그인 쉘도 있다 ubuntu 데스크탑을 실행 하게 될 경우 윈도우가 열리는데 그 윈도우에서 쉘을 열때는

 

비 로그인 쉘로 열리고 로그인 정보는 처음 데스크탑 실행시에 입력한 로그인 정보를 사용하기 떄문에   /etc/bash.bashrc  ~/.bashrc만 읽어들인다. 

 

 

3가지 방법으로 profile을 저장해 둘 수 있다. 

 

1. /etc/profile 파일에 원하는 명령 작성

 

 

nano로 /etc/profile을 열어보면 위와 같이 되어있다. 프롬프트 설정에 대한내용과 

/etc/profile.d와 /etc/bash.bashrc를 호출하고 있다.

 

 

변경을 위해선 sudo를 통해 관리자 권한으로 들어가야 변경이 저장된다.

 

ex)sudo nano /etc/profle

 

맨 밑줄에 간단하게 aa 라는 alias를 만들었다.

 

/etc/profile은 위에서 말했듯이 전체사용자에게 적용되는 설정이기 때문에 새로운 alt + F2를 눌러 새로운 사용자로 로그인 하여도 aa가 실행된다. 또 해당 설정들은 로그인시에 읽혀지는 것들이기 떄문에 뭔가 추가되었다면 로그아웃 후에 다시 로그인해야 적용된다 .

 

 

2. /etc/profile.d디렉토리에  쉘 스크립트 생성

 

 

 

로그인쉘 실행시 /etc/profile.d  디렉토리도 들어가 파일들을 읽기 떄문에  이곳에 shellscript를 저장해놔도 설정이 적용된다.  

 

profile_test.sh라는 쉘스크립트를 만들었고 1번과 같이 alias bb='ls -l'  명령을 적어놨다

 

 

bb가 잘 실행 됬다  

 

 /etc/profile.d 역시 1번과 같이 사용자 전체에게 적용된다.  

 

3. ~/.profile에 원하는 명령 작성 

 

현재 로그인 중인 사용자에게만 적용 시키고 싶은 설정이 있다면 ~/.profile에 적어놓으면된다 .

 

~는 현재 사용자의 home directory를 의미하고 .profile에서 .은 숨김파일을 의미한다

 

~ 위치로가서 ls -a -l(숨김파일까지 표시하여 자세히 보기)를 통해 리스트를 확인해봤다.

 

 

.profile이 존재한다  .profile에는  alias cc='ls -l' 로 적어놔 봤다. 

 

 

다시 로그인 후 cc를 입력하면 잘 실행된다. 

 

 

다른 사용자로 로그인 후 cc를 실행하면? 아래와 같이 cc를 찾을 수 없다 나온다.

 

 

반응형