Gom3rye

Linux 본문

현대 오토에버 클라우드 스쿨

Linux

Gom3rye 2025. 5. 20. 11:23

파일 시스템

디렉토리 관련 명령어

rmdir [옵션] [디렉토리]

디렉토리 삭제

  • 옵션은 p가 있는데 이는 지정한 디렉토리를 삭제하고 그 디렉토리의 부모 디렉토리가 빈 디렉토리일 경우 부모 디렉토리도 자동으로 삭제하는 것이다.
  • ex. linux_ex 디렉토리 생성하고 그 안에 one, two, three 디렉토리를 한 번에 생성
  • **mkdir linux_ex cd linux_ex mkdir one two three**
  • ex. one/tmp/text 디렉토리를 한번에 생성
  • **mkdir -p one/tmp/text # p옵션이 있어야 빈 디렉토리까지 한번에 만들 수 있다.**
  • ex. two와 three 디렉토리를 삭제
  • **cd linux_ex rmdir two three**
  • ex. one/temp/text의 one 디렉토리를 삭제
  • **rm -r one # 내부의 파일이나 디렉토리가 있으므로 옵션 줘야 한다.**

파일 관련 명령어

cat [옵션] [파일]

파일 내용 출력

  • -n : 라인 번호를 같이 출력
  • ex. /etc/hosts 파일의 내용을 출력
  • **cat /etc/hosts**

more [옵션] [파일]

파일의 내용을 화면 단위로 출력

  • 옵션은 + 행번호 형태로 설정해서 시작할 행 번호를 설정
  • 화면 출력 후 Enter를 누르면 한 행씩 이동하고 spacebar를 누르면 화면 단위로 이동
  • ex. /etc/services 파일의 내용을 출력
  • **more /etc/services**

less [파일]

지나간 화면은 볼 수 없는 more의 단점을 보완한 화면 단위 출력 명령어

  • 화면 이동키는 vi 편집기와 동일하다.
    • j: 한 행 아래로
    • k: 한 행 위로
    • spacebar: 다음 화면으로
    • CTRL + b: 이전 화면으로
    • tcp 검색: /tcp
    • n을 눌러서 다음 내용으로 이동
    • q명령으로 종료

tail [옵션] [파일]

파일의 내용 뒷 부분을 출력

  • 옵션
    • +행번호: 지정한 행부터 끝까지 출력
    • 숫자: 화면에 출력 행의 수를 지저(기본은 10)
    • f: 파일 출력을 종료하지 않고 주기적으로 계속 출력
  • ex. /etc/services 파일의 하단 10줄을 출력: more /etc/services
  • **tail -10 /etc/services**
  • f 옵션을 이용하면 종료되지 않고 계속 출력 대기 중인데 이 옵션을 사용하는 경우는 로그를 확인할 때 사용한다. 새로운 내용이 추가될 때마다 화면에 출력되기 때문에 로깅에서는 매우 유용한 옵션이다.

cp [옵션] [파일1이나 디렉토리 1] [파일 2이나 디렉토리 2]

파일이나 폴더 복사

  • 파일을 복사하는 명령
  • 옵션
    • i: 파일2가 존재하는 경우 덮어씌울지 물어보는 옵션 (왠만하면 i옵션 주는 게 났다.)
    • r: 디렉토리 복사
  • 일반적인 복사: /etc/hosts 파일을 text1 파일로 복사
  • **cp -i /etc/hosts text1**
  • temp 디렉토리로 복사
  • **cp -i text1 temp ls temp**
  • 새로운 이름으로 복사
  • **cp -i text1 temp/text2**
  • 여러 개의 파일을 특정 디렉토리로 복사 → 마지막이 디렉토리여야 한다.
  • **cp -i /etc/hosts /etc/services temp**
  • 디렉토리 복사 → -r을 써야 한다.
    • 기존에 존재하는 디렉토리에 복사하게 되면 하위 디렉토리로 만들어진다. ex. temp 디렉토리가 있는데 위의 명령어를 한 번 더 하면 temp2 안에 temp 디렉토리가 또 복사된다.
  • **cp -r temp temp2**

