잠시만 기다려 주세요


 
HOME   |  여기는?   |  바다물때표   |  여러가지 팁 (796)  |  추천 및 재미 (68)  |  자료실 (17)  |  끄적거림 (464)  |  시나리오 (760)  |  드라마 대본 (248)  |  

2019년 09월 20일
최악이란 없다. 제일 안 좋은 순간에도 희망을 잃지는 말자. 어찌하든 살아야 한다. - 바다아이
 




    리눅스 데스크탑

리눅스 데스크탑 - find 명령 사용법
이 름 : 바다아이   |   조회수 : 1978         짧은 주소 : https://www.bada-ie.com/su/?371523105822
find 명령어는 파일 시스템에서 주어진 조건으로 파일을 찾는다.

사용법을 살펴보자.


find 대상디렉토리 검색 조건 처리 방법

대상 디렉토리 : 찾기를 시작할 디렉토리를 지정한다.
검색 조건 : 찾을 조건을 지정한다.
-name filename
파일 이름으로 찾는다.
-atime +n
access time 이 n일 이전인 파일을 찾는다.
-atime -n
access time이 n일 이내인 파일을 찾는다.
-mtime +n
n일 이전에 변경된 파일을 찾는다.
-mtime -n
n일 이내에 변경된 파일을 찾는다.
-perm nnn
파일 권한이 nnn인 파일을 찾는다.
-type x
파일 타입이 x인 파일들을 찾는다.
-size n
사이즈가 n이상인 파일들을 찾는다.
-links n
링크된 개수가 n인 파일들을 찾는다.
-user username
user이름으로 찾는다.
-group groupname
group 이름으로 찾는다.

처리방법 : 찾은 파일을 어떻게 할 것인지를 지정한다.
-print
찾은 파일의 절대 경로명을 화면에 출력한다.
-exec cmd {}; 
찾은 파일들에 대해 cmd 명령어를 실행한다.

 

find [찾을 디렉토리경로] [찾기옵션] [찾은후행할 작업]

[찾을 디렉토리경로]에는 다음과 같은 것들이 있다.

· : 현재 디렉토리이하

/ : 루트디렉토리이하(파일시스템전체)

~ID : 특정ID의 홈디렉토리이하

[찾기옵션]에는 다음과 같은 것들이 있다.

  • empty : 비어있는 파일
  • gid n : 특정 gid를 갖는 파일(n : 특정 gid)
  • group gname : 특정 group에 속한 파일(gname : group명)
  • name : 지정한 형식을 갖는 파일이름
  • newer : 특정 파일 이후에 생성된 파일
  • perm : 특정 허가모드를 가지고 있는 파일
  • uid n : 특정 uid를 갖는 파일(n : 특정 uid)
  • used n : 최근에 n일 이후에 변경된 파일(n : 일수)
  • user : 특정파일을 소유하고 있는 소유자의 파일

[찾은후 행할 작업]에는 다음과 같은 것들이 있다.

  • print : 가장많이 쓰는 옵션으로 찾은 파일을 보여준다.
  • exec : 찾은 파일들에 대해 특정명령을 수행한다.
 

그럼, 사용예를 들어 보겠습니다.

[root@ciss9 /]# find . -uid 504 -print

./home/sspark

./home/sspark/.Xdefaults

./home/sspark/.bash_logout

./home/sspark/.bash_profile

./home/sspark/.bashrc

위의 예는 현재디렉토리(.)에서부터 uid가 504인 사용자의 파일을 찾아서 보여달라는 것입니다.(-print)

[root@ciss9 /]# find ~sspark -name *.shtml -print

./home/sspark/public_html/sample.shtml

./home/sspark/public_html/testpass/sample.shtml

./home/sspark/public_html/testdir/sample.shtml

위의 예는 sspark이라는 사용자의 소유로된 파일중 shtml로 끝나는 파일을 찾아서 보여달라는 것입니다.

[root@ciss9 /root]# find ~sspark -name *.doc -exec rm -f {} \;

