Search
Duplicate

[transfer.sh] 쉘스크립트만으로 파일 전송하기

간단소개
별다른 설치과정 없이 쉘 스크립트 커맨드만으로 파일 전송하기
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
Shell
Scrap
태그
shell
9 more properties
별다른 설치과정 없이 쉘 스크립트 커맨드만으로 파일 전송하기
과카몰리와 로컬머신사이에 파일전송이 필요할때 사용함
많은 방식이 있지만 이 방식은 별다른 설치없이 간단히 사용 가능함

사용법

1.
파일을 전송하고자 하는 컴퓨터에서 아래 명령어를 통해 upload
curl --upload-file {업로드할 파일 경로} https://transfer.sh/{파일명}
아래는 a.txt라는 파일을 업로드하는 명령어이다
curl --upload-file ./a.txt https://transfer.sh/a.txt
transfer.sh뒤에 적는 파일명은 꼭 업로드하는 파일명과 일치할 필요는 없다
명령어를 입력하면 다운로드용 url이 출력된다
2.
다운로드 받고자 하는 컴퓨터에서 아래 명령어를 통해 다운로드
curl {다운로드용 url} -o {다운로드할 파일 경로}
아래는 업로드한 파일을 다운로드 받는 명령어이다
-o 뒤에는 본인이 원하는 경로와 파일명을 적으면 되며 업로드할때의 파일명과 달라도 상관 없다

shell function을 구현해서 사용하기

.zshrc 또는 .bashrc에 아래 코드를 입력해 trasnfer 함수를 만들기
transfer(){ if [ $# -eq 0 ];then echo "No arguments specified.\nUsage:\n transfer <file|directory>\n ... | transfer <file_name>">&2;return 1;fi;if tty -s;then file="$1";file_name=$(basename "$file");if [ ! -e "$file" ];then echo "$file: No such file or directory">&2;return 1;fi;if [ -d "$file" ];then file_name="$file_name.zip" ,;(cd "$file"&&zip -r -q - .)|curl --progress-bar --upload-file "-" "https://transfer.sh/$file_name"|tee /dev/null,;else cat "$file"|curl --progress-bar --upload-file "-" "https://transfer.sh/$file_name"|tee /dev/null;fi;else file_name=$1;curl --progress-bar --upload-file "-" "https://transfer.sh/$file_name"|tee /dev/null;fi;}
Shell
복사
transfer 명령어 한 줄로 업로드를 간편하게 할 수 있게 됨

그 외 활용법

여러개의 파일 업로드, 멀웨어 스캔, 암호화 전송, 이메일 전송등 다양한 전송 옵션이 있다