박봉달의 개발생활

[프로그래밍:서버] UNIX #3 : 유닉스 디렉토리의 개요 본문

IT/UNIX

[프로그래밍:서버] UNIX #3 : 유닉스 디렉토리의 개요

박봉달 2021. 1. 4. 17:29
728x90

 

안녕하세요!

박봉달입니다!

 

유닉스는 특히 서버에 많이 쓰이는 운영체제입니다

우리가 많이 쓰는 윈도우와는 다른 방식으로 구성되어있는데요,

오늘은 유닉스(Unix) 디렉터리의 개요 에 대해서 알아보도록 하겠습니다!

 


 

1. 유닉스 디렉토리의 개요

* 디렉터리 계층 구조

- 트리 구조 : 리눅스에서 파일의 효율적 관리를 위해 계층적 구성

- 모든 디렉터리의 출발점 : 루트(root), 디렉터리로, 빗금으로 표시

- / : 최상위 디렉토리

- . : 현재 디렉토리

- .. : 나의 상위 디렉토리

 

 

 

- 서브 디렉터리 (하위) : 최상단 루트 디렉터리(/) 아래의 디렉터리 (etc, usr, home)

- 부모 디렉터리 (상위) : 서브 디렉터리 위에 자신을 포함하고 있는 디렉터리 ('..'으로 표시)

 

ls -F  // 서브 디렉터리
/ : 디렉터리
@ : 심볼릭 링크

 

* 디렉터리 주요 기능

 

* 작업 디렉터리

- 현재 사용중인 디렉터리를 작겁 디렉터리 또는 현재 디렉터리라고 함

- 현재 디렉터리 : '.' 기호로 표시

- 현재 디렉터리 위치 : pwd 명령으로 확인

 

* 홈 디렉터리

- 각 사용자에게 할당된 디렉터리로 처음 사용자 계정을 만들때 지정

- 사용자는 자신의 홈 디렉터리 아래 파일이나 서브 디렉터리 생성하며 작업 가능

- 홈 디렉터리는 '~'로 표시 : ~user1

 

* 절대 경로

- 경로명 : 파일 시스템에서 디렉토리 계층 구조에 있는 특정 파일이나 디렉터리의 위치 표시 (구분자 : /)

- 절대 경로명 : 항상 루트 (/) 디렉터리부터 시작

- 루트 디렉터리부터 시작하여 특정 파일이나 디렉터리의 위치까지 이동하면서 거치게 되는 모든 중간 디렉터리의 이름을 표시

- 특정 위치를 가리키는 절대 경로명은 항상 동일

 

* 상대 경로

- 현재 디렉터리를 기준으로 시작

- / 이외의 문자로 시작

- 현재 디렉터리를 기준으로 서브 디렉터리로 내려가면 그냥 서브 디렉터리 명을 추가

- 상위 디렉터리로 가려면 '..' 를 추가

- 상대 경로명은 현재 디렉터리가 어디냐에 따라 다름

 

* 디렉터리 내용보기

-a : 숨길 파일 포함하여 모든 파일 목록 출력

-d : 디렉터리 자체의 정보 출력

-i : 첫번째 행에 inode 번호 출력

-l : 파일의상세 정보 출력

-A : .과 .. 를 제외한 모든 파일 정보 출력

-F : 파일의 종류를 표시

-L : 심벌릭 링크 파일의 경우 원본 파일 정보를 출력

-R : 하위 디렉터리 목록까지 출력

 

* 상세한 정보 출력하기 : -l 옵션

 

* ls 명령의 심벌릭 링크 : dir, vdir

- 윈도의 cmd 창에서 사용하는 명령과 동일


 

2. 유닉스 디렉토리 이동/생성/삭제 등

* 디렉토리 이동 명령어 : cd

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

- 디렉토리 지정하지 않을 시 자신의 홈 디렉토리로 이동

- 형식 : cd[디렉터리]

cd cptest
pwd
/export/home/user1/cptest
cd ..
pwd
/export/home/user1

 

* 디렉터리 만들기 : mkdir

- 기능 : 디렉터리를 생성

- 형식 : mkdir [옵션] [디렉터리]

- -p : 하위 디렉터리를 계층적으로 새성시 중간단계의 디렉터리가 없으면 자동으로 생성하여 전체 디렉터리 생성

 

* 디렉터리 삭제하기 : rmdir

- 기능 : 디렉터리를 삭제

- 형식 : rmdir [옵션] [디렉터리]

- -p : 지정한 디렉터리를 삭제하며, 그 디렉터리의 부모 디렉터리가 비었을 경우 그것도 자동 삭제

 

* find 명령어

- 기능 : 디렉토리 내 파일이나 디렉토리를 찾는 명령어

- 단순히 파일 이름 뿐 아니라 파일 모드, 타입, 크기, 마지막으로 접근한 시간 등 여러 조건으로 검색

- 파일이 아닌 디렉토리를 검색하려면 명령어 맨 끄에 "-type d" 라는 옵션 붙여주어야 함

- 루트 디렉토리 아래서 et로 시자가는 모든 디렉토리 찾을 시 find /-name 'et*' -type d

- '/'는 루트 디렉토리 즉 최상위 디렉토리를 의미

- 형식 : find [검색 디렉토리] [옵션] [파일명]

- 옵션 : -iname/-name

-name : 대소문자 구분

-iname : 대소문자 구분 안함

 

* type 명령어

- b : 블록 특수 파일

- c : 캐릭터 특수 파일

- d : 디렉토리

- f : 일반 파일

- l : 심볼릭 링크

- p : 파이프

- s : 소켓

 

* grep 명령어

- 하위 폴더를 포함하여 존재하는 모든 파일에서 원하는 단어를 찾아주는 명령어

- 검색어 내 공백문자 있을 시 " " 사용

- 형식 : grep [옵션] [검색어] [파일명]

-i : 영문의 대소문자 구별 않음

-v : pattern 을 포함하지 않는 라인 출력

-n : 검색 결과의 각 행의 선두에 행번호

-l : 파일명만 출력

-c : 패턴과 일치하는 라인의 개수만 출력

-r : 하위 디렉토리까지 검색

-A : after n줄까지 검색

-B : before n 줄까지 검색

 


 

이상으로 유닉스 포스팅을 마칩니다!

정리한 내용이 나중에 쓰이길 바라며 포스트를 마칩니다 :)

 

728x90
반응형