오픈소스소프트웨어 정리 #02 리눅스 명령어, 계층구조

yuju9·2022년 10월 4일
0

리눅스 기본명령

리눅스 구성 요소

커널

  • 운영체제의 핵심기능 담당
  • CPU, 메모리, 디스크, 네트워크 등 하드웨어와 프로세스 관리

추가 프로그램

  • 문서작성, 게임, 웹브라우저 등 다양한 용도에 사용되는 응용프로그램

'쉘'

  • 사용자가 텍스트 형식으로 명령을 입력할 수 있는 인터페이스 제공
  • 주어진 명령을 실행하여, 명령의 실행 결과를 화면을 통해 보여주는 응용 프로그램

X 윈도우 시스템

  • Linux( 및 Unix) 운영체제에서 GUI (Graphical User Interface) 를 사용할
    수 있게 해주는 응용프로그램

파일, 디렉토리, 계층구조

루트 디렉토리(/)

  • 최상위 디렉토리

절대경로

  • 루트에서 특정 파일에 이르는 디렉토리와 파일명

현재 또는 작업 디렉토리

  • 쉘이 현재 작업중에 위치한 디렉토리
  • 상대경로: 현재 디렉토리에서 시작하여 나타낸 경로

특수 디렉토리

  • . : 현재 디렉토리
  • .. : 부모(상위) 디렉토리

홈 디렉토리

  • 사용자 별로 주어진 디렉토리

디렉토리 관련 명령

  • pwd: 현재 작업중인 디렉토리
  • cd: 현재 디렉토리를 주어진 디렉토리로 변경
    ex. cd / : 루트 디렉토리로 현재 디렉토리를 변경
    cd, cd ~: 홈 디렉토리로 현재 디렉토리를 변경

ls 명령

  • ls -a : 감춰진 파일을 포함한 디렉토리 내의 모든 파일을 보여줌
  • ls -l: 각 파일의 정보를 상세하게 보여줌

디렉토리 생성 및 삭제

  • mkdir: 주어진 이름의 디렉토리 생성
    • mkdir -p: 부모 디렉토리를 포함하여 다양한 디렉토리 생성
  • rmdir: 주어진 이름의 디렉토리 삭제

파일 명령

Linux 파일

  • 파일명은 대소문자 구분
  • 모든 것은 파일로 간주하여 처리 가능
    • 디렉토리도 파일의 한 종류
    • 하드웨어 장치도 파일처럼 다룰 수 있음

파일 관리 명령

  • file : 파일의 종류를 알려줌
  • touch: 파일의 시간 속성 변경 및 존재하지 않는 파일에 대해서는 비어있는 파일 생성
    - touch -t: 파일의 시간 속성 변경
    ex. touch -t 202001010301 file1
  • rm : 파일 삭제
    • rm -i : 대화형으로 사용자에게 묻고 파일 삭제 수행
    • rm -rf: -r은 하위 디렉토리도 삭제. -f는 디렉토리 내에 파일이 존재하더라도 삭제.
  • cp: 파일 복사
    • cp -r : 재귀적으로 하위 디렉토리 및 그 안의 파일들도 복사
    • cp -i : 대화형으로 복사 실행
  • mv: 파일 이동, 파일 이름 바꾸기
  • rename: 정규식을 사용하여 파일 이름 변경 가능

파일 내용 보기 명령

  • head : 텍스트 파일의 앞 일부 라인 보여줌
  • tail: 텍스트 파일의 끝 일부 라인 보여줌
  • cat: 파일의 전체 내용을 표준출력에 출력함
  • more, less: 파일의 내용을 화면 크기 단위로 보여줌

Linux 파일 시스템 계층구조

Linux 파일 시스템

  • Linux는 '/'로 표시되는 루트 디렉토리 (root를 최상위로 하는 트리 형의 계층적 구조를 가지는 파일시스템을 사용)
  • 디렉토리 자체도 파일의 한 종류
  • 리눅스는 시스템의 '모든 것'이 '파일 형태'로 접근 가능

