컴퓨터공학 공부

컴퓨터공학 공부 다시 시작하기 18주차-하드링크와 소프트링크 이해하기, 리눅스 패키지 시스템과 우분투 이해하기, VI 에디터 이해하기(시스템 소프트웨어)

개발학생 2025. 3. 17. 19:41
반응형

1. 하드링크와 소프트링크 이해하기

  • cp 명령(파일 복사): 1MB 사이즈의 A 파일을 B 파일로 복사
    -> cp A B -> A와 B는 각각 물리적으로 10MB 파일로 저장
# 하위폴더 포함 복사하기
cp -rf * 폴더
  • 하드 링크(In A B): A와 B는 같은 inode를 공유하는 동일한 10MB 파일을 가리키며,
    동일한 파일을 가진 이름을 하나 더 만든 것일 뿐 전체 파일 용량은 달라지지 않음
    -> 원본 파일이 삭제되어도 다른 하드 링크는 그대로 유지됨.
  • 소프트/심볼릭 링크(In -s A B): 원본 파일을 가리키는 별도 파일을 가리키며, ls - al 명령어로 확인 가능
    -> Windoew OS의 바로가기와 동일하며, 원본 파일이 삭제되면 소프트 링크는 깨짐(Broken Link).
    => rm A로 A를 삭제한다면 B는 해당 파일 접근 불가 
  • inode: 파일의 메타데이터(파일 크기, 권한, 소유자, 생성 시간 등)를 저장하는 데이터 구조.

 

하드 링크/소프트 링크 그리고 inode

2. 리눅스 패키지 시스템과 우분투 이해하기

ubuntu 배포판

  • ubuntu의 의미: 남아프리카 부족 언어로 '네가 있으니 나도 있다'는 의미
  • 데미안 배포판(apt프로그램으로 소프트웨어 설치/업데이트를 간편하게 한 패키지)을 기반으로 캐노니컬 사가 개발
  • 우분투 데스크탑 배포판(X 윈도우 기반, GUI 환경 기본 제공)과 우분투 서버 배포판의 두 가지 기본 배포판 제공
    -> 단기 지원하는 일반 버전과 장기(5년)  지원하는 LTS(Long Term Support) 버전으로 나눠 발표

ubuntu 패키지 관리자

  • RedHat 계열(CentOS, Fedora 등)은 RPM 패키징 시스템을 사용하는 반면,
  • ubuntu와 같은 데비안 계열 배포판은 deb 패키징 시스템 사용
  • 패키지와 패키지 정보를 저장하고 있는 패키지 저장소라는 개념을 갖고 있음
  • 소프트웨어 패치/추가 등 정보 관리
  • 우분투 사용자가 패키지 관리자를 통해 패키지 저장소에 접근하면, 소프트웨어 변경사항을 알려주고 업데이트/다운로드 등을 지원

ubuntu 패키지 관리 실무

  • ubuntu 패키지 인덱스 정보 업데이트(배포판 버전에 따른 패키지 업데이트 버전 정보 등)
# sudo apt-get update
  • 새 패키지 설치
# sudo apt-get install 패키지명
  • 패키지 삭제(설정파일 제외)
# sudo apt-get remove 패키지명
  • 패키지 삭제(설정파일 포함)
# sudo apt-get --purge remove 패키지명

리눅스 운영 시 주의사항

  • 패키지는 설치 후 삭제해도 정상 삭제가 안 되는 경우가 다수
    -> 설정 파일/남겨진 파일들을 일일이 삭제해줘야 함
  • 프로그램 업데이트는 신중하게: 다른 프로그램과 함꼐 동작 시 정상 동작하지 않을 수 있음
  • 가능한 남들이 가장 많이 쓰는 프로그램 버전과 조합 사용
    -> 이슈가 생겨도 구글링을 통해 쉽게 해결 가능 

3. VI 에디터 이해하기

VIM 에디터 이해 및 설치

  • Vi는  전통적인 유닉스 에디터인 Visual Editor의 줄임말이고,
    VIM은 Vi에 자동화/시각화 메뉴 등을 추가한 프로그램으로 Vi Improved의 앞 글자를 빼내어 만든 이름
  • VIM 외에 이맥스(Emacs)라는 유명한 에디터가 있음 
  • 리눅스 설치(윈도우/맥 환경일 경우 https://sourceforge.net/projects/vim/에서 설치
# sudo apt-get install vim

VIM 네 가지 모드 

  • 일반 모드: 처음 vim을 실행 시 혹은 입력/명령 모드에서 ESC 입력 시 실행되는, 찾기/커서 이동이 가능한 모드
  • 명령 모드: 일반 모드에서 입력 시 실행되는, 저장/파일읽기/vim 설정이 가능한 모드
  • 입력(편집) 모드: 일반 모드에서 a 또는 i 또는 o키 입력 시 실행되는, 내용 입력이 가능한 모드
  • Visual 모드: 일반 모드에서 v키 입력 시 실행되는, 블럭 복사/붙이기가 가능한 모드 
반응형