개발 노트

Linux // 1일차 기본개념 본문

Linux

Linux // 1일차 기본개념

Meter216 2022. 11. 21. 16:29

1. 리눅스란 ?

2. 리눅스 구조

3. 리눅스 특징

    - Ubnutu

4. 디렉토리 구조


 

리눅스란 ?

 

linux

리누즈 토발즈에 의해 만들어진 os 오픈소스 개발에 가장 유명한 표본

가장 유명한 오픈소스.

 

유닉스unix 리눅스의 기본 모델이었고 유료다. 굉장히 강력한 OS

 

하드웨어 - 눈으로 보고 만질 수 있는것 ex) 컴퓨터 부품

소프트웨어 - 못 보는것 못 만지는 것 ex) OS

 

OS

입력한 걸 하드웨어가 받아서 소프트웨에어 입력해준다.


리눅스 구조

 

카카오톡 Excel chrome 같은 컴퓨터에서 실행하는 거의 모든 프로그렘을 응용프로그램 이라고 한다.

이러한 응용프로그램에서(컴퓨터를 사용하는 사람)이 명령을 내리면 Shell 은 이 명령을 해석한다.

** shell은 명령 해석기 라고도 한다.

 

해석된 사용자의 입력 명령어를 kernel 에게 전달한다.

kernel은 하드웨이에게 전달한다. 리눅스의 핵심이다.

 

명령 구조

 

응용 프로그램  >  Shell  >  kernel  >  하드웨어


리눅스 특징 

 

리눅스는 유닉스라는 운영체제를 기반으로 하고 있음

뛰어난 안정성과 보안성, 높은 신뢰성과 성능이 특징

 

시스템 자원을 효율적으로 관리 및 사용할 수 있음, 멀티유저기능과 멀티태스킹을 지원

 

- 멀티유저 : 여러 사용자가 동시에 하나의 시스팀에 접근 가능

- 멀티태스킹 : 여러개의 작업을 동시에 실행하고, 교대로 컴퓨터의 자원을 사용하는 기능

 

CLI, GUI(볼 일 없음) 둘 다 지원이 가능 명령어를 많이 알아야 한다... 쓰는것만

 

 

우분투 (Ubuntu)

리눅스를 기반으로 한 os

우분투도 리눅스를 기반으로 한 os중에 하나이다.

제일 유명하고 많이 쓰인다.


 

 

디렉토리 구조

 

최상위 디렉토리 : 더 이상 이전으로 갈 수 없는 디렉토리     

루트 디렉토리

 

빨간박스 쳐진게 많이 쓰는 디렉토리다.

최상위 디렉토리 

"/" 마치 윈도우 c드라이브와 같은곳

 

/bin

 

기본적인 명령어가 저장된 디렉토리, 리눅스 시스템사용에 있어서 가장 기본적인 명령어가 저장되어있는곳

ex) cat chmod dhown cp echo kill is ,kdir v ps pwd rm su vi ...

 

/boot

 

리눅스 부트로드가 존재하는 디렉토리

 

/dev

 

각종 디바이스 파일들이 저장되는 공간

블록 디바이스캐릭터 디바이스

 

블록 디바이스

HDD와 같은 주변장치를 말함

데이터를 블록단위로 읽고 쓰여지며 랜덤하게 엑세스함

 

캐릭터 디바이스

입출력이 한 바이트 단위로 이루어지며 데이터가 순차적으로 읽고 쓰여짐

 

/etc

 

시스템의 거의 모든 설정파일이 존재하는 디렉토리

 

/etc/sysconfig(시스템 제어판용 설정파일)

/etc/password(사용자 관리 설정파일)

 

/etc/ssh: SSH 서비스 담겨있는 디렉토리

/etc/hosts: 도메인의 IP를 찾을 때 컴퓨터가 맨 처음 조사하는 파일

  - windowC:/windows/System32/Driver/hosts에도 똑같은 공간이 있다

/etc/skel:: 계정 사용자 생성시의 초기화 파일이 저장된 디렉트로 (adduser)에서 사용함

 

etc에는 대부분 설정파일들이 들어있다. 하지만 설정 파일이라 한들 기본적으로 다 텍스트 파일로 되어 있다.

 

/HOME

 

사용자의 홈 디렉토리,adduser 명령어로 새로운 사용자를 생성하면 대부분 사용자의 id와 동일한 이름의 디렉토리가 자동으로 생성됨

계정 = 설치할 때 적었던 이름

/home/계정 = cd ~ 과 같다.

home 디렉토리 들어가는 건 cd ~ 로 가면 된다.

