디렉토리 : 유닉스 운영체제에서는 폴더를 디렉토리라고 부른다. 디렉토리라는 용어에 익숙해지도록 하자.
유닉스 디렉토리 구조
- 최상위 파일 안에는 여러 디렉토리와 파일이 존재한다.
- 디렉토리 안에 디렉토리가 있을 때 안에있는 디렉토리를 하위 또는 자식 디렉토리라고 한다.
- 바깥에 있는 디렉토리를 상위 또는 부모 디렉토리라고 한다.
root 최상위 디렉토리
루트 디렉토리는 유닉스 파일 시스템의 최상위 디렉토리로, 모든 파일과 디렉토리의 시작점이다. /로 표시되며, 시스템의 모든 파일과 디렉토리가 이 안에 위치한다
HOME 디렉토리
홈 디렉토리는 각 사용자의 개인 파일과 설정을 저장하는 디렉토리이다. /home 아래에 각 사용자의 이름으로 된 디렉토리가 생성되며, 사용자의 개인 파일이 여기에 저장된다. 사용자의 개인 파일들은 사용자 홈 디렉토리 안에 있고 컴퓨터에 설치된 프로그램이나 컴퓨터에 일반적으로 필요한 파일들은 홈 디렉토리 바깥에 존재한다.
사용자의 홈 디렉토리
개인컴퓨터엔 사용자가 하나일 테니지만 공유 컴퓨터엔 사용자 계정이 여러개 있을 수도 있다. 사용자마다 홈 디렉토리가 주어진다. 홈 디렉토리에는 각종문서나 바탕화면 파일, 다운로드 파일 등이 있다. ~로 표시한다. 특정 사용자의 home 디렉토리 까지의 경로를 줄여서 쓴 것이다.
파일 경로
/usr/bin 를 하나씩 풀어서 해석해보자면 / =root(최상위 폴더)의, usr/ = use폴더의, bin/ = bin폴더 라는 뜻이다.
taeho라는 사용자로 로그인 되어 있다면 home 디렉토리는 /home/taeho 라고 쓸 수 있고, 줄여서 ~로 표기할 수 있다. 만약 태호가 아닌 다른 사용자의 홈 디렉토리라도 ~로 표기되지만 문자열로 표기한다면 /home/codeit 이라고 할 수 있다. 그리고 줄여서 쓴 디렉토리 뒤에도 붙여서 사용할 수 있다.
/home/taeho = ~
~/Documents = /home/taeho/Documents
~/Document/Projects = /home/taeho/Documents/Projects
절대경로
- 디렉토리가 위치한 곳을 나타내는 가장 디테일하고 정확한 주소
- 현재 위치해 있는 곳과 상관없이 늘 같은 의미 가짐
상대경로
- 디렉토리가 위치한 곳을 현재 위치(워킹 디렉토리)를 기준으로 설명하는 것
- 현재 위치에 따라 동일한 표현도 다른 의미로 사용 가능
- 본인의 위치 : .
- 부모의 위치(한 단계 위) : ..
- 홈 : ~
$ cd ./Documents/Projects/Javascript
사실 상대경로를 사용할 때 앞에 ./는 안써줘도 된다.
경로가 /(루트)로 시작하지 않으면 자동으로 상대 경로로 인식하기 때문이다.
$ cd Documents/Projects/Javascript
$ cd Documents/Projects/Javascript
에 위치해 있는데 Projects 안에 HTML 디렉토리로 이동하고 싶다면
$ cd ../HTML
혹은
$ cd ..
$ cd HTML
이렇게 이동할 수 있다.
$ cd Documents/Projects/Javascript
에서 Document의 형제 디렉토리인 Pictures 디렉토리로 이동하고 싶다면
$ cd ../../../Pictures
이렇게 이동해도 되지만 이럴땐 절대경로를 적는게 좀 더 쉽고 직관적이다.
$ cd ~/Pictures
홈에서 Pictures로 이동한다는 뜻이다.
+여담
만약 파일 / 디렉토리 이름에 공백이 있으면 어떻게 해야할까?
$ cd hello world
$ ls hello world
hello world가 두개의 아규먼트로 인식되기 때문에 실행했을때 오류가 난다. 이럴 때 해결방법은
1. '작은 따옴표' 사용
2. "큰 따옴표" 사용
3. \ 역슬래시 사용
$ cd 'hello world'
$ cd "hello world"
$ cd hello\ world
***파일이나 디렉토리 이름에는 애초에 공백을 사용하지 않는게 바람직하다.
이유? 공백이 들어가게 되면 커맨드를 입력할 때 쉽게 실수할 수 있고, 커맨드가 제대로 작동하도록 따로 신경을 써줘야 하기 때문이다. 공백 대신 _ 같은 기호를 사용하자.
'코린이 개념잡기 > 유닉스 커맨드' 카테고리의 다른 글
디렉토리와 파일 생성하기 (0) | 2024.12.07 |
---|---|
필수 디렉토리 (1) | 2024.12.07 |
🔊명령어 (0) | 2024.12.07 |
아규먼트(argument) 와 옵션(option) (0) | 2024.12.04 |
터미널과 shell (1) | 2024.12.04 |