mv [옵션] [파일1이나 디렉토리1] [파일2나 디렉토리 2]

파일 이동 or 이름 변경

  • 옵션
    • -i : 이미 존재하는 경우 덮어씌울지 묻는 대화상자가 나온다.
  • ex.
  • **mv text1 data1 # text1 파일 이름을 data1 로 변경 mv res temp # res 파일을 temp 디렉토리로 이동**
  • 여러 파일을 이동시킬 수 있는데 마지막 인자는 디렉토리여야 한다.
  • **mv temp/data1 temp/data2 . # temp의 data1, 2를 현재 디렉토리로 이동**

파일이나 디렉토리를 삭제하는 명령 : rm [옵션] [파일 또는 디렉토리]

  • 옵션
    • i: 대화형으로 삭제
    • r: 디렉토리 삭제

연습 문제

  • test.org 파일을 test.txt로 복사
  • **cp test.org test.txt**
  • backup 디렉토리 생성
  • **mkdir backup**
  • test.txt 파일을 backup 디렉토리로 복사
  • **cp test.txt backup**
  • backup 디렉토리의 이름을 work로 변경
  • **mv backup work**
  • rmdir 명령으로 work 디렉토리 삭제 시도?
  • **rmdir work**
  • rm 명령으로 work 디렉토리 삭제
  • **rm -r work**

파일 링크

  • 기존 파일에 새로운 이름을 붙이는 것
  • 복잡한 디렉토리 계층 구조를 포함하여 파일명이 복잡해지는 경우 짧게 줄인 다른 이름을 붙여서 간단하게 사용할 때 유용하다.
  • 종류
    • 하드 링크: 기존 파일에 새로운 파일이름을 추가로 생성
    • 심볼릭 링크: 원본 파일을 가리키는 새로운 파일을 만드는 것
  • 리눅스의 파일 시스템은 하나의 파일을 보관할 때 파일이름 + i-node + 데이터 블록으로 구성해서 보관한다.
  • i-node는 외부에서 볼 때는 번호로 표시되지만 내부적으로는 파일의 종류와 크기, 소유자, 파일 변경 시간, 파일 이름 등 파일 상세 정보와 데이터 블록 주소가 저장되어 있다.
    • 확인 방법: ls -i
    • i-node 번호가 같으면 두 개의 파일은 같은 파일이다.

ln [옵션] [원본 파일] [링크 파일]

하드 링크 만들기

  • 옵션은 -s 인데 -s를 사용하면 심볼릭 링크 생성
  • ex. data1 파일에 대한 data1.ln 이라는 하드 링크 생성
  • **ln data1 data1.ln**
  • ex. data1 파일을 data1.cp로 복사
  • **cp data1 data1.cp**

파일 접근 권한 관리

파일 속성

  • 리눅스는 기본적으로 다중 사용자 시스템이므로 여러 명의 사용자가 같은 시스템에서 작업을 수행한다.
  • 사용자의 시스템에 마음대로 접근할 수 없도록 보안 기능을 제공한다.
  • 파일의 접근 권한은 파일이 가지고 있는 속성 중 하나이다.
  • ls -l 로 접근 권한을 확인할 수 있다.
      • : 일반 파일, d : 디렉토리
    • rw-r--r-- : 파일을 읽고 쓸 수 있는 권한
    • 1 : 하드 링크의 개수 (하드링크가 2 이상인 경우는 현재 파일을 지워도 내용은 다른 이름으로 남아 있다.)
    • root : 파일 소유자의 로그인 ID
    • root : 파일이 속한 그룹
    • 221 : 파일의 크기
    • 날짜 및 시간 : 파일이 마지막으로 수정된 날짜
    • /etc/hosts : 파일 이름
  • 파일 접근 권한
    • 종류는 읽기, 쓰기, 실행 권한

