이런 거 공부하려면 뭐를 봐야 하는지 > 서버관리자

서버관리자

서버관리자 모임 게시판 입니다.

이런 거 공부하려면 뭐를 봐야 하는지 정보

이런 거 공부하려면 뭐를 봐야 하는지

본문

아래처럼 명령하는 것을 하려면 뭐를 공부해야 합니까?

find . -mmin -60 -type f -exec ls -l {} +

공감
0

댓글 11개

현재 디렉터리에서 60분 이내에 변경된 파일을 찾아서 한 번에 리스팅하라는 구문인데요.
윗분 지적처럼 \+로 마감해야 합니다.
exec 때문입니다.
\;를 더 많이 쓰는데 약간의 차이는 있습니다.
유닉스, 리눅스에서 공용으로 사용하는 쉘명령어를 자주 사용하는 것 위주로 정리합니다.
30개 내외면 충분하지 싶습니다.
이들의 사용법과 구문 위주의 예제를 연습합니다.
명령어, 옵션, 인수, 조견 등으로 구성된 쉘명령어 구문으로 보면 됩니다.

find : 명령어
. : 현재 디렉터리
-mmin : 변경된 분(modify + minute) 옵션
-60 : 위와 연결된 옵션으로 60분 이내
-type : 파일형식 옵션
f : 위와 연결된 인자로 그냥 파일을 의미
-exec : 명령어 실행 옵션
ls : 리스팅 명령어
-l : 위 명령어와 연결된 옵션
{} : 실행 결과가 나오는 곳
\+ : -exec에 지정한 명령을 일괄 실행하라.
\; : -exec에 지정한 명령을 순차적으로 실행하라.

서버를 운영하고 관리하는 측면에서 find 사용법은 중요합니다.
이런저런 쉘스크립트를 작성할 때 가장 많이 쓰이지 않나 싶습니다.
그러고 보니  윗답변 중에서 틀린 게 있습니다.
우선, 생각없이 건성으로 답변한 것에 대해서 사과합니다.
-. find . -mmin -60 -type f -exec ls -l {} + 에서는 '+' 가 맞습니다.
('\+'가 아닙니다.)
-. '{} : 실행 결과가 나오는 곳'이라는 표현도 정정합니다.

{}는 명령어, 옵션, 인수는 아닙니다.
어떤 과정을 논리적으로 맞추기 위해 사용하는 관행일 뿐입니다.
{}의 정확한 의미는,
find . -mmin -60 -type f 해서 나온 결과들의 대입입니다.
예를 들어 abc.txt, def.txt, ghi.txt 등이 해당 파일이라고 했을 때,
+ 로 마감하면,
ls -l abc.txt def.txt ghi.txt 이고,
\; 했으면,
ls -l abc.txt
ls -l def.txt
ls -l ghi.txt
입니다.
'\'(escape)는 ';'(separator)의 의미 소거입니다.
전체 645 |RSS
서버관리자 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT