박봉달의 개발생활

[프로그래밍:서버] UNIX #1 : 유닉스 파일 조작 본문

IT/UNIX

[프로그래밍:서버] UNIX #1 : 유닉스 파일 조작

박봉달 2020. 12. 30. 11:06
728x90

안녕하세요!

박봉달입니다!

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

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

오늘은 유닉스(Unix) 파일 조작에 대해서 알아보도록 하겠습니다!


1. 파일 링크

* 하드 링크

- 기존 파일에 붙인 새로운 이름

- 생성하고자 하는 파일이 파일인지 디렉토리인지 확인해야한다. 디렉토리의 경우 ln 명령어를 사용할 수 없다!

- 형식 : ln 기존 파일명 링크 파일명

 

* comm 명령어

comm[옵션] 파일명 1 파일명 2 : 두 파일의 내용을 행단위로 비교시 사용
-1 : 두 대를 비교하되 파일 1에만 있는 것은 출력 안함
-2 : 두 대를 비교하되 파일 2에만 있는 것은 출력 안함
-3 :두 대를 비교하여 모두 존재하는 것은 출력 안함

 

* 파일 시스템

- 파일 = 파일명 + inode + 테이블 블록

- 하드링크 : 파일명과 inode 사이의 연결 정보

- 파일 내용은 같은 수 있으나 inode 는 동일할 수 없다!

- ln 명령어로 하드 링크를 만들었을 시에는 동일한 inode를 갖는다!

* cmp_text 파일의 내용을 확인

* lncmo_text 파일의 내용을 확인

* ls -i를 이용하여 각 파일의 inode를 확인

cat cmp_text // 파일 내용 확인 -> cat
cat lncmo_text
ls -i  // 파일의 inode 확인

 

* >> 명령어

- A >> B 일시, A를 작동한 결과를 B에 추가

ls -i >> lncmo_test
cat cmp_text // 원본 결과 확인

 

* 하드링크를 삭제할 시

- 하드링크를 삭제하면 원본 파일의 하드링크 수만 1 감소하는 현상이 발생

- 원본 파일과 하드링크 모두 파일의 동일한 inode 번호와 연결되어있기에 둘 중 남은 이름을 이용하여 파일을 조작하는 것이 가능

- 삭제 명령어 : rm 파일명


* 심볼릭 링크

- 윈도우 바로가기 아이콘처럼 기존 파일을 가리키는 새로운 이름

- 원본과 다른 inode 번호를 가진다

- 심볼릭 링크는 디렉토리를 가리키기 위한 새로운 이름 생성이 가능!

- 형식 : ln -s 기존 파일명 링크 파일명
- 파일명 표시 : slntest -> test 형식
- 원본과 다른 inode를 가짐!

 

* 심볼릭 링크 slntext.txt파일을 생성 후 연결된 원본 파일을 삭제할 시

- 파일이 삭제된다면 파일을 조작할 수 없다

rm text.txt
ls -l

cat slntext.txt
cannot open slntext.txt

2. 파일 이름 및 수정시각 변경

* touch 명령어

* 형식 : touch[-acm] [-r re_file | -t time] 파일명
* 옵션
a : 접근 시각만 변경
c : 지정된 파일이 없는 경우 새로 생성 안함
m : 수정 시각만 변경
-r re_file : 시각을 파일에서 읽음
-t MMDDhhmm : 시각을 직접 입력

- t [[CC]YY]MMDDhhmm[.ss] : 변경할 시간 지정 가능

CC

연도의 첫 두자리

DD

날짜 (0-31)

YY

연도의 마지막 두자리

hh

시간(00-23)

MM

달 (0-12)

mm

분(00-59)


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

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

 

728x90
반응형