리눅스를 사용하다보면 예상치 못하게 파일이 날아갈 때가 있습니다.
또 이것 저것 설치하다가 지우고를 반복하다보면 사용중인 계정(/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로 이름 변경
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 |
여기서 " 는 주석표시니 걱정하지 않아도 됩니다.
'프로그래밍 > 리눅스' 카테고리의 다른 글
c++] make, makefile의 사용방법(기본적인 설명) (1) | 2020.05.18 |
---|---|
gcc/g++ 분할 파일 컴파일 하기. (0) | 2020.05.17 |
gcc / g++ 사용법과 설명 (4) | 2020.05.17 |
Ubuntu 18.04 버전 인터넷 자꾸 끊길 때 자동 Reset해주는 프로그램. (2) | 2019.08.25 |
Linux] tar 정의 및 사용방법 (0) | 2019.08.18 |
댓글