반응형

OS(Operating System)

  • 컴퓨터의 성능을 높이고, 사용자에게 편의성을 제공을 목적으로 컴퓨터 하드웨어를 관리하는 프로그램
  • 사용자와 컴퓨터 간의 인터페이스 역할을 하는 시스템 소프트웨어
  • 어플리케이션과 하드웨어 사이에서 하드웨어와 어플리케이션을 관리하는 인터페이스적인 역할을 함. 

종류 

- window

- maxOS

- Linux

- RreeBSD

- SOLARIS

- SunCobalt

- redhat

 

Linux System

  • 1991년 핀란드 헬싱키 대학의 리누스 토르발스가 취미로 만든 운영체제
  • 리눅스 커널을 사용하는 운영체제
  • Linux : Linus' *nix(리누스의 유닉스)
  • 소스코드가 공개된 대표적인 오픈 소스 소프트웨어
  • 모바일 운영체제 안드로이드의 기반으로 사용
  • 수많은 개발자들이 오픈소스를 가지고 활동중 

특징

  • Multi-User, Multi-Tasking
  • 다양하고 뛰어난 네트워크 환경 및 파일씨스템 지원
  • 유연성과 확장성, 안정성, 보안성
  • 우수한 가격대 성능비 : PC급 서버에서 Enterprise급 성능
  • 다양한 응용프로그램 제공
  • - 셀(Shell)과 기본 명령어 지원, X Window 시스템, 편집기 등등
  • 다양한 배포판이 있음 (도움을 받을 수 있는 - 유료)

Architecture

위로 올라갈수록 밑을 제어, 관리한다고 생각

Shell

  • 명령어나 유틸리티, 프로그램을 실행할 때 사용하는 인터페이스를 제공하는 프로그램
  • 커널과 사용자 사이에서 명령어를 해석하여 전달
  • 쉘 자체 프로그래밍 기능이 있음
  • 사용자 환경 설정 기능을 제공
  • sh, bash, csh 등등 (사용하는 문법도 다 다름)
  • CLI(Command line interface)
  • 쉘 확인 echo shell -> echo : 확인한다는 명령어

Linux Directory Structure

/(root)

/bin : Essential User Binaries

/dev : Device Files

/etc : Configuration Files

/home : User's Home Directories

/lib : Essential Shared Libraries

/usr : User Binaries

/var : Variable Cache/lock/lib/spool/mail

 

Client, Server

  • 서버에 클라이언트가 접속하여 필요한 작업을 수행 (서버는 24시간 수행)
  • 서버에 로그인하여 명령을 실행하기 위해서는 응용프로그램 필요 
  • 프로토콜

- ssh/telnet

- http/https

-ftp/sftp

-smtp

-pop3/imap

-nntp

 

Shell Commands

ls : 현재 디렉터리에 있는 파일과 디렉터리 목록확인

ls -a : 현재 디렉터리에서 숨겨진 파일과 디렉터리 목록 확인(all)

ls -l : 현재 디렉터리에서 파일과 디렉터리 목록을 자세히 확인(long)

ls -al: ls -a와 ls -l를 합친 명령어

ls -R : 자세히 출력

pwd : 현재 작업중인 경로 출력(절대경로)

cd : 원하는 디렉터리로 이동

mkdir :  새로운 디렉터리 생성

rmdir : 디렉터리 삭제

 

Path 

절대경로 

  • 루트 디렉터리로 시작하여 원하는 디렉터리까지 경로를 기술
  • 현재 위치와는 상관없음.

상대경로 

  • 현재 위치를 기준으로 원하는 디렉터리를 기술하는 방식
  • ./ : 현재 디렉터리를 의미
  • ../ : 상위 디렉터리를 의미

Command

