본문 바로가기
Linux

[Linux] Linux 환경

by JINJINC 2023. 3. 18.
728x90
반응형

' / ' <== rootFilesystem , 최상위 디렉터리 
/bin/ = binary (2진수 명령어) ==> /user/bin
/boot/ => booting 시동 
/root/ = 시스템 관리자 계정의 홈디렉터리 
/dev/ = device  . 블록디스크들이나 시스템적으로 사용하는 기계장치, terminal ,네트워크 소캣 ,시디롬 등
/sbin/ = binary와 비슷   시스템 사용자가 사용하는  binary ==> 시스템 명령어 
==> /usr/sbin/
/etc/ = 시스템 관련 설정 파일이 있는 곳.  (모든 유저에게 적용)
/etc/default/ <--- 여기는 뭔가 생성하는 작업 시 기본이 되는 프로파일들
/etc/passwd <- 시스템 계정들이 기록된 문서

/home/ = 유저 개개인의 홈 디렉터리가 위치한 곳 , 그리고 디렉터리들은 각자 유저의 설정파일을 보유

/srv/ = ftp로 파일을 받아서 저장하는 공간

/tmp/ = 사용자들이 발생시킨 임시 데이터들이 위치, multiuser - 공용디렉터리(하지만 내것만 건들 수 있다) ,stickybit 권한 부여

/lib/ = library 시스템 라이브러리 파일들의 위치, 바로바로 사용할 수있게 미리 설정되어있는 파일들이 있는곳,명령어들이 참조하는 파일이 있는곳, 날라가면 안됨

===> /usr/lib/

/usr/ = unix system resource 들이 있다. 명령어, 라이브러리, 데몬, 

#데몬 :  작업 시 백그라운드에서 스스로 작업을 처리하는 프로세스 방식

 /var 디렉터리에서 수정하고 반영을 따로 해줘야한다. 

/var/ = 시스템 운영 중에 발생하는 데이터나 로그들이 저장되는 공간, 수정가능

  • /var/spool/mail == >  시스템 메일이 오는 곳
  • /var/log/message --> 시스템 에러시 바로 찾아보는 메세징 기록 
  • /var/log/secure == > 입출관리 ,사용자 접속정보
  • /var/log/demesg == > 부팅시 발생하는 로그 

/media/ ,/mnt/ = 기본적으로 비어있는 디렉터리 ,마운트 디렉토리 

 

 

리눅스 파일의 종류

일반파일 : 텍스트, 그림, sh, binary(실행파일)

디렉터리 : 파일들을 담는 파일 ,파일들의 주소가 담긴 파일

링크 : /bin /sbin /lib  윈도우의 바로가기랑 비슷하다. 

  • 원본이 바뀌면 이 링크도 바뀌고 링크가 바뀌면 원본도 바뀜
  • 하드 링크 : inode가 같음.(동일 파일)  ==> 원본이 제거되면 하드링크가 원본이된다.(파일만 가능)
  • 심볼릭 링크 : inod가 다르다. 주소를 따라감 . 원본이 삭제되면 링크도 기능을 하지 못함
           원본과 같은 위치에 같은 이름의 파일이 생성되면, 그 파일을 새로운 원본으로 삼음
           디렉터리, 파일 모두 가능

링크 사용예시 ) 데이터베이스, 명령어 원본은 숨겨야햐지만 접근이 필요할때 , ftp서버 

 

장치 : 하드디스크, 키보드. usb , 이미지  

bashrc -  시작프로그램

bash_profile - 환경변수

bash_logout - 정상종료시 처리해야하는 명령

 

 

# 셀 (shell  ==> 껍데기 ) 

kernel : 시스템 리소스들을 관리하는 역할 

shell :  나와 kernel 사이에서 명령어를 전달하는 역할, 통역사 

- 자체적인 간단한 프로그래밍  ok -=> 셀 스크립트 (따까리)

사용자 환경설정도 가능.  (별칭 사용, 시스템 환경변수 조정)

# 셀의 역사

1) bourne Shell (/bin/sh)

유닉스의 기본 셀, 개발자 스티브 본의 이름을 따서 명명, 

아직도 복구 모드나 클라우드 환경 접근 시 기본 셸로 제공하는 경우가 많음 

2) C Shell

버클리 대학 빌 조이 개발자가 개발 c 언어 베이스 개발 ,

프로그래밍 가능, 크기가 커지면서 속도가 느려짐

3) Korn Shell

데이비드 콘이 개발 , sh + Csh 합친것

처리 속도 를 개선했지만, alias는 잘 안될수도 있음

4) bash Shell

리눅스의 표준 셀, 브라이언 폭스 GNU프로젝트의 일환으로 개발 

csh + ksh 적절하게 배합하여 만든것 Alia, history,연산기능, 작업 컨트롤,tab자동완성

같은 편의 기능들이 다수 추가되었다 . 

#chsh

셀을 변경하거나 조회할 때 사용하는 명령
chsh -l : 내가 보유중인 셸의 목록 확인
chsh -s [바꿀 셀] [ 대상계정] : 해당 계정의 셀을 변경. 미지정 시 , 
본인 계정의 셀을 변경 

/etc/passwd : 우리 계정의 정보를 담고 있는 파일 

# bash 셸의 설정 파일들

.bash_history : 우리가 사용했던 명령들을 기록
history : 지난 명령어들을 조회나는 명령
![ history 번호] : 해당 라인의 명령줄을 반복 
!! : 직전 명령 재반복
![문자열] : 해당 문자열을 포함하는 가장 최근의 명령어를 반복 
 ctrlb + r =?> (reverse-i-search)`' 모드, 원하는 문자열을 포함하는 명령을 찾아주는 모드 
원하는 명령어를 찾았으면 tab 누르고 빠져나오면 됨 
history -c : 지난 히스토리 결과들이 제거된다. 
.bash_logout : 셀에서 로그아웃 할 때, 사용할 명령어의 모음집 (스크립트)
.bash_profile : 시스템적인 변수나, 환경설정, 혹은 시작시 구동할 프로그램 등을 지정하는 곳

 

#path

내가 해당 위치에 있지 않아도 해당 위치에 있는 명령어, 셀 스크립트 등의 실행파일을 해당 위치에 있을 때 처럼 사용할 수 있도록 지정

#export[변수]  

= >  해당 변수를 전역변수로 설정(전역 변수란 함수의 외부에서 선언된 변수를 의미합니다. )

#변수 : 상자, 그릇 과 같이 특정 문자열에 값을 저장하는것 

-로컬 : 특정 위치, 문서에서만 사용하는 변수

-글로벌 : 시스템 전역에서 사용할 수 있는 변수 

.bashrc : 약어 등, 배시 셀에서 사용하는 편의 기능들을 지정할 수 있는 파일 , bash를 시작할때 읽어오는 내용 

 


#배시 셀  환경변수들의 적용 순서

/etc/bashrc   = > ~/.bashrc ==> ~/.bash_profile 

-> 이 셋을 차례로 적용해서 하나의 완성된 배시 셸에 대한 환경설정을 만든다. 

vi .bash_profile 에서 명령을 바꾸면 

. .bash_profile 으로 적용하면 명령이 실행된다. 

728x90
반응형

'Linux' 카테고리의 다른 글

[Linux Server] 리눅스 사용자  (0) 2023.03.21
[Linux] 여러 명령어  (1) 2023.03.18
[Linux] vi 명령어  (0) 2023.03.15

댓글