Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 오버라이딩
- Java
- button
- JS
- scrollview
- 랜덤번호
- React
- SpringBoot
- 자바스크립트
- fragment
- stylesheet
- 안드로이드
- 코틀린
- Linux
- Kotlin
- 리액트
- RecyclerView
- array
- TextView
- Hook
- 구글맵스
- nodejs
- JavaScript
- npm
- 랜덤넘버
- Android
- GoogleMaps
- 스프링부트
- Javscript
- TypeScript
Archives
- Today
- Total
타닥타닥 개발자의 일상
검색된 파일의 전체를 한번에 다 압축 하는 리눅스 명령문 쓰기 / find와 exec 이용 / + 이용해서 한번에 압축 본문
코딩 기록/linux
검색된 파일의 전체를 한번에 다 압축 하는 리눅스 명령문 쓰기 / find와 exec 이용 / + 이용해서 한번에 압축
NomadHaven 2023. 5. 19. 10:36
리눅스 공부를 하면서 혼자 아래의 문제를 풀고 있었다.
- 사용자 user2의 파일을 찾아서 /tmp/user2-banned/에 저장한다.
- 저장된 파일은 xz으로 압축하여 user2-banned이름으로 /root/에 저장한다.
- 반드시 확장자는 올바르게 표기가 되어야 한다.
우선 user2의 파일을 찾아야 하니
find / -user user2 -type f -print
를 입력했고 아래와 같은 파일들이 검색됐다.
/home/user2/.bash_logout
/home/user2/.bash_profile
/home/user2/.bashrc
find: ‘/proc/7227/task/7227/fdinfo/6’: No such file or directory
find: ‘/proc/7227/fdinfo/5’: No such file or directory
/root/.bash_logout
/root/.bash_profile
/root/.bashrc
/var/spool/mail/user2
검색된 파일들을 모두 압축하고 새로운 이름에 저장하려고 아래의 코드를 입력했다.
find / -user user2 -type f -exec tar cf /tmp/user2-banned/user2-banned.xz {} \;
/tmp/user2-banned/ 경로에 user2-banned.xz라는 파일이 생기긴 했는데,
압축 파일의 내부 파일을 볼수있는
tar -tf user2-banned.xz
를 실행해서 해당파일을 보니 검색된 파일중
/var/spool/mail/user2 만 저장되어 있었다.
모든 파일을 압축하고 싶은데 어떻게 해야되냐 GPT한테 물어보니 아래와 같은 명령어를 실행하라 했다. {} 뒤애 + 가 새롭게 붙었다.
find / -user user2 -type f -exec tar rf /tmp/user2-banned/user2-banned.xz {} +
변경된 부분은 -exec 뒤에 tar 명령어를 실행하는 부분입니다. rf 옵션을 사용하여 압축 파일에 파일을 추가하고, {}는 find 명령어가 찾은 파일을 나타냅니다. +는 여러 개의 파일을 한 번에 처리하도록 지정합니다.
+를 붙여야지 여러 파일을 한번에 압축할 수 있나보다.
위와 같이 명령문을 작성하고 다시 압축된 파일을 확인해보니
모든 파일들이 생성된 압축 파일 내에 잘 복사된게 보인다.
응용 연습문제 풀기
- 사용자 user1이 가지고 있는 모든 파일을 생성한다.
- 1메가보다 작은 크기인 파일만 복사한다.
- 복사된 파일은 bzip2로 복사하여 /root/에 user1-files라는 이름으로 저장한다.
- 반드시 확장자는 올바르게 표기가 되어 있어야 한다.
작성된 명령문
find / -user user1 -size -1M -type f -exec tar rf /root/user1-fiels.bzip2 {} +
'코딩 기록 > linux' 카테고리의 다른 글
Comments