본문 바로가기
+ OS/Linux & Unix

[Linux & Unix] i-number(아이노드 번호)를 이용한 파일/디렉토리명 변경 하기

by :: Teacher :: 2019. 8. 14.
728x90
반응형

Linux를 사용하는경우 파일명 혹은 디렉토리가 한글이거나 인코딩문제로 깨진경우 파일을 열거나 디렉토리로 이동이 불가능 하다. 

$ ls -ailt
193052529 drwxr-xr-x 3 root root  48  8월 14 12:12 .
159472457 drwxr-xr-x 5 root root 115  8월 14 12:12 ..
193052531 -rw-r--r-- 1 root root   0  8월 14 12:12 테스트.txt
201357184 drwxr-xr-x 2 root root   6  8월 14 12:12 테테테스트

맨 앞에 있는 Number가 해당 파일 및 디렉토리의 i-number(아이노드 번호) 이다.

그럴 경우 i-number(아이노드 번호)를 이용하여 파일/디렉토리명을 변경하여 사용할 수 있다.

그럼 i-number(아이노드 번호)가 어떤건지 알아보자.

1. i-number(아이노드 번호)

- 유닉스 파일에는 이름(파일명), i-number(유닉스에서 식별)가 있다. 
각 파일의 i-number는 파일명과 함께 디렉토리에 저장되며 유닉스에서는 사용자가 이름으로 지정한 파일을 이 i-number를 통해서 찾아 낸다.

2. 파일/디렉토리 변경

- 이와 같은 명령어를 통해서 아래와 같이 변경할 수 있다. 

$ find . -inum [inode number] -print0 | xargs -0 -I '{}' mv '{}' [변경할 파일/디렉토리명]
$ find . -inum 193052531 -print0 | xargs -0 -I '{}' mv '{}' aa.txt

$ ls -ailt
193052529 drwxr-xr-x 3 root root  41  8월 14 12:15 .
159472457 drwxr-xr-x 5 root root 115  8월 14 12:12 ..
193052531 -rw-r--r-- 1 root root   0  8월 14 12:12 aa.txt
201357184 drwxr-xr-x 2 root root   6  8월 14 12:12 테테테스트
728x90
반응형

댓글


loading