cat

  cat [옵션] [파일명]
      옵션
        -n        : 모든 라인 앞에 라인 번호 출력. (빈 라인도 번호 출력)
        -b        : 비어 있지 않은 라인에만 번호 출력
        -E        : 라인의 마지막에 $ 기호 출력. (빈 라인도 $ 기호 출력)
        -T        : 탭 문자를 ^I로 바꿔서 출력
        -s        : 두 번 이상 연속된 빈 라인(empty line) 출력 안함
        -v        : 탭(TAB)과 줄바꿈(LFD)을 제외한 nonprinting 문자를 ^, M-를 사용하여 표시
        -e        : -vE와 결과 같음. 줄바꿈(LFD)을 포함한 nonprinting 문자 표시
        -t        : -vT와 결과 같음. 탭(TAB)을 포함한 nonprinting 문자 표시
        -A        : -vET와 같음. 탭(TAB), 줄바꿈(LFD)을 포함한 nonprinting 문자 표시

 

rm

  • 파일이나 디렉터리를 삭제하는 명령어
  • 삭제 후 취소하는 명령어가 없음.
  • rmdir 디렉터리에 하위폴더나 파일이 없을 때 삭제하는 명령어
  • 디렉터리내에 하위폴더나 파일을 모두 삭제 : rm -rf

ln

  • 리눅스 파일 시스템에서 파일 링크를 만드는 명령어
  • Hard link : 파일의 I-node를 공유해서 사용 - ln [원본] [링크이름]
  • Symbolic link : window의 바로가기와 같은 링크 - ln -s [원본] [링크이름]

IO Redirection

표준스트림을 다른 경로로 재지정

> : 파일에 작성

>> : 파일에 추가

2>&1 : stderr를 stdout으로 재지정할 때 사용

cat > 파일이름 : 파일에 작성하고 나서 ctrl + d 누르면 저장

 

Pipe | 

프로세스나 프로그램의 결과를 다른 프로그램으로 넘겨줄 때 사용

cat -n (앞에 번호 출력)

앞에서 사용한 결과물을 뒤에 명령어의 입력값으로 넘겨줌. 

ex) 

cat -n data.txt | grep Hello 

|가 cat-n data.txt를 grep 명령어에 입력값으로 넘겨줌. 

 

 

Ownership, Permission

리눅스에서는 파일과 디렉터리에 대해 소유권가 허가권을 설정할 수 있음

소유권 - 소유자와 소유그룹 설정

허가권 - read/write/execute

- rwxrw-r--

rwx : 소유자의 권한

rw- : 소유그룹의 권한

r-- : 사용자의 권한

 

chmod 

파일이나 디렉터리의 permission 변경

-rw-rw-r-- -> rwxr-xrw-

Absolute mode : 숫자로 설정

chmod 756 list.txt

 

Symbolic mode : u/g/o/a, +/-/=

chmod u+x list.txt

chmod g-w+x list.txt

chmod o+w list.txt

 

umask 

새로 만들어진 파일 또는 디렉터리의 권한을 어떻게 설정할 지 제어하는 마스크 설정

파일의 기본허가권 : 666, rw-rw-rw-

디렉터리의 기본 허가권 : 777, rwxrwxrwx

뒤에 3자리가 umask

touch : 빈 파일 생성 touch [파일명]

chown, chgrp 

시스템 관리자를 위한 명령어

chown : 파일이나 디렉터리 소유자 및 소유그룹 변경

- chown user:group filename(or directory) : 파일에 대하여 소유자와 소유그룹을 변경

- chown -R user:group directory

chgrp : 파일이나 디렉터리 소유그룹 변경

 

su, sudo 

시스템 관리자를 위한 명령어 

su : 현재 계정에서 다른 사용자로 로그인

  • 로그인하려는 계정의 암호 필요 
  • su : su root
  • su - : 다른 계정 로그인 + 로그인 계정의 쉘 환경 사용

sudo : 슈퍼유저의 보안 권한으로 프로그램을 실행할 수 있게 해주는 명령어

  • sudoers에 등록된 사용자만 사용가능 
  • root의 암호가 아니라 현재 로그인된 암호를 사용하면 됨.
반응형

'2021~2022 > 리눅스' 카테고리의 다른 글

Make  (0) 2022.04.11
vim 정리  (0) 2022.04.10

+ Recent posts