파일 디렉토리

읽기 파일을 읽거나 복사 가능 ls 명령으로 디렉토리 목록을 볼 수 있다.
쓰기 파일을 수정, 이동, 삭제 가능  
디렉토리에 쓰기 권한 필요 파일을 생성하거나 삭제할 수 있다.  
실행 파일을 실행할 수 있음  
셸 스크립트 파일, 실행 파일 cd 명령을 쓸 수 있음  
파일이나 디렉토리로 이동하거나 복사할 수 있다.    
  • 권한 표기 방법
    • 읽기는 r, 쓰기는 w, 실행은 x로 표기 권한 없음은 -로 표기
    • 사용자 카테고리가 3개이고 권한이 3개라서 9개의 문자로 표현한다.
    • 소유자, 그룹, 기타 사용자 권한 순으로 3개씩 3개씩 3개씩

chmod [옵션] 파일이나 디렉토리

접근 권한 변경 명령어

  • 옵션 -R : 디렉토리인 경우 하위 디렉토리까지 적용
  • 사용자 카테고리 문자
    • u : 소유자(user)
    • g : 그룹(group)
    • o : 기타(other)
    • a : 전체(all)
  • 연산자 기호
      • : 권한 부여
      • : 권한 제거
    • = : 권한 설정
  • 접근 권한 문자
    • r : 읽기
    • w : 쓰기
    • x : 실행
  • ex. 소유자에게 쓰기 권한 부여 : u+w 소유자에게 실행 권한을 취소 : u-x 모든 유저에게 쓰기와 실행 권한 부여 : +wx 소유자에게 읽기와 쓰기 실행 권한 부여 : u = rwx

연습 문제

  • /etc/hosts 파일을 test.txt로 복사
  • **cp /etc/hosts test.txt**
  • 권환 확인 후 소유자의 쓰기 권한 제거
  • **ls -l # -rw-r--r-- 1 kyla kyla 221 May 19 08:13 test.txt chmod u-w test.txt # -r--r--r-- 1 kyla kyla 221 May 19 08:13 test.txt**
  • 그룹에 쓰기와 실행 권한을 부여
  • **chmod g+wx test.txt # -r--rwxr-- 1 kyla kyla 221 May 19 08:13 test.txt**
  • 기타 사용자(other)에게 실행 권한을 부여
  • **chmod o+x test.txt # -r--rwxr-x 1 kyla kyla 221 May 19 08:13 test.txt**
  • 그룹과 기타 사용자의 실행 권한을 빼기
  • **chmod go-x test.txt # -r--rw-r-- 1 kyla kyla 221 May 19 08:13 test.txt**
  • 숫자 모드로 변경 → 보통 숫자 모드로 많이 권한 변경한다. (연산자로 주는 것보다 더 간편해서)
    • 각각의 권한을 하나의 비트로 보고 1은 권한 부여, 0은 권한 취소로 간주
    • rwx → 111 → 4+2+1 → 7
    • rw_ → 110 → 4+2 → 6
    • __x → 001 → 1
  • test.txt의 모든 사용자에게 읽기 권한 부여
  • **chmod 444 test.txt # -r--r--r-- 1 kyla kyla 221 May 19 08:13 test.txt**
  • test.txt의 그룹 사용자에게 읽기,쓰기,실행 권한을 부여
  • **chmod 474 test.txt # -r--rwxr-- 1 kyla kyla 221 May 19 08:13 test.txt**
  • test.txt의 소유자는 모든 권한을 가지고 그룹, 기타 사용자는 권한 없도록
  • **chmod 700 test.txt # -rwx------ 1 kyla kyla 221 May 19 08:13 test.txt**
728x90
반응형

'현대 오토에버 클라우드 스쿨' 카테고리의 다른 글

리눅스를 활용한 시스템 관리  (1) 2025.05.21
Linux  (0) 2025.05.20
Linux  (0) 2025.05.20
Linux  (0) 2025.05.20
Linux  (0) 2025.05.20