위의 예는 sspark이라는 사용자의 홈디렉토리(~sspark)이하에 존재하는 doc로 끝나는(*.doc) 파일을 찾아서 묻지말고(-f) 지워(rm)버리라는 명령어입니다.

이 명령어는 웹호스팅사용자에게 보다도 서버관리자에게 더욱 유용한 명령어로서 서버관리를 하다보면 어떤 파일이 어디에 위치하고 있는지 찾아야 할 때가 많습니다. 이런 경우에 매우 유용하게 사용됩니다.




예를 들어보자.
$ find /user4 -name test* -print

/user4 아래에서 파일이름이 test로 시작하는 모든 파일을 찾아서 화면에
보여준다.

$ cd /
$ find . -name ping -print

root 디렉토리 밑에서 파일이름이 ping인 파일을 찾아 절대 경로명을 화면에
출력한다.

$ cd /
$ find /usr -name *.c -print

/usr 밑에 이름이 .c로 끝나는 모든 파일들을 찾아 경로명을 보여준다.

$ cd /
$ find $home -name who.txt -print

home 디렉토리 아래에 who.txt라는 파일을 찾아 경로명을 보여준다.

$ cd /
$ find . -type d -print

파일 타입이 d인 파일을 찾아 경로명을 화면에 출력한다.

$ cd /
$ find /dev -type c -print

/dev디렉토리 아래에서 파일 타입이 c인 파일을 찾아 경로명을 보여 준다.

$ cd /
$ find . -perm 700 -print

파일 권한이 700인 파일을 찾아준다.

$ cd /
$ find . \ ( -perm 400 -o -perm 200 ) -print

