파일·디렉터리 명령
4. 응용 변형 예제
4.1 tree 가 없을 때
find . -not -path '*/.*' | sed 's|[^/]*/| |g'tree 는 기본 설치가 아닌 서버가 많습니다. find 출력의 폴더 구분을 들여쓰기로 바꾸면 비슷하게 보입니다. 숨김 파일은 -not -path 로 뺐습니다.
4.2 오늘 바뀐 파일
find /opt/myapp -type f -mtime -1 -ls
find /opt/myapp -type f -newer /opt/myapp/conf/env배포 후 무엇이 바뀌었는지 볼 때 씁니다. -ls 는 ls -l 형식으로 출력합니다.
4.3 안전한 삭제 습관
find /tmp/work -name '*.tmp' -print # 1. 목록 확인
find /tmp/work -name '*.tmp' -delete # 2. 같은 조건으로 삭제같은 명령에서 -print 를 -delete 로만 바꾸면 확인한 것과 지우는 것이 정확히 같습니다. 운영 묶음 06 의 로그 정리가 이 방식입니다.
4.4 백업 복사
cp -rp /opt/myapp/conf "/opt/myapp/conf.bak.$(date +%Y%m%d)"-p 로 시각을 남기고 이름에 날짜를 붙입니다. 설정을 고치기 전 한 줄로 되돌릴 준비를 하는 습관입니다.
4.5 이름 일괄 변경
for f in *.txt; do mv "$f" "${f%.txt}.md"; done리눅스에는 rename 이 배포판마다 달라 for 와 변수 확장이 가장 확실합니다. ${f%.txt} 는 뒤의 .txt 를 뗀 이름입니다.