다음은 우리가 사용할 때 활용할 수있는 몇 가지 예입니다. Find, 파일 또는 폴더를 검색하는 명령입니다.
명령에 대한 도움말을 보려면 다음을 실행하십시오.
man find
설명서에서 나가려면 키를 누르십시오. [큐] (모든 매뉴얼에 유효).
다음 예에서 마침표 (.) 찾기 후 (찾기) 프롬프트에 표시된 폴더를 찾고 있음을 의미합니다. / home /과 같은 유효한 경로로 대체 할 수 있습니다.
예 :
패턴이있는 파일을 검색하십시오.
find . -type f -name "*.deb"
/ home / pepe / 찾기 및 복사
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;
Thumbs.db 파일을 찾아 삭제합니다.
find . -type f -name "Thumbs.db" -exec rm -f {} \;
디렉토리에있는 md5 파일로 순수 텍스트 파일을 만듭니다.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt
성가신 .svn 폴더를 삭제하십시오.
find | grep "\.svn$" | xargs rm -fr
한 텍스트를 다른 텍스트로 바꿉니다.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php
최대 하루 전에 업데이트 된 파일을 찾습니다.
find /var/log/[a-z]* \*.sql -mtime +1
DEB 패키지의 md5sums 파일을 생성하려면 :
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums
.txt 이외의 모든 파일을 삭제합니다 (분명히 .txt는 무엇이든 될 수 있음).
찾기. ! -name "* .txt"-exec rm {} \;
대소 문자를 구분하지 않고 검색 :
찾기. -iname«* foobar *»
참고 : -exec 명령은 -iname 매개 변수와 함께 실행할 수 없습니다.
우수 😉이 명령은 'man'에 존재하는 옵션이 검색을 수행 할 수 있다는 사실에 무서워하기 전에 반드시 알아야하지만, 하드 드라이브에서 잊은 것을 찾을 때 얼마나 강력한 지 확인할 수있는 기회를 제공합니다 .😐
찾기는 특히 공백 및 기타 비정상적인 문자를 포함하는 파일 이름을 처리하는 데 유용합니다. 예를 들어, xargs (그런데 -exec보다 훨씬 빠르다)와 함께 find를 사용하고 문제가 해결 될 때까지 디렉토리 세트를 압축 할 수있는 방법이 없다는 것을 한 번 기억합니다.
find 명령에 대해 선호하는 또 다른 용도는 권한을 재귀 적으로 변경하는 것입니다.
find . -type d -print0 | xargs -0 chmod 755
find . -type f -print0 | xargs -0 chmod 644
재미있는 ^ _ ^
차크라 아이콘이 얼마나 멋진 지 hahahahahaha 😀
Mageia의 실종 🙂
그래 맞아 😀
지금 나는이 hehehehe를 기반으로합니다. 감사합니다 🙂
그리고 내 배포판에 대한 ...
고마워요, 명령이 매우 유용합니다. 우분투에서 한 번 find 명령을 사용했음을 기억합니다. find 또는 ...의 별칭입니까?
네거티브 위치, 이동하다 y 위치를 잡다 다른 검색 명령은 발견, 그들은 명령으로 주기적으로 업데이트해야하는 데이터베이스를 사용합니다. 업데이트 됨.
두 유형의 명령 모두 용도가 있습니다. 나는 예를 들어 일반적으로 사용 업데이트 됨 뒤이어 이동하다너무 자주 업데이트되지 않는 많은 데이터 (예 : 저장소의 패키지)가있는 디렉토리에서 빠르게 무언가를 찾고 싶을 때를 찾습니다. 발견 검색 결과를 다른 명령과 결합하는 것과 같이 더 복잡한 작업을 수행하거나 검색 할 디렉토리에 너무 많은 정보가 포함되어 있지 않다는 것을 알고 있기 때문에 데이터베이스를 생성하고 싶지 않을 때.
대단히 감사합니다 Hugo, 훌륭한 설명, gnu / linux에서 터미널이 얼마나 강력한 지 말할 수 있습니다!
안녕하세요, 이것은 오래된 주제이지만 여전히 저를 도울 수 있기를 바랍니다.
나는 문서가 있고 오류 또는 실패라는 단어와 파생 오류 또는 실패 또는 실패 등을 찾고 있기 때문에 정규 표현식을 사용하는 방법을 배우고 있으며 정규 표현식은 다음과 같습니다.
: / \ (. * \ (오류 | 실패 \). * \) /
그것을 실행할 때 일치하는 항목이 없다고 말하지만 🙁
:/\(.*\(오류\).*\)/
o
: / \ (. * \ (불합격 \). * \) /
일치하는 것을 찾으면 내가 어떻게 틀렸는 지 말해 줄 수 있습니까?
당신이 넣는 전체 라인은 무엇입니까?
솔루션을 찾았는지 테스트하고 확인합니다.
반면에 원하는 경우 여기에서 확인할 수 있습니다. https://blog.desdelinux.net/?s=expresiones+regulares
도와주세요. * _ZFIR0069.TXT로 끝나는 파일을 다른 경로에 복사하고 끝에 날짜를 추가하고 싶습니다. 명령을 수행하고 있습니다.
날짜 = $ (날짜 +»% Y % m % d %»)
find / xcom_rep / FATF / exit / 42 -name * _ZFIR0069.TXT -exec cp -p {} / backup / FATF / exit / 42 / {} _ $ date \;
그러나 결과는 다음과 같습니다.
{} _20160225 %->하지만 모든 파일 중 하나만 복사하고 이름이 변경됩니다.
내가 원하는 것은 모든 파일을 복사하고이 형식을 갖는 것입니다. * _ZFIR0069_ $ date .TXT
인사말.
find * -type d와 find / home / pepe -type d의 차이점은 무엇입니까? 내 계정의 디렉토리를 나열하고 싶은데 첫 번째 계정이 올바르게 수행하고 두 번째 계정이 그렇지 않은 이유를 이해할 수 없습니다. 에 도움
숫자로 끝나는 파일을 어떻게 찾을 수 있습니까? 감사합니다.