[SEB BE] Linux 기초

zirryo·2022년 6월 30일
0

⚡️ STUDY

목록 보기
4/15
post-thumbnail
week 2 / 22.06.30

💿 UI 사용자 인터페이스

사용자 인터페이스는 사용자와 컴퓨터가 상호 작용하는 매개체이다.
다양한 종류의 UI가 있으며, 그 중 자주 사용하는 인터페이스는 다음과 같다.

  • CLI Command-Line Interface 명령줄 인터페이스
    : 사용자가 키보드를 이용해 명령 문자열을 입력하여 체계를 조작하는 인터페이스.
  • GUI Graphic User Interface 그래픽 사용자 인터페이스
    : 사용자가 컴퓨터와 정보를 교환할 때, 그래픽을 통해 작업하는 방식. 마우스 등의 장치를 이용하여 화면에 있는 메뉴 선택.
  • WUI Web User Interface 웹 기반 인터페이스
    : 인터넷과 웹 브라우저를 통해 웹 페이지를 열람하고 조작하는 인터페이스
  • CLI VS GUI
    GUI는 사용자가 쉽게 컴퓨터를 제어할 수 있으나 그래픽에 컴퓨터 자원을 많이 사용할 수밖에 없으며, CLI에 비해 느리다.
    반면, CLI는 화면에 나타날 내용에 그래픽 작업을 거치지 않아도 되기 때문에 컴퓨터의 자원을 적게 사용하며, 더 빠르게 동작한다.

💿 OS 운영체제

  • Linux : 파일 구성 및 일부 시스템 기능을 유닉스를 기반으로 한 OS. 인터넷 프로토콜 TCP/IP를 강력하게 지원하기 때문에 네트워킹의 강점을 지닌다.
  • UNIX : 소프트웨어 개발용 OS. 다중 사용자/다중 태스크의 실행 지원이 가능한 대화형 OS.
  • Ubuntu : 리눅스 커널(단일형 커널)에 기반한 OS. 모바일과 PC, 서버에도 설치해서 사용 가능함.

💿 커널 / 쉘

  • Kernel : 하드웨어와 가장 가까운 프로그램. 시스템의 자원을 관리하는 운영체제.
  • Shell : 사용자의 응용프로그램과 커널 사이에 위치. 명령어를 해석하여 커널에게 전송하면 커널이 동작한다. 커널은 쉘에게 다시 응답을 보내고, 응답은 쉘을 거쳐 사용자에게 도달한다.

CLI 기본 명령어

📀 명령어 (1)

  1. pwd : print working directory 현재 위치 확인
    pwd

    /Users/username

  2. mkdir : make directories 새로운 폴더 생성
    mkdir helloworld

    별도의 출력 없이 새로운 폴더 생성

  3. ls : 특정 폴더에 포함된 파일 & 폴더 확인
    ls

    ls -a     // all : 숨어있는 파일과 폴더 포함해서 출력
    ls -l     // 폴더나 파일의 포맷까지 표현
    ls -al    // a, l 모두 적용(순서 상관 X)

    출력이 d로 시작하면 폴더, -로 시작하면 파일

  4. cd : change directory 특정 폴더에 진입
    cd hello    // hello 폴더로 이동    
    cd ..       // 현재 폴더의 상위 폴더로 이동

    /Users/username/directoryname

  5. touch : 파일 생성
    touch hi.txt

    별도의 출력 없이 새로운 파일 생성

  6. echo : echo 뒤의 내용을 출력
    echo hello

    hello

  7. > : 실행 결과를 파일로 저장
    echo hello > hi.txt

    'hello'를 hi.txt에 저장.

  8. cat : 파일의 내용을 터미널에 출력
    cat hi.txt

    hello


