Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unix system #7

Open
lukasjhan opened this issue Feb 17, 2024 · 2 comments
Open

Unix system #7

lukasjhan opened this issue Feb 17, 2024 · 2 comments

Comments

@lukasjhan
Copy link
Member

unix system

  • POSIX
    POSIX (Portable Operating System Interface)는 UNIX 운영 체제에 대한 IEEE의 표준입니다. 이는 다양한 UNIX 시스템 간의 호환성을 보장하여 소프트웨어가 다른 시스템에서도 동일하게 작동할 수 있도록 합니다.

  • Everything is file
    image
    unix에서는 모든 것들을 파일로 취급합니다. 디렉토리도, 바로가기도, 소켓도, 심지어 장치와 프로세스까지 파일로 취급합니다.
    하드디스크는 블록장치파일이며 키보드는 캐릭터장치 파일이다.

  • Boot process
    image

Init 프로세스
init 프로세스는 UNIX 시스템에서 부팅 후에 가장 먼저 시작되는 프로세스다. PID(Process ID)가 1번인 이 프로세스는 시스템의 다른 모든 프로세스의 부모 프로세스 역할을 합니다. 시스템이 부팅될 때, init은 시스템 설정 파일(예: /etc/inittab 파일)에 정의된 대로 서비스와 프로그램들을 시작하며, 운영 체제의 다양한 실행 레벨(run levels)을 관리합니다. 실행 레벨은 시스템의 특정 상태, 예를 들어 멀티유저 모드, 그래픽 모드, 유지 보수 모드 등을 의미한다

fork
UNIX에서 fork 시스템 호출은 새로운 프로세스를 생성하는 기본적인 메커니즘입니다. fork를 호출하면, 현재 실행 중인 프로세스(부모 프로세스)의 정확한 복사본(자식 프로세스)을 생성합니다. 이 복사본은 메모리 상태, 프로세스의 실행 컨텍스트, 파일 디스크립터 등 부모 프로세스의 거의 모든 것을 포함합니다. 그러나, 자식 프로세스는 새로운 고유한 프로세스 ID(PID)를 가집니다.

  • fs(/, /etc /usr /dev)
    image

유닉스의 시스템 디렉토리 구조는 다음과 같습니다.
/bin: 바이너리 파일
/boot: 부팅 파일
/etc: 시스템 설정 파일
/usr: 사용하면서 설치되는 소프트웨어, 라이브러리, 헤더파일
/var: 시스템 데이터파일: lock 정보 파일, 로그 파일, 부팅 후 자동 실행 파일
/tmp: 임시 파일
/dev: 장치 파일
/home: 유저의 홈 디렉토리
/root: root유저(시스템 관리자)의 home 디렉토리

  • commands (ls, cat, head, tail, cd, find)
    ls는 디렉토리 내용을 나열
    cat은 파일 내용을 출력
    cd는 디렉토리를 변경
    head 파일의 앞부분을 출력
    tail 파일의 뒷부분을 출력
    find 파일을 검색
    rm 파일을 삭제
    mkdir 디렉터리 생성
    rmdir 디렉토리 삭제
    cp 파일 복사
    mv 파일 이동

  • permission (rwx rwx)
    파일이나 디렉토리에 대한 사용자의 접근 권한을 나타냅니다. rwx는 각각 읽기(read), 쓰기(write), 실행(execute) 권한을 의미하며, 파일 소유자, 그룹, 그 외 사용자에 대한 권한을 설정합니다.

rwxrwxrwx/ rw-rw-r-- 와 같이 생겼다.

**ls -l 명령어를 이용하여 각 파일의 권한을 확인할 수 있다. **

예를 들어 cd명령어는 d(디렉토리)파일에 x(실행)명령어가 있어야 가능하며 rm명령어는 디렉토리에 w(쓰기)권한이 있어야 가능하다.
ls명령어는 디렉토리에 읽기 권한이 있어야한다.

umask
image
시스템은 파일이나 디렉토리를 생성할 때 umask값을 사용하여 파일의 기본 권한을 셋팅합니다.

  • link (hard link, soft link)
    하드 링크는 파일의 또 다른 이름을 생성하지만, 원본 파일과 동일한 데이터를 가리킵니다. ln 명령으로 생성
    심볼릭 링크(소프트 링크)는 파일 또는 디렉토리를 가리키는 경로나 단축 경로를 생성합니다. ln -s 명령으로 생성

  • multi user (su)
    유닉스는 싱글유저모드와 멀티 유저모드를 지원한다. su 명령어는 다른 사용자로 로그인하는 데 사용된다.

  • what is sudo
    sudo는 "superuser do"의 약자로, 일반 사용자가 관리자(루트) 권한으로 명령을 실행할 수 있게 해주는 명령어입니다. 이를 통해 시스템 관리 작업을 보다 안전하게 수행할 수 있다. sudo를 사용하려면 sudoer 그룹에 유저가 등록되어 있어야 가능하다.

@lukasjhan
Copy link
Member Author

@yunseorim1116

@yunseorim1116
Copy link
Member

정리 감사합니다 ! 굿굿!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants