"test"와 같은 특정 키워드로 시작하는 파일 이름의 inode 번호를 어떻게 찾을 수 있나요?
test, test1, test2라는 이름의 파일이 있다고 가정해 보겠습니다.
답변1
다음을 시도해 보세요(필수 cygwin
또는 유사).
find . -type f -name 'test*' -printf '%p %i\n'
바라보다
man find | less +/'-printf format'
지침:
%p
대표하다파일 경로%i
대표하다아이노드 번호
답변2
이를 수행하기 위해 find를 사용하는 방법에는 여러 가지가 있습니다.
find . -iname 'test*' -type f -exec ls -i {} \;
find
:find 명령
.
: 검색할 디렉터리
-iname 'test*'
: 대소문자에 관계없이 test*와 일치하는 항목 검색
-type f
: 파일만 찾기
-exec ls -i {} \;
: 발견된 각 파일에 대해 ls -i 실행
find . -iname 'test*' -type f -printf '%i %f\n'
find
:find 명령
.
: 검색할 디렉토리
-iname 'test*'
: 대소문자에 관계없이 test*와 일치하는 모든 항목 검색
-type f
: 파일만 찾기
-printf '%i %f\n'
- inode를 인쇄한 다음 파일 이름만 인쇄하고(디렉토리 없음) 각 파일을 줄바꿈으로 구분합니다.
노트:
-iname
대소문자를 구분 하려면-name
바꾸십시오..
현재 작업 디렉터리 외부의 항목을 검색하려면 절대 경로로 바꾸세요.%f
경로를 포함하여 파일 이름 으로 바꿉니다%p
(find 명령에서 상대 경로를 사용하는지 아니면 절대 경로를 사용하는지에 따라 다릅니다).- 디렉토리 내에서 선택하려면 매개변수
-prune
와-depth
- 문자열을 좀 더 구체적으로 지정하여
'test[0-9]'
test0-test9를 모두 찾거나'test[0-9]*'
"test"라는 문자열이 포함된 항목과 한 자리 숫자 및 그 이후의 항목을 찾는 등의 작업을 수행할 수 있습니다.