코딩 기록 저장소

[23-01/유닉스 시스템] 디렉토리 다루기 본문

학교 공부/유닉스 시스템

[23-01/유닉스 시스템] 디렉토리 다루기

KimNang 2023. 4. 22. 18:47

1. 유닉스 파일 시스템

■ 파일

- 관련 있는 정보들의 집합

- 유닉스는 시스템의 모든 정보와 장치를 파일로 관리

 

■ 파일 시스템

- 시스템 내의 파일을 효과적으로 관리하기 위해 계층적으로 구성한 유닉스 시스템의 파일과 디렉토리의 집합

 

파일의 종류

- 일반 파일, 디렉토리 파일, 심볼릭 링크 파일, 장치 파일

 

■ 일반 파일

- 데이터의 저장을 목적으로 하는 파일

 

● 텍스트 파일

- 파일의 내용이 아스키(ASCII)코드로 구성된 파일

- 텍스트 편집기나 cat, more 명령을 이용해 그 내용을 볼 수 있음

● 바이너리 파일

- 내용이 아스키 코드가 아닌 모든 파일

- 지정된 응용 프로그램을 이용하여야 내용을 볼 수 있음

 

■ 디렉토리 파일

- 내용이 다른 파일이나 하위 디렉토리의 이름인 특수 파일

- setuid setgid stickybit

 

■ 심볼릭 링크 파일

- 원본 파일을 가리키는 특수 파일텍스트 파일

 

■ 장치 파일

- 장치를 관리하기 위한 특수 파일

- 데이터를 저장하기 위한 데이터 블록이 없음

- 파일 크기 대신 장치를 구분하기 위한 두 개의 숫자 저장

 

디렉토리 계층 구조

디렉토리 계층 구조

- 홈 디렉토리 : ~

- 현재 디렉토리 : .

- 상위 디렉토리 : ..

- 하위 디렉토리 : 이름

 

절대 경로와 상대 경로

■ 경로

- 파일 시스템에서 특정 파일의 위치

 

● 절대 경로

- 루트 디렉토리를 기준으로 함

- 루트 디렉토리부터 특정 파일까지 가는데 거치는 모든 디렉토리의 이름 표시

- 항상 / 로 시작

● 상대 경로

- 시현재 위치를 기준으로 함

- 하위로 내려갈 때는 디렉토리의 이름을, 상위로 올라갈 때는 .. 추가

- 슬래시 이외의 문자로 시작

- 같은 파일의 상대 경로라도 현재 위치에 따라 달라짐

 

파일과 디렉토리 명명 규칙

■ 유의사항

● 사용 가능

- 알파벳(대소문자 구분), 숫자, 하이픈(-), 밑줄(_), 점(.)

● 사용자제

- 공백( ), *, &,|, ", ', ~, #, $, (, ), \, ;, <, >

- 쓰는 경우 이름을 따옴표로 감싸거나 모든 특수문자 앞에 \를 추가

● 사용불가 : /

 

■ ex)

● 좋은 이름

- C, helloWorld.c, unix, .secrete, sample12

● 나쁜 이름

- *hl, I'am, #77dir, my dir, book\

● 쓸 수 없는 이름

- Mydir/, /test, wrong/name

2. 현재 디렉토리 확인 : pwd

pwd

- 현재 작업 디렉토리의 절대 경로 출력

 

■ 사용법

 

3. 디렉토리 이동 : cd

cd [ 디렉토리명 ]

- 현재 작업 디렉토리를 지정한 디렉토리로 이동

- 디렉토리명을 지정하지 않으면 홈 디렉토리로 이동

- $ ~username /~uswername

 

■ 사용법

 

4. 디렉토리의 파일 목록 확인 : ls

ls [ 옵션 ] [ 파일 또는 디렉토리명 ]

- 파일이나 디렉토리에 대한 정보 출력

 

■ 옵션

옵션 기능
a All. 시스템에 숨겨진 파일을 포함한 모든 파일 목록 출력
l Long. 파일의 상세 정보 출력
d Directory. 지정한 디렉토리 자체의 정보 출력
R Recursive. 하위 디렉토리내의 모든 디렉토리들을 반복 출력
F 파일 종류 표시 (실행 파일: *, 디렉토리: /, 심볼릭링크 : @)
u 파일, 디렉토리 이름을 최종 접근 시간 순으로 화면에 출력

 

■ 사용법

 

5. 디렉토리 생성 : mkdir

mkdir [ 옵션 ] [ 디렉토리명 ]

- 새로운 디렉토리 생성

 

■ 옵션

- -p : 디렉토리 생성에 필요한 하위 디렉토리도 함께 생성

- 알파벳(대소문자 구문), 숫자, 하이픈(-), 밑줄(_), 점(.)

 

■ 사용법

 

6. 디렉토리 삭제 : rmdir

rmdir [ 옵션 ] [ 디렉토리명 ]

- 저장한 디렉토리 삭제

- 디렉토리가 비어있어야 삭제 가능

 

■ 옵션

- -p : 지정한 디렉토리 삭제 후 부모 디렉토리가 비어있으면 삭제

 

■ 사용법