ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [따배리] 1.디렉토리들
    Linux 2022. 8. 28. 21:34

    ===

    https://youtube.com/playlist?list=PLApuRlvrZKohKeqFR3Mf6V2AB5TO5dr4m 

     

    [따배리] 리눅스 시리즈

     

    www.youtube.com

     

    ===

    처음 설치하거나

    클라우드 환경에서 리눅스 인스턴스 or 서버를 만들게 되는데

     

    기본적으로 생성되는 폴더가 있다. 역할을 갖고 만들어진다

     

    ===

    윈도우도

    사진

    다운로드

    동영상

    앱이 있는 공간 Program Files

    운영체제가 있는 공간

    가 있듯이

     

    ===

    강의 환경 : AWS Ubuntu 20.04

    우분투든 페도라든 기본적으로 리눅스는 linux filesystem hierarchy standard라는 규칙을 갖춘다. 트리구조라고도

    리눅스 파일 시스템(=리눅스 디렉토리)는 제일 상위에 root가 있다. 쓸 때는 /라고 쓴다

    cd : change directory

    ls : 현재 디렉토리 파일의 목록

    pwd : present working directory, 프롬프트 모양으로도 알 수 있어

     

    ▽보니까 그림에 다 있진 않다

    usr폴더로 들어가보면(폴더라서 들어가볼 수 있다) cd usr  명령어와 argument는 한개 이상의 띄어쓰기로 구분

     

    ===

    - 파일 폴더 파일 이렇게 색깔로 구분이 됨.

    - 디렉토리와 디렉토리는 / 로 구분

    - Ctrl + l : clear

    - cd 엔터 : 홈디렉토리로 이동

    - 홈디렉토리 : 사용자의 룸, 로그인 하게 되면 이곳으로 온다

    ▽~라고 표시 됨, /home/사용자명

     

    ===

    디렉토리마다 용도가 있다

    중요한 애들만

    bin : binary(2진, 실행 명령어), 기본적인 커맨드들이 저장돼 있는 공간 ls, date, vi, pwd...

    sbin : system binary, 시스템을 운영하는데 필요로 하는 명령어들 usermod, useradd, ip6tables, lvrename... root사용자 전용 명령어들

    근데 또 얘는 리눅스 운영체제가 설치될 때 root를 대신해서 시스템관리자 권한을 할당받은 유저기 때문에 쓸 수 있는 명령어가 좀 있다(나중에 또 설명)

     

    usr : 설치된 애플리케이션이나 리눅스 운영체제를 관리해주는 프로그램들

    사실 bin, sbin, lib는 존재하지 않는 디렉토리고, ls -l해보면 

    진짜는 usr/bin, usr/lib, usr/sbin이래

    바로가기 아이콘으로 마치 bin아래에 명령어들이 있는것처럼 보여준 상태

    뭐하러? 예전 리눅스와 지금 리눅스의 호환성 때문.

    예전엔 bin에 기본명령어, usr/bin에 추가명령어

    지금은 usr/bin에 다 있고 링크만 하나 뒀다

     

    *lib : 명령어들이 사용되는데 필요한 라이브러리

    원래 애플리케이션이 실행되려면 수많은 라이브러리와 함께 실행된다 그게 얘네들 usr밑에 lib, lib32, lib64, libx32

     

    별도로 설치하는 프로그램은 /usr/local에

     

    ===

    ∴ 정리

    /bin(=/usr/bin), /usr/local/bin : 이런곳에 리눅스 기본 명령어들이 위치한다

     

    /sbin(=/usr/sbin) : 시스템 관리 명령어

    보통 /usr/local/sbin은 존재 하지 않아

     

    위에 두개의 커맨드들이 운영되지 위해 필요로 하는 라이브러리

    /lib, /usr/lib  --lib32, lib64, libx32 : 윈도우는 라이브러리 확장자가 dll, 리눅스는 확장자가 .so

     

    *개발자가 운영하기 나름이라서 항상 100%는 아니다

     

    ===

    /etc : 시스템 설정 파일들이 있는 폴더

     

    전부 ASCII text파일 형태로 존재한다(내용을 알아볼 수 있는 text형태로) = 시스템 관리자가 파일을 열어서 수정할 수도 있다  ▽2진으로 돼 있으면 못하니까?

     

    /etc/passwd라는 파일 : 로그인 가능한 모든 유저들의 정보가 있는

     

    /etc/hostname : 컴퓨터에 이름 정해주는

     

    /etc/httpd/ocnf.d/httpd.conf

    웹서버의 configuration파일

     

    예)

     

    ∴ /etc : 텍스트 형태로 configuration파일들이 저장돼 있는 곳

     

    ===

    /var : 자주 변하는 파일들이 있는 공간

    이곳에 로그가 남겨진다. 시스템 입장에서 굉장히 중요. 누가 언제 시스템에 접속해서 뭘 했는지. 전부다 기록으로 남겨진다. 해킹사고가 생겼을 때 가장 먼저 봐야하는 곳

     

    이메일 사서함

     

    애플리케이션의 데이터들

     

    여기가 꽉차면 부팅이 안될수도. 시스템이 켜지면 여기에 기록을 남겨야 되는데 꽉 차면 못하니까

     

    ===

    /tmp : 임시

    잠깐 파일이 만들어졌다가 사라지는

    로그인할 때 만들어진 파일, 애플리케이션에 의해 만들어진 파일

     

    요즘 리눅스는 여기 말고도 /run이라는 곳에 tmp처럼 임시 파일들이 존재하는 공간

    .socket파일들이 보인다

     

    ===

    지금까지 시스템이 운영될 때 사용되는 공간

     

    ===

    /proc, /sys : 메모리와 하드디스크.

     

    디스크에 있는 프로그램은 메모리로 올라가서 동작하는데

    /proc는 현재 리눅스가 사용하고 있는 메모리 공간을 보여준다 오 신기해 메모리인데 디스크처럼 보여져(램디스크라고 표현하기도 한다). 덤프를 떠서 메모리를 사진찍어서 우리에게 보여준다

     

    사진을 이 디렉토리를 확인하는 시점마다 찍어서 실시간 정보를 보여준다 cd /proc하고 ls하는 순간에 사진 찍는다

    숫자가 현재 메모리에서 동작중인 프로세스(동작중인 프로그램)들

     

    ===

    /sys 하드웨어 정보가 들어있다

    디바이스 정보, 버스, 블럭장치..

     

    다시말해서 /sys나 /proc는 메모리에 있는 하드웨어정보, 메모리에 있는 프로세스 정보를 디렉토리를 통해 보여주는 

     

    ===

    /root

    /home

     

    /home밑에 /home/ubuntu 사용자 이름의 폴더가 있었어

     

    /home/"username"에 해당하는 폴더가 있다

    그 계정으로 로그인하면 이 공간으로 오게된다 /home/ubuntu$ => 홈디렉토리

     

    시스템에는 root라는 계정도 있어

    얘는 홈 디렉토리가 /root야. root가 로그인하면 root의 홈으로 간다

     

    ===

    /dev : 디바이스 디렉토리, 디바이스 파일들

     

    리눅스나 유닉스는 모든것을 파일로 관리한다.

    키보드 마우스 메모리 CPU 터미널 같은 하드웨어 장치들을 포인터파일을 갖고 관리한다

     

    그 포인터 파일들이 /dev 디렉토리에 있다

     

    여기에 있는 파일들이 현재 리눅스시스템이 인식한 디바이스 목록이 있는 것

    tty가 터미널이다. 모니터

    xvda, xvda1은 하드디스크

    mem은 메모리

Designed by Tistory.