Linux

리눅스에 대해

개발하는 구름이 2023. 9. 24. 16:05

리눅스 디렉토리 구조와 기능

위치 이름 설명
/ 루트 - 최상위(루트) 디렉토리
디렉토리들의 절대 경로를 표시할 때 이 - 디렉토리로 부터 시작함
/bin 바이너리 - 기본적인 명령어가 저장된 디렉토리
- 리눅스에서 자주 사용하는 mv, cp, rm등과 같은 명령어들이 이 디렉토리에 존재함
/sbin 시스템 바이너리 - 리눅스 시스템 관리용 명령어
- ifconfig, ethtool, halt, e2fsck 와 같은 시스템 명령어들을 저장하고 있는 디렉토리
/usr 유저 - 일반 사용자들이 사용하는 디렉토리
- 애플리케이션이나 유틸리티 설치 디렉토리
/etc   - 설정 파일을 두는 디렉토리
/var - 빠르게 변하는 파일들이나 애플리케이션 데이터
- 기타 모든 다용도로 사용될 수 있는 파일들이 저장되며 로그파일, 데이터베이스 캐싱파일, 웹서버 이미지 파일 등이 위치하는 디렉토리
/tmp 템프 - 임시 파일을 저장하기 위한 디렉토리이다.
- 재부팅 시에 삭제되며, 정기적으로 10일 정도 간격으로 삭제된다.
/proc 프로세스 - '가상파일시스템' 이라고 하는 곳으로 현재 메모리에 존재하는 작업들이 파일 형태로 존재하는 곳
- 프로세스 정보 등 커널 관련 정보가 저장
/sys 시스템 - 디바이스를 관리하기 위한 가상 파일 시스템 디렉토리이다
/root 루트 - 관리자계정 root 사용자의 홈디렉토리
(/ 디렉토리와 다르다. 이건 사용자의 디렉토리)
/home - 일반사용자들의 홈디렉토리가 있는 곳
- 사용자를 추가하면 사용자의 id와 동일한 디렉토리가 이곳에 자동으로 생성
/dev 디바이스 - 시스템 디바이스(장치) 파일을 저장하고 있는 디렉토리
- /dev/sda(하드디스크 장치파일), /dev/cdrom(CD-ROM) 장치파일 등과 같은 장치 파일들이 여기에 위치해있다. 
- 예를 들어 마우스, 키보드 등의 디바이스와 관련된 파일들
- 즉, 물리적 장치가 파일화되어 저장
/boot 부트 - 리눅스의 부팅에 필요한 정보를 가진 파일들이 있는 디렉토리
/lib 라이브러리 - 커널이 필요로 하는 각종 라이브러리 파일, 커널 모듈파일 등이 존재하는 디렉토리
/media 미디어 - DVD, CD-ROM, USB 등의 외부 장치들의 마운트 포인트(연결)로 사용하는 디렉토리
/mnt 마운트 - /media와 비슷한 기능을 한다.

- 다만 차이점은, Media는 OS에서 자동으로 마운팅해주는 포인트로 주로 사용되며 Mnt는 사용자가 직접 마운트하는 경로로 사용된다.

- 예를 들어 컴퓨터에 USB꽂아 OS에 자동으로 마운팅된다면 주로 Media 폴더 내에, 외부에 있는 디스크등을 직접 명령어를 통해 마운트한다면 Mnt 디렉토리에 위치하게 된다.
/opt 옵트 - 추가 응용프로그램 패키지 설치 장소
- 패키지 매니저가 자체적으로 설치/삭제를 수행함
/run - Run-time variavle data를 관리한다.
- 부팅한 후의 시스템 정보를 관리하는 디렉토리이다.

/lost+found 로스트 - 휴지통 같은 개념이라 보면 된다.

 

기본 명령어

👉 리눅스는 기본적으로 cp,mv던 오버라이트 기능이 적용된다.

 

  • 디렉토리 이동 : cd <디렉토리이름>
  • 파일 목록 보기 : ls <옵션> <파일|디렉토리>
    • 옵션 
      • -a : dot(.)로 시작하는 숨겨진 파일까지 모두 출력
      • -l : 파일 / 디렉토리의 자세한 정보
      • -R : 하위 디렉토리까지 모두 출력
      • -d : 디렉토리 내용이 아닌 디렉토리 자체를 출력
  • 현재 작업 디렉토리 보기 : pwd
  • 도움말 보기 : man <옵션> 키워드
    • 옵션 
      • -k : 매뉴얼 목록을 검색
      • -s : [section-number] 입력한 섹션에서 매뉴얼 검색해서 출력
      • space : next page
      • enter : next line
      • b : backward
      • q : quit
    • 사용 예 : $man ls / $man -k delete / $ man -s userdel
  • 디렉토리 생성 : mkdir <옵션><디렉토리_이름>
    • 옵션 
      • -m : 퍼미션 설정
      • -p : 존재하지 않는 parent directories 생성
  • 디렉토리 삭제 : rmdir <옵션><디렉토리_이름> [비어있는 디렉토리만 삭제 가능]
    • 옵션
      • -p : 비어있는 parent directories를 함께 삭제
  • 파일 이동하기 : mv <옵션> 원본파일이름 새이름 [파일의 이름을 바꾸거나 다른 디렉토리로 이동]
    • 옵션 
      • -i : 이름을 바꿀 때 overwirte 할 것인지 질문
      • -f : 이름을 바꿀 때 overwirte 질문없이 무조건 덮어쓰기
  • 파일 삭제하기 : rm <옵션> 파일이름 or 디렉토리 이름
    • 옵션 
      • -i : 파일을 삭제할 때 삭제 여부를 한번 더 질문
      • -f : 파일을 삭제할 때 질문없이 무조건 삭제
      • -r : 하위내용을 포함한 디렉토리를 삭제