하위 폴더 안에있는 Linux 찾기 폴더


19

480debugerror하위 디렉토리 아래에 중첩 된 디렉토리를 찾으려고합니다 . 정확한 경로를 모르거나 원하는 디렉토리의 철자가 정확한지조차 모릅니다.

주어진 접두사 또는 접미사가있는 디렉토리 (예 : 이름이 "debug"또는 "debug error"인 디렉토리, 알 수없는 접두사 또는 접미 부가있는 디렉토리)를 찾는 Linux 명령이 있습니까?


2
시도 locate(파일 find찾기 ) 또는 (파일 찾기 )를 시도 할 수 있습니다 .
miku

찾기-유형 f-이름 *

3
-type d 가 필요합니다 . f파일 검색
thkala

답변:


16

find 필요한 것입니다 :

$ find -type d -name '*debugerror*'

또는

$ find -type d -name '480debugerror'

폴더 이름이 확실하다면



1
locate -i "480debugerror"

PC에서 인덱싱 된 모든 파일을 나열하는 데이터베이스를 검사합니다. 나는 종종 이와 같은 시나리오를 가지고 있으므로 다음과 같은 검색을 수행합니다.

locate -i "debug" | grep -i "log"

자신의 경로에있는 모든 파일을 발견하는 (관계없이 사건의 [그 -i 수단은 무엇입니까]) "디버그"과 "로그"(당신이 모르는 경우를 | grep수단이 생산 찾아 결과 내에서 검색)

locate over find를 사용하는 것의 장점은 locate는 출력을 훨씬 빠르게 생성한다는 것입니다 (데이터베이스 만 검사하기 때문에). 파일 / 폴더가 색인화되지 않으면 아무것도 찾지 않습니다. (사용할 수있는 데이터베이스를 업데이트하기 위해 sudo updatedb)


slocate설치 한 경우에만 . 일부 생산 환경은 :-(
Zsolt Botykai

사실이지만 옵션을 찾으면 우월하다고 말할 수 있습니다.

1

bash에서

shopt -s nullglob globstar
echo **/*480*/
echo **/*debug*/
echo **/*error*/

이름이 480, 디버그 또는 오류가 포함 된 디렉토리를 재귀 적으로 검색합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.