잠시만 기다려 주세요

     '검찰공화국, 부패공화국... 윤석열은 내려와라... 그리고 수사 받아라... 당신은 대통령을 할 자격이 없다.'
전체검색 :  
이번주 로또 및 연금번호 발생!!   |  HOME   |  여기는?   |  바다물때표   |  알림 (16)  |  여러가지 팁 (1056)  |  추천 및 재미 (151)  |  자료실 (22)  |  
시사, 이슈, 칼럼, 평론, 비평 (600)  |  끄적거림 (129)  |  문예 창작 (705)  |  바람 따라 (69)  |  시나리오 (760)  |  드라마 대본 (248)  |  
살인!


    리눅스 데스크탑

리눅스 데스크탑 - find 명령 사용법
이 름 : 바다아이   |   조회수 : 8789         짧은 주소 : https://www.bada-ie.com/su/?151591808965
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 / 8 page
번 호 카테고리 제 목 이름 조회수
228 리눅스 데스크탑 ... 바다아이 467
227 리눅스 데스크탑 .... 바다아이 476
226 리눅스 데스크탑 libreoffice hwp , ... 바다아이 497
225 리눅스 데스크탑 uefi .... . 바다아이 980
224 리눅스 데스크탑 mkfs ... .. 바다아이 946
223 리눅스 데스크탑 ... hd 4600.. Ubuntu Intel graphics driver install, 바다아이 2622
222 리눅스 데스크탑 virtualbox ... ntfs.sys ... virtualbox .. 바다아이 2791
221 리눅스 데스크탑 , 10 ... archlinux, window10 dual-boot 바다아이 2779
220 리눅스 데스크탑 , .... ... 바다아이 3651
219 리눅스 데스크탑 Installation from WineHQ's repo, debian wine ... 바다아이 4140
218 리눅스 데스크탑 xfce4 debian .... uim fcitx 바다아이 4545
217 리눅스 데스크탑 archlinux , .... 바다아이 3711
216 리눅스 데스크탑 firefox .... ... 바다아이 3674
215 리눅스 데스크탑 zip , unzip 바다아이 3326
214 리눅스 데스크탑 automouse autoclick xdotool 바다아이 4243
213 리눅스 데스크탑 xfce4 pacman .. 바다아이 3726
212 리눅스 데스크탑 debian intel-microcode [Firmware Bug]: TSC_DEADLINE disabled due to Errata - what should I do about this? 바다아이 4209
211 리눅스 데스크탑 debian xfce usb . pc 바다아이 3992
210 리눅스 데스크탑 .xprofile ... .xsessionrc ... 바다아이 3764
209 리눅스 데스크탑 debian 12 nvidia 바다아이 5371
208 리눅스 데스크탑 ..... 바다아이 3594
207 리눅스 데스크탑 xfce fcitx ... 바다아이 3695
206 리눅스 데스크탑 20.04 5 .... 바다아이 4155
205 리눅스 데스크탑 , , , , alias 바다아이 5214
204 리눅스 데스크탑 manjaro archlinux pacman PGP ..... 바다아이 4416
203 리눅스 데스크탑 yaourt yay aur.... 바다아이 4337
202 리눅스 데스크탑 mirror ... . 바다아이 6231
201 리눅스 데스크탑 20.04 leafpad , euc-kr utf-8 . 바다아이 6169
200 리눅스 데스크탑 , ls . 바다아이 6301
199 리눅스 데스크탑 (Ubuntu) Snap Package , snap 바다아이 6621
| |









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