바이너리 디렉토리들

실행 가능한 바이너리(기계어 명령들 ex. cat, mv) 파일들을 유지하는 디렉토리들

/bin

  • 모든 사용자들이 사용하는 바이너리 파일 포함

/sbin

  • 시스템 설정에 사용하는 바이너리 파일들을 주로 포함
  • 프로그램 실행을 위해선 root 권한이 필요한 경우多

/lib

  • 바이너리 파일들이 사용하는 라이브러리 파일들이 존재

/opt

  • 선택적인 (optional) 소프트웨어들이 주로 설치되는 곳

시스템 설정 관련 디렉토리들

/boot

  • 컴퓨터를 부팅하기 위한 파일들을 포함

/etc

  • 시스템 설정관련 파일들 포함
  • etc/skel/

데이터 디렉토리들

/home

  • 각 사용자의 홈디렉토리가 /home 의 서브디렉토리로 생성됨

/root

  • root 사용자의 홈디렉토리

/srv

  • cvs, rsync, ftp, www 관련 데이터 디렉토리

/media

  • 탈부착이 가능한 저장장치를 위한 디렉토리

/mnt

  • 임시로 사용되는 파일시스템의 마운트(물리적인 장치를 특정 위치에 연결시켜 주는것) 위치

/tmp

  • 임시로 사용하는 파일들을 저장하기 위한 디렉토리
  • 시스템이 재시동하면 자동 삭제

메모리상에 만 존재하는 디렉토리들

저장장치에 기록되지 않고 시스템 동작시에만 존재하는 디렉토리들

/dev

  • 커널에 의해 인식된 하드웨어들을 파일처럼 보여주는 디렉토리
  • 물리적인 하드웨어 장치의 유형별로 파일 이름 부여
  • /dev/tty 또는 /dev/pts: GUI 상의 터미널 또는 콘솔에게 부여되는 파일들
  • /dev/null: 이 파일에 추가되는 모든 데이터는 곧바로 사라짐

/proc

  • 동작중인 CPU 및 프로세스 관련 정보 보여줌
  • 파일들의 크기는 0이나 cat 명령을 수행하면 관련된 정보를 보여줌
    ex. cat /proc/cpuinfo

/sys

  • 동작중인 리눅스 Kernel관련 정보를 파일 형태로 제공하는 디렉토리

/Usr 디렉토리

  • usr은 Unix System Resources를 의미
  • 리눅스의 공유 데이터 파일들을 주로 포함

/usr/bin

리눅스 명령에 해당하는 프로그램들

/usr/include/

C 프로그램을 위한 헤더 (header) 파일들

/usr/lib/

라이브러리 파일들

/usr/local/

전통적으로 Linux(또는 Unix) 운영체제의 일부가 아닌 자체적으로 개발한 프로그램들을 설치하던 디렉토리

/usr/share/

특정 하드웨어와 관계없는 읽기 전용의 파일들이 위치

/usr/src/

커널 소스 파일들이 위치함

/var 디렉토리

  • 다양한 크기의 log, cache, spool 데이터 파일들이 위치하는 곳
  • 프로그램별로 서브디렉토리를 가지는 경우가 흔하다

/var/log/

  • 프로그램 동작시 로그 메시지들을 저장하는 곳
  • Debian (Ubuntu 포함 계열은 /var/log/syslog 파일에 시스템 로그가 저장

/var/spool/

프린터 또는 Email 과 같이 비동기 작업을 위해 데이터 파일을 임시 저장하는 디렉토리

/var/lib/

응용프로그램별로 자신의 상태 정보를 기록하는 용도로 사용하는 디렉토리

/var/lock/

파일에 대한 동시접근을 제어하기 위한 잠금 파일들이 위치하는 디렉토리

0개의 댓글