Linux 6 (FHS)

다원·2023년 1월 9일
0

디렉터리 구조

FHS

: Filesystem Hierarchy system 구조
root로부터 디렉터리가 트리구조로 이루어짐

디렉터리 종류

  • /root: 시스템 관리자인 root의 홈 디렉터리
  • /home: 일반 사용자 홈 디렉터리, 사용자가 파일 등의 작업을 한 뒤 저장 위치 지정하지 않을 경우 자동 저장, 외부와 연결하면 자동으로 연결되는 지점
  • /bin: 시스템 운영을 위한 쉘과 명령어 도구들의 들어있는 곳
    시스템 관리자나 일반 사용자가 실행 할 수 있는 명령어
  • /sbin: 시스템 운영하기 위한 명령어 관리 도구, 백업과 복원 등의 시스템 관리 명령어 일반사용자 접근하지 못하도록 설정 할 필요 있음
  • /lib: 재사용 가능한 프로그램 모듈들이 들어있는 곳, 공유 라이브러리가 존재
  • /usr: 일반 사용자들을 위한 대부분의 프로그램 저장 디렉터리
  • /var: 로그, 웹 등의 외부에서 인터넷 접속 할 수 있는 지점, 업데이트 되는 파일, log 등 저장
  • /boot: 시스템 부팅에 필요한 커널,
  • /etc: 시스템 구성 파일들이 들어있는 곳, 환경 설정 파일들이 존재
  • /lost+found: 시스템 crash, 전원문제로 shutdown 될 경우 system check 의해 복원된 파일들이 있는 곳, fsck 명령어로 복구할 때 사용되는 곳
  • /media: 이동식 저장장치 자동 mount 되는 디렉터리
  • /misc: NFS 디렉터리가 mount되는 디렉터리
  • /src: 서비스 제공 시스템 데이터들이 들어있는 곳
  • /mnt: 원격 디렉터리와 이동용 드라이브의 일시적 마운트에 사용되는 디렉터리
  • /opt: 써드파티(시스템 이외의 장소) 어플리케이션들이 들어있는 곳
    추가 소프트웨어 설치 시 사용
  • /proc: 커널 설정을 보유하고 있는 특수 파일, 가상파일 시스템
    패킷을 포워드 시키는 등 여러 설정 변경 가능
  • /dev: 커널이 제공하는 가상 장치, 시스템에 있는 하드웨어 장치 파일들이 들어있는곳 블록장치들이 들어있음
  • /tmp: 시스템에 의해 주기적으로 삭제되는 임시 파일과 폴더들이 임시 저장되는곳
  • /selinux: SELinux 세팅을 변경하거나 표시하는데 사용되는 특수 파일이 들어있는 가상 파일 시스템, Linux 접속 보안 규정
  • /sys: 핫 플러그인한 장치들을 변경하거나, 표시하는데 사용되는 특수 파일이 들어있는 가상 파일 시스템
  • /tmp: 주기적으로 삭제되는 임시 파일과 폴더 들이 저장되는 곳,
    임시로 파일을 만들고 삭제하는 곳, Sticky bit 권한 설정되어있음
  • /dev/tty0: 첫번째 콘솔 CLI에서의 콘솔
  • /dev/pts0: 첫번째 가상 터미널 GUI에서의 콘솔 에뮬레이터

File system

Linux

file system 종류를 확인 할 수 있음

filesystem 종류

  • ext3: 저널링 기능(디스크의 무결성을 유지) 시스템 로그에 있는 metadata 정보를 가지고 있는 데이터를 사용해서 저장하지 못한 데이터 복원
  • ext4: 64bit 기억 공간 제한 삭제
  • VAT,CIFS: Windows 파일 시스템 vfat_DOs 인식
  • NTFS: Window NT4.0서버와 워크스테이션 사용, 하드디스크 인식하고 압축과 암호를 걸 수 있는 파일 시스템
  • CIFS: Linux에서 인식하는 Windows 폴더의 파일시스템으로 Samba가 이를 사용
  • ISO9660: Linux 인식하는 CD/DVD 표준 파일 시스템
  • BRTFS와 XFS: Centos7부터 디폴트로 사용되는 파일시스템인 XFS와 안정성, 속도,최대 16EB 지원 등을 장점으로 하고 있음

/etc/fstab

자동 마운트 정보, UUID(장치 식별자) 해당 장치를 시스템이 인식해주는 고유 번호

  • UUID: 장치 식별자(UUID를 사용하지 않고 /dev/sdb1으로 작성할 수도 있음)
    • blkid: 장치 식별자 정보를 확인 할 수 있음
    • uuidgen 장치명: UUID 값을 생성
      uuid 생성 시 사용자와 시스템의 값이 다를 경우가 있는데
      일반적으로 사용자가 인식해주는것보다 시스템이 인식해주는 것을 사용
  • /boot: mount point
  • xfs: filesystem
  • defaults: monut option (auto, noauto, ro, rw)
  • 0: backup 0 or 1
  • 0: fsck 검사 후 로딩( 검사x=0, root 검사=1, root 외의 검사=2)

ls

디렉터리 안에 내용
(-a: 숨김파일, -l: 속성파일,-dl: 디렉터리 속성)

  • 디렉터리/파일 속성

    d: 디렉터리, rwx: read, write, execute
  • 권한 앞에 나오는 파일의 종류
  • 파일, d 디렉터리, l 심볼릭 링크, b 블록장치, c 문자장치, s 소켓장치, p 파이프
  • inode: 다른 파일과 연결 수

