리눅스소개 & 기본명령어

박종현·2022년 5월 16일
0

리눅스(CentOS)

목록 보기
1/13

운영체제

리눅스 배포판 종류

  • Redhat Enterprise Linux (RHEL) (상용)
  • CentOS : RHEL의 클론Fedora Linux : Redhat에서 새로운 기능/제품을 테스트하기 위한 용도로 사용
  • CentOS Stream : RHEL과 Fedora의 중간 정도의 포지션

리눅스는 단일 파일시스템 구조를 가짐( / )

리눅스 프롬프트

  • 프롬프트에 $ 기호가 있을 경우 $ : 일반 사용자 권한
  • 프롬프트에 # 기호가 있을 경우 # : 관리자 권한(root)

GUI : Graphical User Interface (그래픽 환경)

CLI : Command Line Interface (명령줄 환경)

TUI : Text User Interface (텍스트 환경)

유닉스 - Unix(Unics)

  • 켄 톰슨, 데니스 리치 - 멀틱스(Multics) 창시

운영체제의 역할

  • 하드웨어(입출력장치, 기억장치, 처리장치(Cental Process Unit))

  • 하드웨어와 사용자 사이애 위치

  • 커널(Kernel) : 운영체제에서 하드웨어 쪽에 닿아있는 부분

  • 인터페이스(Interface) : 사용자가 운영체제를 사용할 수 있도록 되어 있는 구조

    유닉스/리눅스 : 쉘(Shell)

  • 사용자의 어플리케이션 : 사용자가 동작시키는 프로그램

    하드웨어 - 커널 - 쉘 - 응용프로그램

  • 리눅스 : 유닉스의 오픈소스 버전
    - 리누스 토발즈
    - 배포판(Distribution) - 리눅스 커널을 토대로 각자 개발된 개별적인 리눅스 모델

쉘(Shell)을 다루는 방법

  • 리눅스의 구조를 이해
  • 여러가지 경우에 사용하는 명령어
    • 대부분의 명령어들은 파일 형태로 존재
    • 주로 실행 가능한 파일들의 위치 : /usr/bin, /usr/sbin (bin:binary - 기계어 코드)
    • 도움말 참고할 수 있음(manual)
    • 파일형태로 존재하지 않는 명령어도 있음 - 쉘 내장 명령어
  • 쉘의 종류
    • 리눅스의 기본 쉘 : bash(Bourne Again Shell)
    • 유닉스의 기본 쉘 : sh(Borune Shell)
    • 기타 다양한 쉘 종류 : csh(C Shell), ksh(Korn Shell), zsh(Z Shell)

기본 명령어

ls : 파일 디렉토리 목록 확인

  • 주요옵션

  • -l : Long List - 개체의 상세정보 확인

    • drwxr-xr-x. 2 user user 6 Feb 23 21:17 Desktop

    • 대부분의 운영체제에서 사용하는 파일과 관련된 시간정보

      		-  M: Modified (파일의 내용을 수정) A: Access (접근) C: Change (파일의 속성 정보 변경) / Create (생성)
    • -a/-A : 숨김파일 표시 - 리눅스/유닉스의 숨김파일 : 파일의 맨 앞자리를 '.'로 표시(-A일 경우 '.'를 표시하지 않음)

절대경로/상대경로

  • 개체의 디렉토리 구조상 위치를 절대적인 기준에 따라 작성, 절대적인 기준은 최상위 디렉토리(root 디렉터리/)

  • 개체의 기렉토리 구조상 위치를 상대적인 기준(현재위치)에 따라 작성

  • 절대경로, 상대경로 구분방법 - 경로가 /로 시작하면 절대경로, 아니면 상대경로

    * . - 현재 위치, .. - 상위 폴더

  • -F : 각 개체의 유형 표시(파일/디렉토라)
  • -R : Reculsive, 디렉토리 및 디렉터리 하위 디렉터리 내 개체의 정보까지 표시
  • 리눅스 주요 디렉토리
  • bin : /usr/bin = /bin - 실행파일이 존재하는 위치, 일반권한으로 실핼하는 파일들
  • dev : device, 리눅스의 장치파일들이 위치
  • home : 홈 디렉토리, 사용자별로 자신만이 사용할 수 있는 공간
  • proc : 임시 디렉토리, 자동적으로 생성되고 관리되므로 직접수정 권장하지 않음(금지)
  • run : 런타임 데이터가 존재하는 위치
  • tmp :임시 디렉토리, 데이터가 유지되는 임시 디렉토리 /tmp, /var/tmp등을 사용
  • var : 변경 가능한 데이터들이 위치, 데이터는 유지, 로그 데이터가 저장된다 /var/log
  • boot : 부팅(Booting), 즉 시스템을 구동시키기 위해 필요한 정보가 저장
  • etc : 리눅스 시스템 및 응용프로그램의 설정을 저장
  • lib : 라이브러리, 모듈 등이 저장
  • root : root 사용자의 홈 디렉토리(/home/root가 아님)
  • sbin : 시스템 관리작업용 실행파일
  • usr : 프로그램 설치 등 경우에 저장되는 경로

