0. 복사
1-1. 호스트간의 파일 복사
- scp 명령어 사용
- scp란?
- ssh 원격 접속 프로토콜을 기반으로 한 SecureCopy(scp)의 약자로서 원격지에 있는 파일과 디렉터리를 보내거나 가져올 때 사용하는 파일 전송 프로토콜.
- 사용법?
- scp [옵션] [파일명] [원격지_id]@[원격지_ip=호스트ip]:[받는 위치]
- scp [이동 시킬 파일] [이동 할 경로]
- 예시
- 동일하게 윈도우 c드라이브 USER 하위에서만 이동이 가능
- scp란?
scp ./파일명.py 원격호스트ip@호스트ip: 전달할 경로
- 옵션
scp -r 디렉토리 내 모든 파일/디렉토리 복사
scp -p (소문자)원본 권한 속성 유지 복사
scp -P [포트번호] (대문자)포트 번호 지정 복사
scp -c 압축 복사
scp -v 과정 출력 복사
scp -a 아카이브 모드 복사
1. 삭제
1-1. 디렉토리 하위 특정 파일 삭제
사용법 : rm [옵션] 파일명
# 해당 확장자 가진 파일 전부 삭제
rm *.jpg
# rm -f 삭제 메세지 없애고 싶으면
rm -f /home/user/*.tar.bz2
# 파일이 특정 단어가 포함되어있으면 삭제
rm *base*.py
# 여러개 지우기
rm 파일명 파일명
# 하위 디렉토리까지 강제로 지우기
#rm -rf 폴더명 #리눅스에서는 폴더 하위에 파일이 있으면 지울 수 없으므로 강제 옵션
rm -rf ./폴더
# 해당 파일 제외하고 전부 삭제
find . ! -name 제외파일이름 -delete # *.py / base.*
# grep -v 이후 파일만 제외하고 삭제함
rm `ls *|grep -v 파일 |grep -v 파일`
# base로 시작하는 파일 중 base1, base2 제외하고 전체 삭제를 하는데
# yes | 를 붙이면 y를 묻지 않음
yes | rm `ls base* |grep -v base1 |grep -v base2`
#파일 삭제 물어봐주기
rm -ri *
- 옵션
-d : 하위 디렉토리 삭제
-f : 확인 없이 삭제
-i : 파일이나 디렉토리가 삭제 될 때마다 확인
-r : 하위 디렉토리를 찾아가며 삭제
-v : 삭제작업 상태를 출력
1-2. FileSystem 을 사용하여 파일 또는 폴더를 삭제
- Spark 라이브러리에는 파일의 이름을 바꾸거나 삭제하는 작업이 존재하지 않지만, Hadoop Filesystem API가 이를 지원
# 파일/디렉토리의 이름을 바꾸거나 삭제
# delete 메소드 delete(path, boolean),
# delete(제거 경로, path의 디렉터리, 하위 디렉터리 및 파일을 제거하려면 true이고, 제거하지 않으려면 false )
if (fs.exists(outPutPath))
fs.delete(outPutPath, true)
참고)
1. 코드: https://sparkbyexamples.com/spark/spark-rename-and-delete-file-directory-from-hdfs/
2. 존재하는 파일 삭제 참고 코드: https://www.tabnine.com/code/java/methods/org.apache.hadoop.fs.FileSystem/exists
더보기
하위 디렉토리에 있는 특정 확장자, 특정 파일 일괄 삭제하기
리눅스 커맨드에서 현재 디렉토리 또는 절대경로를 지정한 후 해당 디렉토리 하위의 여러 디렉토리에서 특정 파일을 일괄 삭제하려면 서두와 같이 find 명령어를 함께 사용합니다.
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
find의 명령어 syntax 입니다. 파일을 삭제하는 명령어 rm을 함께 사용하기 위해서 exec 옵션을 사용합니다.
디렉토리 하위에 있는 모든 확장자를 삭제하는 명령어
find . -type f -name"*.jpg" -exec rm {} \;
현재 디렉토리 하위에 있는 jpg 확장자를 가진 파일을 하위 디렉토리 안에 있는 파일까지 일괄 삭제하는 명령어 예제입니다.
디렉토리 하위에 있는 특정 파일명을 모두 삭제하는 명령어
find /var/www/ -type f -name "*thumb*" -exec rm {} \;
/var/www 디렉토리 하위에 있는 모든 파일 중에서 thumb 이름이 들어간 파일을 삭제하는 명령어입니다.
디렉토리 하위에 있는 파일 중 생성(변경)된지 7일 이상 된 파일 모두 삭제하는 명령어
find /etc/cache/ -ctime +7 -type f -exec rm {} \;
2. 파일, 폴더 찾기
사용법 : find [경로] -name [파일명]
# 파일명을 가진 파일이나 디렉토리 찾기
find / -name 파일명
# 파일만 검색하기
find / -name 파일명 -type f
#디렉토리 검색
find / -name 파일명 -type d
#실행파일 검색
which 파일명
3. 파일명 변경 및 이동
mv [옵션][이동 할 파일][이동 될 위치]
#파일명 변경
mv 파일명 파일명
#파일 이동
mv [이동 전 경로] [이동 후 경로]
- 옵션
-b : 이동될 파일이 존재하면 백업파일을 만듦
-i : 이동될 파일이 이름이 이미 존재할 경우, 사용자에게 덮어 쓰기 여부 확인
-b : 이동될 파일이 이름이 이미 존재할 경우, 백업파일을 생성
-f :이동 될 파일이 이름이 이미 존재 할 경우, 강제로 덮어쓰기
-n :이동 될 파일이 이름이 이미 존재 할 경우, 덮어쓰기
-r : 하위 디렉토리 까지 모두 이동
-v : 이동 진행 상태를 출력
'Backend' 카테고리의 다른 글
리액트? PHP? 서버사이드가 뭐야 용어정리 (0) | 2021.05.10 |
---|---|
[MariaDB] 이모지 저장하기 위해 인코딩 확인 (0) | 2021.05.10 |
DB야 제발 살아나... (0) | 2021.05.10 |
DB time zone 변경하기 (0) | 2021.05.10 |
스왑 파일 삭제하기 vi php.swp (0) | 2021.05.09 |