TIL-25.12.01

이준연·2025년 12월 1일

학습 키워드

  • Linux
  • Git

Linux

서버 환경에서 널리 사용되는 컴퓨터 운영체제입니다.

리눅스의 특징

  • 오픈 소스
    • 누구나 무료로 사용할 수 있는 오픈 소스 소프트웨어입니다.
    • 사용자가 자유롭게 수정하고 배포할 수 있어 굉장히 다양한 배포판이 존재합니다.
    • 각 배포판은 서로 다른 목적과 필요에 맞게 최적화 되어 있어, 사용자는 자신에게 가장 적합한 리눅스를 선택할 수 있습니다.

  • 유연성
    • 리눅스는 다양한 목적에 맞게 커스터마이징 할 수 있습니다.(서버 운영, 개발 환경 구축...등)
    • 사용자 인터페이스도 자유롭게 변경할 수 있습니다.(데스크탑 화면, 테마...등)

  • 안정성/보안성
    • 리눅스는 서버 운영에서 매우 안정적이고 신뢰할 수 있는 운영 체제로 알려져 있습니다.
    • 많은 인터넷 서버나 데이터베이스 서버에서 리눅스를 사용합니다.
    • 오픈 소스 특성상 보안 문제가 발생 시 많은 사용자들이 신속하게 문제를 해결합니다.
    • 시스템 로그를 통해 오류의 원인을 정확히 파악하고 해결할 수 있습니다.

  • 다양한 컴퓨터 아키텍처 지원
    • 다양한 하드웨어 아키텍처에서 실행합니다.(개인용 노트북, 컴퓨터...등)

Unix
1969년에 벨 연구소에서 개발된 운영체제로, 간결하고 효울적인 설계 덕분에 많은 시스템의 기반이 되었습니다. 리눅스는 유닉스의 철학과 설계를 계승한 오픈 소스 운영체제라서, 유닉스와의 연관성을 자주 언급하며 그 원칙을 따라 개발되고 있습니다.

커널
운영체제의 핵심 부분으로, 하드웨어와 소프트웨어를 연결하는 역할을 하며, 우리가 컴퓨터 부품을 살 때 찾는 CPU, 메모리, 디스크 등의 자원을 관리합니다.

리눅스 명령어

  • ls

    • list segment의 약자로, 현재 폴더에 있는 파일과 폴더 목록을 보여줍니다.

    • 옵션을 추가하면 각 파일/디렉토리에 존재하는 권한 등을 함께 파악할 수 있습니다.

      -a 옵션: 숨김 처리된 파일이나 디렉토리까지 출력
      
       -l 옵션: 파일이나 디렉토리의 이름과 속성정보까지 같이 출력
      
       -t 옵션: 수정 또는 생성된 시간 순으로 정렬하여 출력
  • cd

    • change directory의 약자로, 디렉토리를 이동하는 명령어입니다. 현재 디렉토리에서 다른 디렉토리로 이동합니다.
  • pwd

    • print working durectory의 약자로, 현재 작업 중인 디렉토리의 경로를 출력합니다.
  • mkdir

    • make directory의 약자로, 새로운 디렉토리를 생성할 때 사용합니다.
  • rm

    • remove의 약자로, 파일 또는 디렉토리를 삭제합니다.
    • r 옵션을 사용하면 디렉토리와 그 안의 내용을 삭제할 수 있습니다.
      rm file_name
       rm -r directory_name 
  • rmdir

    • remove directory의 약자로, 빈 디렉토리를 삭제합니다.
    • 디렉토리가 비어있지 않다면 제거할 수 없습니다.
  • cp

    • copy의 약자로, 파일을 다른 위치로 복사합니다.
    • 복사할 파이로가 파일을 복사할 위치를 같이 작성합니다.
      cp source_file destination_file
  • mv

    • move의 약자로, 파일을 이동하거나 이름을 변경할 때 사용합니다.
  • cat

    • concatenate의 약자로, 파일의 내용을 터미널에 출력합니다.
      cat file_name
  • echo

    • 입력한 문자열을 터미널에 출력할 때 사용합니다.
      echo "Hello World!"
  • apt

    • advanced package toll의 약자로, 패키지 목록을 업데이터하고, 소프트웨어를 설치하거나 관리합니다.
      sudo apt update
       sudo apt install package_name 
  • find

    • 지정된 디렉토리 내에서 파일이나 디렉토리를 검색합니다.
    • 파일 이름, 파일의 수정시간, 파일 크기 등 다양한 조건으로 검색할 수 있습니다.
      find path/to/search -name "filename"
  • locate

    • 시스템의 파일 인덱스 데이터베이스를 사용하여 빠르게 파일을 찾습니다.
      locate filename
  • less

    • 파일의 내용을 보여지는 만큼 읽어서 출력합니다.
    • 대용량 파일을 열어볼 때 빠르게 읽을 수 있습니다.
  • head

    • 파일의 앞 부분을 읽습니다.
    • 앞부분만 빠르게 읽어 내용을 확인할 수 있습니다.
  • tail

    • 파일의 뒷 부분을 읽습니다.
  • vim

    • 텍스트 편집기입니다.
  • df

    • 디스크의 경로와 경로별 사용하는 용량을 조회합니다.
  • du

    • df가 최상위 디렉토리에서 전체 용량을 본다면, du는 개별 경로에서 사용 중인 용량에 대해 조회합니다.

Git

파일 코드의 변경 기록을 저장하고 관리하는 도구로, 여러 사람이 함께 작업할 때 수정 내역을 쉽게 추적하고 협업할 수 있게 도와줍니다.”버전 관리 시스템(Version Control System)”이라고도 불리며, 프로젝트의 모든과정을 안전하게 기록합니다.

GitHub
Git으로 관리한 코드와 프로젝트를 인터넷에 저장하고 공유할 수 있는 웹 서비스로, 다른 사람과 협업 하거나 자신의 작업물을 공개적으로 저장하기에 편리한 공간입니다.

Git 명령어

  • git init
    • 사용자가 편집을 수행하는 디렉토리를 git이 추적하는 디렉토리로 만들겠다는 의미입니다.
  • git add
    • 원격 저장소로 코드를 업로드하는 커밋 작업을 기록할 때까지 변경 사항을 모아놓기 위해서 사용합니다.
  • git status
    • 현재 사용하고 있는 브랜치 확인 및 커밋 상태를 확인할 수 있습니다.
  • git commit
    • 변경 사항에 대한 이력을 저장하는 작업입니다.
  • git diff
    • 커밋 이력에 따른 변경 사항, 브랜치 사이에 변경 사항, 커밋끼리의 비교 등의 변경 작업 차이를 시각적으로 표시해줍니다.
  • git log
    • 커밋 메시지가 어떻게 기록되는지 확인합니다.
  • git reset
    • 특정 커밋 이후의 모든 기록을 삭제합니다.
  • git restore
    • 커밋 전체가 아닌 파일 단위로 변경 사항을 되돌립니다.
  • git revert
    • 특정 커밋의 변경 사항을 취소하는 새 커밋을 생성합니다.

profile
반갑습니다!

0개의 댓글