#1. 파일 및 디렉토리

1. 파일 및 디렉토리 개념

1) 파일의 개념

  • 파일의 확장자가 무의미 하고 파일의 정보로 종류가 결정된다.
  • 파일시스템, 장치명(하드디스크, usb등), 디렉토리 등 모든 것이 파일로 취급되어 운영된다.
    • 텍스트파일(ASCII파일): vi 편집기로 편집이 가능 (json, html, txt 등등)
    • 디렉토리: 윈도우 운영체제에서 폴더와 같은 역할
    • 링크파일: 윈도우 운영체제의 바로가기 아이콘과 유사한 개념
    • 시스템파일: 바이너리 파일, 문자 파일, 파이프 파일, 장치 파일
  • 파일명의 대소문자를 구분하기 때문에 주의를 기울여야 한다.
    • 윈도우에서는 대소문자를 구분하지 않기 때문에 에러가 안나지만 상용화 단계에서는 에러가 나기 때문에 구분해줘야 한다.

 

2) 디렉토리의 개념

  • 계층적 디렉토리 구조

  • 디렉토리 관련 용어
용어 설명
root 디렉토리
(root Directory)
계층적 디렉토리 구조의 최상위 디렉토리, 슬래쉬 ( / ) 로 표현
현재 작업 디렉토리
(Current Working Directory)
현재 작업중인 디렉토리로 쉘 프롬프트에 표시, 점 ( .) 으로 표현
절대 경로
(Absolute Path)
root 디렉토리를 기준으로 표현하는 방식. ex) /home/chanco
상대 경로
(Relative Path)
현재 작업 디렉토리를 기준으로 표현하는 방식. ex) ./home/chanco
상위 디렉토리 계층 구조상 현재 작업 디렉토리의 위쪽. 점 두개로 표현. ex) ../
홈 디렉토리 사용자의 기본 디렉토리로 로그인 시 현재 작업 디렉토리가 홈 디렉토리이다.
물결 ~ 로 표현

 

3) 기본 명령어

- 이전에 작성한 포스팅 내용 중 macOS 명령어 참조

https://chan-co.tistory.com/7

 

기본 명령어 / 확장자

#1. 기본 명령어 1. 명령어(Instruction)란? 컴퓨터에서 특정한 작업을 수행하기 위한 해석기의 역할을 하는 컴퓨터 프로그래밍이다. 일반적으로 명령어는 셸과 같은 명령 줄 인터페이스의 하나이다.

chan-co.tistory.com

 

2. 파일 및 디렉토리 기본 명령어

1) cd (Change Directory)

  • 현재 작업 디렉토리를 변경한다.
  • 상대 경로와 절대 경로를 사용하여 변경한다.
# 절대 경로로 이동
cd /home/chanco

# 상대 경로로 이동
cd ../home/chanco

# 현재 작업 디렉토리 위치와 상관없이 홈 디렉토리로 이동
cd + Enter
cd ~

 

2) pwd (Print Working Directory)

  • 현재 작업 디렉토리를 절대 패스로 화면에 출력한다.

 

3) ls (List)

  • 디렉토리명을 생략할 경우 현재 위치한 디렉토리의 파일 목록을 표시한다.

ls
옵션 없음 간략하게 보기
-l 자세하기 보기
-a 숨김파일 보기 (숨김파일은 .으로 시작한다)
-al 숨김파일까지 자세히 보기

 

※ ls -al을 통해 디렉토리 내의 모든 파일 목록 상세 보기

1. 파일종류

명령 설명
- 텍스트 파일 (ASCII 파일)
d 디렉토리
l 링크 파일
c 문자형 입출력 파일
b 바이너리 파일
p 파이프 파일

2. 접근 권한

명령 숫자 설명
r (Read) 4 읽기 권한
w (Write) 2 쓰기 권한
x (eXecute) 1 실행 권한
- 0 권한 없음

3. 링크 수

4. 소유자

5. 소유그룹

6. 파일크기

7. 마지막 수정일시

8. 파일 및 숨김 파일들 (숨김파일은 이름 앞에 .으로 시작)

 

4) mkdir (Make Directory) / rmdir (Remove Directory)

  • mkdir은 디렉토리 생성 명령어이다.
  • rmdir은 디렉토리 삭제 명령어이다.
    • 삭제하고자 하는 디렉토리 안에 다른 파일이나 디렉토리가 존재하지 않아야만 대상을 삭제할 수 있다.

 

5) cp (Copy) / rm (Remove) / mv (Move)

명령어 설명
cp 파일 복사
rm 파일 삭제
mv 파일이나 디렉토리 이동

 

6) ln (Link)

  • 두 개의 파일을 연결해 놓고, 두 개의 파일을 마치 하나의 파일처럼 사용하는 것
  • ls -al 명령어로 확인 했을 때 3번에 해당한다.

- 하드 링크(Hard Link)

  • 두 개의 파일이 물리적으로 연결
  • 두 개의 파일이 별도로 저장공간을 차지한다
ln file1 file2

 

- 심볼릭 링크(Symbolic Link)

  • 두 개의 파일이 심볼로 연결
  • 두 개의 파일이 하나의 저장공간을 사용한다.
ln -s file1 file2
  • 원본과 심볼릭 링크 파일의 내용이 동일하다. (심볼릭 링크 파일을 편집하면 원본도 같이 수정된다. 마치 옅은 복사 느낌)

 

7) file

- 파일의 종류를 표시

file 대상파일경로(혹은 파일경로패턴)

현재 디렉토리 내에서 확장자가 "txt"인 모든 파일의 종류 확인
/home/chanco 경로의 종류 확인

 

8) find

- 파일 찾기

 find 검색시작위치 -name "파일명패턴"
  • 검색 시작위치를 " / " 로 지정할 경우 컴퓨터 전체 디렉토리에서 검색한다.

/home 디렉토리 내에서 "*.txt" 패턴을 갖는 파일 찾기

 

- 검색 후 파일 삭제

 find 검색시작위치 -name "파일명패턴" -delete

현재 사용자 홈 디렉토리에서 slink.txt 파일을 찾아서 지우기

 

9) 디스크 / 디렉토리 용량 확인 명령어

- 디스크 용량 확인 명령어

명령어 설명
df 현재 디스크의 남은 용량을 표시함
df -k Kbyte 단위로 남은 용량 확인
df -m Mbyte 단위로 남은 용량 확인
df -h 보기 편하게 나온다 (용량에 단위가 적용)
df . 현재 디렉토리가 포함된 파티션의 남은 용량을 표시함

 

- 디렉토리 용량 확인 명령어

명령어 설명
du 현재 디렉토리의 사용량을 표시함
du -a 현재 디렉토리의 사용량을 파일 단위로 표시함 (모든 하위 파일이 출력)
du -s 현재 디렉토리의 총 사용량을 확인 (현재 폴더에 대한 한 줄만 출력)
du -h 보기 편하게 나온다 (용량에 단위가 적용)
du -sh * 현재 디렉토리의 한 단계 서브 디렉토리 항목(*)들에 대해서만 사용량을 보여준다.

du
du -h

 

du -sh *

 

'국비수업 > Linux' 카테고리의 다른 글

[Linux] 파일 다운로드, 압축하기  (0) 2022.07.20
[Linux] 사용자 및 그룹 관리  (0) 2022.07.20
[Linux] vi 편집기  (0) 2022.07.18
[Linux] Linux(Ubuntu) 시스템 사용하기  (0) 2022.07.18
[Linux] Linux(Ubuntu) 설치하기  (0) 2022.07.15

+ Recent posts