We are Architect

3. 디렉터리와 파일 그리고 명령어까지..(2) 본문

운영체제/Linux

3. 디렉터리와 파일 그리고 명령어까지..(2)

the best infra 2024. 11. 21. 14:30

 

* 파일 링크란?

- 기존 파일에 새로운 접근 경로를 추가하는. 두 가지 종류가 존재.

- 심볼릭 링크:

  - 원본 파일에 링크를 다는 것.

  - 바탕화면에 바로가기 기능.

  - 링크에 연결되어 있는 경로가 달라지면 오류가 남.

  - 원본 파일을 포인터로 찍고 있으며 * i-node의 번호가 다르다.

  - 심볼릭 링크 파일과 원본 파일은 완전히 다른 파일.

  - 원본 파일을 수정하면 심볼릭 링크 파일도 수정되지만 반대의 경우는 링크 정보만 변경.

- 하드 링크:

  - * i-node 번호가 똑같아 진다.

  - 링크가 걸린 파일의 정보를 그대로 담고 있다. 그래서 백업 용으로 많이 사용된다. 

  - 데이터 블록의 위치를 그대로 갖고 있다. 

  - 하드 링크를 수정하든 원본 링크를 수정하든 둘 다 바뀐다. 

  - 파일 시스템에 종속적이어서 같은 하드디스크에 존재해야 한다. 둘 다 똑같은 테이블을 공유하기 때문. 

- CP & 하드 링크 & 심볼릭 링크 의 차이점

  - CP(copy, 복사한 파일): *i-node의 번호가 다름. 아예 다른 파일 -> 독립적

  - 심볼릭 링크: *i-node의 번호가 다름. 그러나 원본 파일에 의존적. -> 종속적

  - 하드 링크:  *i-node의 번호가 같음. 완전히 같은 파일 ->  종속적, 독립적

기능/특징 CP (Copy) 하드 링크 심볼릭 링크
i-node 번호 다름 같음 다름
수정 시 동작 서로 영향 없음. 둘 다 수정됨 원본 파일 수정 시 반영됨
원본 파일 삭제 시 영향 없음. 영향 없음 (데이터 유지) 링크 깨짐.
독립성 독립적. 파일 내용이 독립적이지 않음 링크 파일 자체는 독립적
종속성 없음. 원본과 동일 데이터 공유 원본 파일 경로에 의존

 

* i-node: 리눅스와 유닉스 계열 파일 시스템에서 파일이나 디렉터리의 메타데이터를 저장하는 자료구조. 저장공간.

 

 

* touch 명령어

- 빈 파일을 만들거나 수정 시간 변경할 때 사용. 

- touch [파일이름]

 

 

* grep 명령어

- 특정 파일에서 특정 행을 검색하는 명령어. 

- 패턴을 검색.

- 윈도우에서 ctrl + f (찾기 단축키)와 동일.

- 대/소문자 둘 다 검색 시에는 grep -i 옵션 사용.

- grep -l : 특정패턴을 포함하는 파일의 이름만 출력. 

# 현재 디렉터리에서 .sl 로 끝나는 dhcp 문자가 들어가는 파일을 찾아 달라는 뜻.
grep -l dhcp ./*.sl

 

 

* find 명령어 

- 어떤 단어가 들어가는 파일이나 디렉터리를 찾는데 사용하는 명령어. 

# find [검색할 디렉터리] [조건] [실행할 작업]
find /path/to/search -name "filename.txt"

 

 

* find 과 grep의 차이점

- find 명령어: 파일 및 디렉터리를 조건에 따라 찾음.

- grep 명령어: 파일 내용에서 특정 단어 또는 행을 찾음.

 

 

* where is 명령어

- 특정 명령어의 실행파일(binary), 소스코드, 매뉴얼(man page) 위치를 알려준다.

- 시스템 디렉터리(/bin, /sbin, /usr/bin, /usr/local/bin 등)에서 해당 파일을 검색

whereis ls

ls: /bin/ls /usr/share/man/man1/ls.1.gz

 

 

* which 명령어

- 특정 명령어의 실행파일(binary) 경로를 출력.

- 환경변수 디렉터리에 포함된 실행 가능한 바이너리만 출력 

which ls

/bin/ls

 

'운영체제 > Linux' 카테고리의 다른 글

6. 프로세스 관리  (0) 2024.11.24
5. 쉘(Shell)  (0) 2024.11.23
4. 문서 편집기  (0) 2024.11.21
2. 디렉터리와 파일 그리고 명령어까지..  (10) 2024.11.13
1. 리눅스 란?  (0) 2024.11.03