wild card

파일/디렉터리 선택에서 *(any), ?(one)의 의미

man

명령어에 대한 옵션과 사용법 등의 설명을 확인할 수 있음

Ls(1) : 카테고리

  • 카테고리:
  • 명령어 ? or -help 를 하면 옵션 정보 확인 가능

apropos

카테고리에서 유사한 단어들 출력

whatis

해당 단어가 정확한 것들만 출력

여러 명령어 연속 실행

  • && : 이전 명령어에 오류가 있을 경우 이후 명령어들 오류 미 실행 (and의 의미)
  • ; : 단순 명령어 나열, 이전 명령어에 오류가 있어도 실행
  • ||: 파이프 (or의 의미)

who

whoami

tail

tail -1: 어떤 파일에 대해서 끝에서 1번 짜리 확인

alias

긴 명령어를 별명을 부여하여 하나로 만들어 실행
명령어를 간단하게 사용하기 위해서 만듬

삭제의 경우 unalias

touch

빈파일 생성

해당 프로그램에 라이브버리 의존성

파일 복사 cp

옵션은 arp 를 사용 원본 사본 구문

-f 옵션으로 강제 복사

/dev/null null 파일의 내용이 빈 파일로 복사할 경우 크기0 내용 삭제
/dev/zero 할 경우 zero는 현재 크기를 유지한 채 0으로 덮어 내용이 사라짐
=> shared 명령어와 동일

  • -r: 디렉터리 복사 옵션

파일과 디렉터리 삭제

rm: 빈 디렉터리와 파일 삭제 시 rm 파일, rmdir 디렉터리
내용이 있는 디렉터리는 rm r(하위 디렉터리) 디렉터리
=> rm -rf 파일/디렉터리 삭제

shared

파일을 완전 삭제하고자 할때 실행
shared -u -v /파일명

  • -v: 과정확인
  • -u: 삭제 (해당 옵션 없을 경우 내용이 깨져서 저장됨)

디렉터리 이동

  • cd : 디렉터리 이동
  • pushed: 현재 디렉터리를 잠시 메모리에 이동해두고 다른 디렉터리에서 작업
  • popd: pushed로 작업이 끝나면 현재 디렉터리로 이동하기 위해 사용

디렉터리 생성 mkdir

파일 디렉터리 이동 mv

같은 디렉터리 내에서는 이름 변경, 다른 디렉터리로 갈 때에는 이동 및 이름 변경

확장자 변경 rename

sort

정렬 명령어

  • -r: 역정렬

cat

-n: 번호를 붙여 출력
cat > 파일: 입력하는 내용을 파일에 작성
cat >> 파일:

file

해당 파일의 종류를 보여줌

which

명령어의 저장 위치

리다이렉션

  • 표준 출력, >> 추가의 의미 기존 출력 파일에 대해서 적용하면 겹쳐씀

  • < 표준 입력: 우측의 파일이 좌측으로 입력 << 추가 입력의 의미

.bash

  • .bash_history: 입력했었던 명령어 저장
  • .bash_profile: 시스템에# 로그인할 경우 보이는 환경 저장
  • .bashrc:새 터미널이 실행될 때 마다 보이는 환경 저장, alias 정보도 보유 source 명령어로 실행
  • .bash_logout: 로그아웃 정보를 저장

inode

파일 시스템에서 사용하는 자료 구조
파일/디렉터리에 대해서 내부적으로 시스템이 인식하고 있는 번호

  • uuid: device 구별 식별자, inode: software 구별 식별자

절대경로와 상대경로

절대경로: /로부터 경로 (반드시 /로 시작)

상대경로: 현재 위치로부터의 경로

  • 디렉터리 만들때에는 어떠한 방식을 사용하더라도 상관없음
  • 같은 디렉터리 위치일 경우 수평이동을 할 수 없음(트리구조방식때문)

시스템 환경변수

'$대문자' 구성으로
환경변수 내용은 echo $변수명 확인

숨김 파일과 디렉터리

touch 파일의 경우 빈 파일 생성
숨김파일은 .파일명
ls -a 명령어로 모든 파일을 확인해야 숨김 파일을 확인할 수 있음

링크

원본 파일을 복제하는데 어느 곳에서라도 변경이 있으면 모두 변경이 반영됨
여러 곳에 분산되는 중요한 파일에 링크를 걸어서 분산시켜두면, 한 곳에서의 변경이 모든 파일에 반영되어 변경됨

심볼릭 링크(소프트링크)

: ln -s 원본 복사본
일종의 단축키, 원본을 삭제할 경우 (보안상 취약)

하드링크

원본 복사본, 복사와 유사하지만 변경이 반영되는 점에서 복사와 다름, 경로 지정할 때에는 절대 경로 방식으로 해주어야함

원본 파일을 변경할 경우

소프트 링크 파일 변경할 경우

원본파일을 삭제할 경우

소프트링크된 파일도 삭제됨을 알 수 있음

원본파일명만 동일한 파일 생성

소프트링크는 원본파일명만 같은 파일에 링크됨

소프트링크 내용을보면 동일하게 문제가 됨

profile
공부일지,

0개의 댓글