프로그래밍/리눅스

리눅스(Ubuntu18.04 ver) .bashrc, .profile, .bash_profile, .vimrc 가 없을 경우!!

Hwan2 2019. 8. 29. 21:36
반응형



리눅스를 사용하다보면 예상치 못하게 파일이 날아갈 때가 있습니다.


또 이것 저것 설치하다가 지우고를 반복하다보면 사용중인 계정(/home)에 있는 디렉토리 혹은 파일들이 없어져 있을 때도 있죠.


사용자 계정을 새로 만들고 그 계정에 들어갔는데 정말 아무것도 없을 때도 있죠....


분명히 없는 이유는 있지만 리눅스에 익숙하지 않은 사람들에겐 상당히 당황스럽고 짜증나는 일입니다.



제목에서 볼 수 있듯이 .bashrc, .profile, .bash_profile 같은 기본 shell 코드가 없어질 때도 있습니다.


특히 root계정은 괜찮은데 user 계정이 말썽이죠.....


그래서 user계정을 사용하고 있는데 .bashrc, .profile, .bash_profile 파일들이 없어졌을 때 해결방법을 알려드리겠습니다.



이 글은 Ubuntu 18.04 ver 기준으로 작성된 것입니다.

다른 리눅스는 파일 경로가 다를 수 있으니 참고하시기 바랍니다.





.bashrc, .bash_profile 이 없을 때!!


보통 root계정은 거의 다 정상입니다. user계정에 없을 경우가 많죠.

그래서 user 계정에 없을 때 복구하는 방법을 알려드리겠습니다.


우선

$ vi /etc/skel/.bashrc


로 들어가서 .bashrc파일이 존재하는지 확인해 주세요.

잘 들어가진다면 다음 명령어를 실행시켜 주세요.


$ cd ~        //home 디렉토리로 이동

$ cp /etc/skel/.bashrc ~    //.bashrc 파일 복사

$ source ~/.bashrc           //.bashrc 파일 적용




이렇게 해주시면 .bashrc 파일이 생성되고 실행이 잘 될 것입니다.


.bashrc가 있으면 기본적으로 파일의 형식마다 색깔이 다르게 보일 것입니다.



이런식으로 말이죠.


하지만 .bahsrc만 있다면 '$ source ~/.bashrc' 를 매번 해주지 않는 이상은 리눅스가 재부팅 되면 적용이 안될 것입니다.


즉, 재부팅 할 때 마다 '$ source ~/.bashrc'  명령어를 입력해 줘야 하죠....


그래서 이를 간편하게 하기 위해서 .bash_profile 파일이 있어야 합니다.



작성 방법은 간단 합니다.


$ vi .bash_profile

로 들어가서 vi 편집기를 열어주신 후

다음과 같이 입력해 주세요.


1
2
3
4
5
6
# Get the aliases and functions
 
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi
 
cs


shell코드인데 shell코드에서 #은 주석과 같은 역할이니 굳이 적지 않으셔도 상관 없습니다.


완성이 되면 리눅스를 재부팅해도 .bashrc가 계속 적용되는 걸 확인할 수 있을겁니다.









.profile 이 없을 때!!


profile이 없을 때도 위와 같은 방법을 사용해주면 됩니다.



$ cd ~        //home 디렉토리로 이동

$ cp /etc/profile ~    //profile 파일 복사

$ mv profile .profile  //.profile로 이름 변경

$ source ~/.profile        //.profile 파일 적용



bashrc와 profile의 차이점은 bashrc는 시스탬 부팅 후 실행되며 비로그인 전용 쉘 입니다.


비 로그인 쉘은 gnome-terminal 과 같이 로그인 할 필요가없는 프로세스를 말합니다.


반면 profile은 로그인 전용 쉘 입니다. 로그인 하면 적용이 되고 다른 계정에서도 사용할 수 있습니다.


또하나의 차이점은 바로 $PATH 입니다. 


profile에는 환경변수가 들어갈 수 있지만 bash에는 없죠. 


즉, bash와 관련 없는 내용들이 profile에 있다고 보시면 됩니다.



그리고 재부팅 후에도 계속해서 .profile이 적용되게 하고 싶다면 .bash_profile내용을 수정해 주면 됩니다.


$ vi .bash_profile

1
2
3
4
if [ -f ~/.profile ]; then
    . ~/.profile
fi
 
cs


.bash_profile에 위와 같은 코드가 있다면 작성을 안해도 되고,

.bash_profile에 긴 코드가 있다면 맨 아랫줄에 작성하시면 됩니다.








.vimrc 가 없을 때!!


.vimrc가 없을 때가 있습니다.


vimrc는 vim 편집기에 여러가지 기능들을 추가해 주는 역할을 합니다.


.vimrc가 없을 경우 그냥 만들어주시면 됩니다.


$ vi .vimrc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
set number    " line 표시
set ai    " auto indent
set si " smart indent
set cindent    " c style indent
set shiftwidth=4    " 자동 공백 채움 시 4칸
set tabstop=4    " tab을 4칸 공백으로
set ignorecase    " 검색 시 대소문자 무시
set hlsearch    " 검색 시 하이라이트
set nocompatible    " 방향키로 이동 가능
set fileencodings=utf-8,euc-kr    " 파일 저장 인코딩 : utf-8, euc-kr
set fencs=ucs-bom,utf-8,euc-kr    " 한글 파일은 euc-kr, 유니코드는 유니코드
set bs=indent,eol,start    " backspace 사용가능
set ruler    " 상태 표시줄에 커서 위치 표시
set title    " 제목 표시
set showmatch    " 다른 코딩 프로그램처럼 매칭되는 괄호 보여줌
set wmnu    " tab 을 눌렀을 때 자동완성 가능한 목록
syntax on    " 문법 하이라이트 on
filetype indent on    " 파일 종류에 따른 구문 강조
set mouse=a    " 커서 이동을 마우스로 가능하도록
cs


여기서 " 는 주석표시니 걱정하지 않아도 됩니다.

반응형