파일 권한이 400인 파일과 200인 파일을 찾아준다.
(주의 : "\"의 앞뒤에 space 가 반드시 있어야 한다.)

$ cd /
$ find . -size +1024 -print

파일의 블럭 크기가 1024 이상인 파일을 찾아준다.

$ cd /
$ find . -name core -size +2048 -print

파일 이름이 core이고 크기가 2048블럭 이상인 파일을 찾아준다.

$ cd /
$ find . -user unix01 -print

파일 소유자가 unix01인 파일을 찾아준다.

$ cd /
$ find . -group unix -print

사용자그룹이 unix인 파일을 찾아준다.

$ cd /
$ find . -atime +30 -print

30일 이전에 억세스되었던 파일을 찾는다.

$ cd /
$ find . -mtime -7 -print

7일 이내에 수정된 적이 있는 파일을 찾는다.

$ cd /
$ find . -name core -exec ls -l {} \;

이름이 core인 파일을 찾아서 ls -l 한다.

$ cd /
$ find . -name \*.c -atime +30 -exec ls -l {} \;

30일 이전에 억세스된 파일 중 *.c를 찾아 ls -l 한다.

$ cd /
$ find . -name core -exec rm -i {} \;

현재 디렉토리 밑에서 이름이 core인 파일을 찾아 지운다(지우기 전에 정말
지울 지를 물어본다.)

grep와 함께 사용한 find명령어 strcpy 문자열을 포함한 현재디렉토리 아래의 *c파일
grep strcpy `find ./ -name *c`
 

8. 최상위 root에서 파일 찾기
find /
home directory 밑에서 찾기
find ~ -name sample
find ~ -name 'file*'
home directory에서 파일명에 file이 들어가면서 타입이 f(일반파일인)경우
find ~ -name 'file*' -a -type f
특정 디렉토리에서 사용자 unix05가 만든 파일 찾기
find /data2/unix -user unix05

9. core
실행하다가 오류가 있는 파일 core
(ex. sleep 20) ctrl+\ 강제종료하면 core 파일이 생성됨
실행하다가 종료되어도 생김 (cat으로 열수 없음(개발자가 debugger로만 확인할 수 있음, 파일 크기가 굉장히 큼)

core파일 찾기
find ~ -name core
core파일 삭제
find ~ -name core -exec rm {} \;
HDD 용량 줄이기
find / -name core -exec rm {} \;

10. passwd 파일을 찾을 때 뜨는 2>(오류메시지)를 /dev/null로 보냄 -오류메시지 안 보임
find / -name passwd 2> /dev/null
ls -i passwd (passwd 파일의 inode찾기)
find / -inum 108235 2> /dev/null (inode가 같은 것을 찾음)

11. 최근 3일 사이에 마지막 수정되고 파일타입은 일반타입인 로그파일(/var/adm에 있음) 찾기
find /var/adm -mtime -3 -a -type f

12. /etc 디렉토리에서 일반파일 중 파일의 크기가 4096 byte 이하인 파일 찾기 (1block = 512byte)
find /etc -size -8 -a -type f
find /etc -size -1 -a -type f 2> /dev/null 512바이트 이하 파일 찾기 (오류메시지는 /dev/null로 보내기)

13. etc + k 이전에 입력했던 내용
| more 내용을 페이지별로 보여주기 (많은 내용일 경우)

 

find ~ -name '*.sql' -exec grep -il 'linkcomp' {} \;


출처 : http://jobdahan.net/server_linux/1498195
 

| |


      1 page / 6 page
번 호 카테고리 제 목 이름 조회수
174 리눅스 데스크탑 testdisk 바다아이 255
173 리눅스 데스크탑 바다아이 333
172 리눅스 데스크탑 Compiling nVidia 304.137 on Ubuntu 18.04 바다아이 360
171 리눅스 데스크탑 lightdm , , Lightdm not starting on boot ?? 바다아이 302
170 리눅스 데스크탑 thunderbird , 바다아이 328
169 리눅스 데스크탑 usb, cdrom grub iso ... 바다아이 368
168 리눅스 데스크탑 usb, cdrom grub iso ... 바다아이 369
167 리눅스 데스크탑 dd , 바다아이 373
166 리눅스 데스크탑 , dd if=/dev/zero, . low format 바다아이 648
165 리눅스 데스크탑 freebsd ufs , linux ufs mount 바다아이 638
164 리눅스 데스크탑 Arch on WSL, archlinux libQt5Core.so.5 not found 바다아이 562
163 리눅스 데스크탑 , .... input text ... font 바다아이 695
162 리눅스 데스크탑 ... 바다아이 660
161 리눅스 데스크탑 , , .. gparted 바다아이 821
160 리눅스 데스크탑 ssh .... ssh .. 바다아이 731
159 리눅스 데스크탑 thunderbird imap , , , .. 바다아이 813
158 리눅스 데스크탑 QT GTK+ WxWidgets, gui 3... golang qt, golang gtk, golang WxWidgets 바다아이 982
157 리눅스 데스크탑 debtap , deb . 바다아이 943
156 리눅스 데스크탑 16.04 - GUI CLI 바다아이 899
155 리눅스 데스크탑 , ... 바다아이 812
154 리눅스 데스크탑 zip, rar ... 바다아이 955
153 리눅스 데스크탑 , , centos 바다아이 2212
152 리눅스 데스크탑 , , , , chage , aging 바다아이 1098
151 리눅스 데스크탑 /etc/shadow ! !!, * , lock , . 바다아이 982
150 리눅스 데스크탑 tar, gzip, gz, bzip2, bz2, zip, unzip, compress, xz .... 바다아이 1042
149 리눅스 데스크탑 ico , icoutils 바다아이 948
148 리눅스 데스크탑 archlinux , mirror 바다아이 940
147 리눅스 데스크탑 Kernel modules 바다아이 1020
146 리눅스 데스크탑 archlinux dkms ... kernel modules 바다아이 948
145 리눅스 데스크탑 archlinux ... kernel compile 바다아이 983
| |






Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ FreeBSD + GoLang + PostgreSQL ]
서버위치 : 서울 Amazon Lightsail  실행시간 : 0.02184
to webmaster... gogo sea. gogo sea.