가장 많이 쓸 계정이다. 코드를 작성하면 기본적으로 여기에 담긴다.

 

/lib

 

커널모듈과 라이브러리파일 지금당장은 쓸 일이 잘 없다

 

/media

 

DVD,USB 마운트 지금당장은 쓸 일이 잘 없다

 

/mnt

 

윈도우에 접근 할 수 있는 모든 것이 담겨있다. /media 디렉토리와 비슷한용도

wsl2를 사용하는 사람은 윈도우 파일이 담겨져 있는 공간

 

/var

 

애플리케이션 실행중에 데이터를 일시적으로 저장하거나, 로그파일들을 저장하는 디렉토리 (콘솔로그들을 텍스트로 저장하는 디렉토리)

/var/log <--여기 디렉토리 안에다가 넣으면 됨.

오류 났을 때 로그가 이곳에 남는다. 로그를 보고싶을 때 이곳으로 오면 된다.

 

- 명령어

 

ls

 

현재 디렉토리 안에있는 파일 목록들을 조회하는 명령어

 

옵션

ls -[옵션내용]

L : 파일들의 상세 정보를 나타낸다

A : 숨김 파일들을 표시한다. 파일 앞에 점(.)이 붙어있으면 숨김파일이라는 뜻이다.

ls al 은 좀 더 내용을 상세하게 볼 수 있다.

 

cd

 

change directory

디렉토리 이동할 때 쓰는 명령어

cd [이동할디렉토리]

cd / 절대경로

cd ./ 내가 현재 위치한 곳에서부터

cd .. 이전으로

 

mkdir

 

mkdir [경로]

 

#cd /

cd /home

mkdir workspace

 

mkdir /home/ingoo/workspace 한번에 만들 수 있다.

 

vi

 

에디터 열기(파일열기)

-모드

-명령모드

-입력모드

 

입력모드에 들어가는 방법 i (대문자 소문자가 조금 다르다.)

입력모드에서 명령모드로 돌아가는방법 ESC

명령어를 써야 저장이 됨.

 

종료 옵션

 

: << 종료할 때 기본적으로 이걸 쓰고 시작해야댐 

:q 그냥 종료하는 것

:q! 강제종료

:w 그냥 저장

:w! 강제저장

:wq! : 저장하고 종료하는데 강제로 하는거

 

자세히 알고 싶다면 드림코딩 vim도 참고

 

mv

 

마우스를 쓸 수 없으니 MV를 통해서 파일을 옮겨야 한다.

$ mv [위치/현재파일] [이동할위치/파일명]

mkdir sample

mv /home/ingoo/hello.txt /home/ingoo/sample/hello.txt 

mv로 파일명도 바꿀 수 있다.

 

cp

 

cp [위치/현재파일] [이동할위치/파일명]

 

cat

 

굳이 에디터를 안끼고 바로 파일 내용을 보여주는것.

파일 이름을 인자로 받습니다

cat 파일명

텍스트 파일의 경우 그 내용을 보여주는 듯 하다

 

pwd

 

print working directory

현재 디렉토리를 출력해줌

 

who whoami,

 

현재 내가 로그인한 정보를 알려준다 어떤 계졍으로 했는지.

 

env

 

환경변수

지금 사용하고 있는 Linux 컴퓨터에서 사용하고 있는 변수를 출력해줍니다.

echo 

 

grep

 

grep grep [찾을단어] [파일위치]

pwd 

grep host ./hello.txt

 

| (pipe line)

 

명령어를 쓰면 기본적으로 출력을 한다.

출력을 가지고 조작하는 경우가 많다.

명령어와 명령어 사이에 쓴다. 

 

env-->PATH

env 결과를 가지고 PATH라는 내용을 가진 애들만 보고싶다.

 

env | grep MAIL

 

ps

 

-e: 현재 수행하고 있는 프로세스 관한정보

-f: 프로세스 ID와 모 프로세스 ID를 포함한 전체 리스트를 보여줍니다.

프로세스 현재 상태 ?

서버를 열면 나중에 여기에 실행이 된다.

ps ef를 많이 쓴다.

pe ef | grep node

 

프로세스를 실행할때마다 고유번호가 생김 pid process

 

kill

 

kill 9 [포르세스아이디]

위에서 ps로 아이디 번호를 찾고 kill을 통해서 삭제를 시킬 수 있다.

 

'Linux' 카테고리의 다른 글

Linux//github, branch합치기  (0) 2022.11.24
Linux // 3일차 [Git]  (0) 2022.11.23
Linux // 2일차 [사용자]  (0) 2022.11.22