📀 명령어 (2)

  1. rm : remove 파일/폴더를 휴지통을 거치지 않고 바로 삭제
    rm filename    //  특정 파일 삭제
    rm -rf foldername  // 특정 폴더 삭제

    별도의 출력 없이 파일/폴더 삭제

  2. mv : move 폴더/파일 이름 변경, 위치 이동
    mv a.txt folder_b   //  a.txt를 folder_b로 이동
    mv a.txt z.txt  // a.txt를 z.txt로 파일 이름 변경
  3. cp : copy 폴더/파일 복사
    cp a.txt b.txt  // a.txt를 복제하여 현재 디렉토리에 b.txt를 생성. 
    cp -rf bye hi  // bye폴더를 복제하여 현재 디렉토리에 hi폴더를 생성. 

경로 / 관리자 권한

운영체제에는 사용자와 관리자가 있다.

  • 사용자 : PC를 켜서 바탕화면에 진입하기 위해 로그인하는 계정.
  • 관리자 : 사용자가 접근할 수 없는 영역에 접근할 수 있는 높은 권한을 가짐.

💿 절대경로 / 상대경로

  • 절대 경로
    명령어 pwd로 확인할 수 있음. 기준점으로 부터 절대적이 위치를 나타내며, 기준점을 루트폴더/ 라고 함.
    특정 폴더/파일이 루트 폴더로 부터 어떤 폴더로 진입해야 찾을 수 있는지 나타냄.
    /Users/[username]/aa/bb/cc
  • 상대 경로
    특정 폴더/파일의 위치를 현재 위치를 기준점으로 표현.
    현재 폴더는 .으로, 상위 폴더는 ..으로 나타냄.
    pwd                       // 현재 디렉토리 출력
    /Users/[username]/aa/bb   // 현재 디렉토리 bb
    cd ./cc                   // 하위 폴더 cc로 진입
    pwd                       // 현재 디렉토리 출력
    /Users/[username]/aa/bb/cc
    cd ../                    // 상위 폴더(bb)로 진입
  • 사용자 폴더의 경로(Path) ~
    ~는 루트폴더/로부터 사용자 폴더(username)까지의 경로를 축약한 형태.

💿 관리자(root) 권한

  • sudo :일시적 관리자 명령 획득
    mkdir justMkdir    // 사용자 폴더 생성
    sudo mkdir sudoMkdir   // 관리자 폴더 생성 명령
    password:   // 관리자 암호 입력 후 생성됨

💿 사용 권한

왼쪽 초록 박스 내부에 drw------, drwr-xr-x 라고 출력된 것을 볼 수 있다.

  • 1번째 자리는 d - 두 종류이다. d는 directory -는 not directory. 즉. 폴더와 파일을 구분한다.
  • 이어지는 rwx 는 각각 read permission, write permission, execute permission으로 읽기 권한, 쓰기 권한, 실행 권한을 나타낸다.
  • rwx 가 3번 반복 : 사용자 / 그룹 / 나머지

    User : 파일의 소유자.
    기본적으로 파일을 만든 사람이 소유자가 됨.
    Group : 그룹에 속한 모든 user는 파일에 대한 동일한 group 액세스 권한을 가짐. 파일에 group 권한을 할당할 수 있음.
    Other : 파일에 대한 액세스 권한이 있는 다른 user. 파일을 만들지 않은 다른 모든 user를 의미.
    other 권한을 설정하면, 해당 권한을 global 권한 설정이라고 볼 수도 있음.

💿 chmod 권한 변경 명령어

명령어 chmod를 이용하여 파일의 읽기, 쓰기, 실행 권한을 변경할 수 있다.
사용자=폴더/파일 소유자일 경우 chmod로 권한 변경 가능.
아닐 경우 sudo를 이용하여 권한 변경 가능.

  1. Symbolic method
    액세스 클래스, 연산자, 액세스 타입으로 구분.

    명령어 chmod 뒤에 변경할 권한을 입력

    chmod g+x filename     // 그룹 실행 권한 부여
    chmod o-r filename     // 나머지 읽기 권한 제거
    chmod a=rw hello.java  // -rw-rw-rw- 로 설정 
  2. Absolute form
    숫자 7까지 나타내는 3 bits의 합으로 표기. r=4 w=2 x=1
    사용자/그룹 또는 다른 사용자/그룹마다 rwx가 나타나고, 각 영역의 boolean 값으로 표기

    chmod 744 hello.java     // -rwxr--r-- 로 설정

0개의 댓글