cd : Change Directory - 현재 작업 경로를 변경

  • cd [변경할 경로] : 절대/상대경로 모두 사용가능

  • 옵션/인자(Arguments) 없이 실행할 경우, 현재 사용자의 홈 디렉토리로 이동

  • cd ~ : 홈 디렉토리로 이동

  • cd ~[사용자 이름] : 지정한 사용자의 홈 디렉토리로 이동(root권한)

    	root 사용자 특권을 가지고 있음 - 권한이 없는 개체에도 접근 가능
  • cd - : 이전 경로로 이동

파일 내용 출력 - cat

  • 리다이렉션 : 방향재지정 (>, <, >>)
    - 리눅스에서 명령어를 사용할 때 표준입력, 표준 출력을 사용함(stdin,stdout)
    - 리다이렉션을 사용하여 한 명령어의 실행결과 출력을 다른 명령어로 전달할 경우, 명령어의 결과를 저장할 파일이 생성되고, 명령을 두번 실행하여야 함
    - 리다이렉션을 사용하여 입력 또는 출력의 방향을 변경할 수 있음
    - > : 앞 명령어의 출력을 표준출력(화면)이 아닌 지정한 파일로 출력(Overwrite)
    - < : 앞 명령어에 뒤 파일의 내용을 입력으로 전달
    - >> : 앞 명령어의 출력을 지정한 파일로 출력(Append)
    - 2>: 표준에러의 방향 재지정
    - 표준 출력 : 화면에 출력되는 내용(stdout)
    - 표준 입력 : 키보드로 입력하는 내용(stdin)
    - 표준 에러 : 명령어에서 발생한 에러(stderr)

  • 파이프라인(Pipeline) : |
    - 파이프라인을 사용할 경우 앞 명령의 실행 결과 출력을 뒤 명령의 입력으로 전달 가능
    - 파이프라인 사용시 파일이 생성될 필요가 없음

  • /dev/null : 데이터를 리다이렉션을 통해 버릴 수 있는 특수 장치 파일

  • dev/zero : 끊임없이 0 데이터를 출력하는 특수 장치파일

    	$ls -l /root > rootlist2 2> /dev/null - 에러를 dev/null로 리다이렉트 그러나 이 디렉터리에는 어떤 데이터가 들어가도 내용을 확인해보면 아무것도 출력되지 않음.*
  • -more : 텍스트 데이터를 페이지 단위로 출력

  • -less : more와 유사하나 Page Up/Down키 사용가능, 맨 아래까지 출력 후 정지, q 눌러서 종료가능

  • -head : 위에서 지정된 줄까지 출력

  • -tail : 끝에서 지정뒨 위치까지 출력

  • -f : 변경된 내용을 지속적으로 출력하도록

그 외 명령어

  • date : 현재 날짜, 시간정보 확인
  • id : uid(시스템에서 사용자를 식별하기 위한 일련변호), 소속되어 있는 그룹정보 출력
  • w : 현재 접속된 사용자 정보를 출력, CPU 사용량 등 부가 정보를 함꼐 출력
  • who : 현재 접속된 사용자 정보를 간략히 출력(이름, 접속시간, 접속경로)
  • whoami : 현재 로그인 된 사용자 이름 반환
  • uname : 시스템 정보 출력(-a : 전체 정보 출력, -r : 커널 정보)
  • wc : 파일의 글자수, 단어수, 줄 수 출력, 출력옵션을 통해 개별 항목 출력 가능: -l(줄수), -w(단어수), -c(글자수)

참고사항

  1. 따옴표의 용도

    • Single Quotation (‘ ’) : 문자열을 감싸는 용도
    • Double Quotation (“ “) : 문자열을 감싸는 용도
    • Back Quotation : 명령어의 실행 결과를 반환
  2. 이스케이프 문자 \

    • 특수한 기능을 가진 메타문자를 문자로 치환
    • \n, \c, \r ...

0개의 댓글