Tin tức và phân tích của tất cả các thiết bị di động

Cách chuyển và chia sẻ tệp từ thiết bị đầu cuối Linux bằng Transfer.sh

Ngày nay, việc chia sẻ tệp trở nên dễ dàng hơn bao giờ hết. Giữa Dropbox, Google Drive, OneDrive, v.v. Di chuyển mọi thứ từ nơi này sang nơi khác hoạt động khá nhanh – trừ khi bạn đang sử dụng Terminal. Nếu bạn đang sử dụng thiết bị đầu cuối, có thể bạn vẫn nhận được tệp qua SFTP hoặc thứ gì đó cổ xưa không kém. Giới thiệu TransferSH: một công cụ chia sẻ tệp được thiết kế đặc biệt để chuyển và chia sẻ tệp từ thiết bị đầu cuối Linux.

CẢNH BÁO SPOILER: Cuộn xuống và xem video hướng dẫn ở cuối bài viết này.

Sử dụng Transfer.sh theo cách thủ công

Transfer.sh có giao diện web và bạn có thể chuyển và chia sẻ tệp từ trình duyệt của mình. Dịch vụ này cũng hoạt động với dòng lệnh, vì vậy bạn có thể chia sẻ tệp trực tiếp qua thiết bị đầu cuối. Để chia sẻ tệp từ thiết bị đầu cuối Linux bằng Transfer.sh, bạn cần có Curl.

Ubuntu

sudo apt install curl

Debian

sudo apt-get install curl

Vòm Linux

sudo pacman -S curl

mũ phớt

sudo dnf install curl

mởSUSE

sudo zypper install curl

Các hệ thống Linux khác

Người dùng bên ngoài các bản phân phối Linux chính thống sẽ không gặp quá nhiều khó khăn khi tìm Curl do tính khả dụng rộng rãi của nó. Để có được nó, chỉ cần mở trình quản lý gói của bạn, tìm kiếm “curl” và cài đặt nó! Nếu vì lý do nào đó nó không có sẵn cho bạn, hãy tải xuống tại đây.

Tải lên bằng chức năng Curl

Tương tác với transfer.sh bằng cách sử dụng curl yêu cầu một lệnh khá dài. Đây là cách nó hoạt động.

Đầu tiên, tìm tệp trên hệ thống tệp của bạn để tải lên. Sử dụng “tìm” hoặc “định vị” trong thiết bị đầu cuối của bạn (hoặc truy cập trình quản lý tệp của bạn, tìm tệp và ghi chú vị trí của tệp). Sau khi lưu ý vị trí của tệp bạn đang cố tải lên, hãy sử dụng lệnh cd để điều hướng đến đó. Trong ví dụ này, chúng tôi sẽ tải tệp “test.mp3” từ thư mục Tài liệu.

cd ~/Documents

Thiết bị đầu cuối hiện nằm trong thư mục chứa test.mp3. Bây giờ hãy sử dụng lệnh “công thức” này để tải tệp lên. Đây là phần đầu tiên của lệnh:

 curl --upload-file ./test.mp3

Bước tiếp theo là tạo một URL để sử dụng trong transfer.sh. Nhớ tên tệp (cũng như phần mở rộng) và lưu nó như thế này:

https://transfer.sh/test.mp3

Kết quả cuối cùng sẽ như thế này;

curl --upload-file ./test.mp3 https://transfer.sh/test.mp3

Curl sẽ gửi tệp đến Transfer.sh và trả lại URL. Mở URL để tải tệp xuống hoặc gửi cho người mà bạn muốn chia sẻ tệp.

Bí danh Transfer.sh Terminal

Tải lên thủ công bằng Curl có thể giúp bạn thoát khỏi tình trạng khó khăn, nhưng điều đó không lý tưởng. Không có dấu hiệu cho thấy quá trình tải lên đang hoạt động, bao nhiêu tệp đã được tải lên và việc ghi nhớ một câu chỉ về việc tải lên một cái gì đó là khá tẻ nhạt. Vì lý do này, nhà phát triển đã tạo bí danh Bash. Bí danh bash này, sau khi được thiết lập, sẽ cung cấp cho người dùng khả năng dễ dàng chuyển các tệp và thư mục chỉ bằng một từ.

Để định cấu hình, hãy mở tệp BashRC. Hiểu rằng tệp BashRC của mỗi người dùng phải được sửa đổi để sử dụng bí danh này.

nano ~/.bashrc

Sử dụng Nano, đi đến cuối tệp. Sau đó dán mã Chuyển SH Alias. Đảm bảo dán mọi đoạn mã, nếu không bí danh bash sẽ không hoạt động.

Lưu ý: Có thể thực hiện dán bằng Nano từ khay nhớ tạm bằng CTRL+SHIFT+V.

transfer() {
 # check arguments
 if [ $# -eq 0 ];
 then
 echo "No arguments specified. Usage:necho transfer /tmp/test.mdncat /tmp/test.md | transfer test.md"
 return 1
 fi

# get temporarily filename, output is written to this file show progress can be showed
 tmpfile=$( mktemp -t transferXXX )

# upload stdin or file
 file=$1

if tty -s;
 then
 basefile=$(basename "$file" | sed -e 's/[^a-zA-Z0-9._-]/-/g')

if [ ! -e $file ];
 then
 echo "File $file doesn't exists."
 return 1
 fi

if [ -d $file ];
 then
 # zip directory and transfer
 zipfile=$( mktemp -t transferXXX.zip )
 cd $(dirname $file) && zip -r -q - $(basename $file) >> $zipfile
 curl --progress-bar --upload-file "$zipfile" "https://transfer.sh/$basefile.zip" >> $tmpfile
 rm -f $zipfile
 else
 # transfer file
 curl --progress-bar --upload-file "$file" "https://transfer.sh/$basefile" >> $tmpfile
 fi
 else
 # transfer pipe
 curl --progress-bar --upload-file "-" "https://transfer.sh/$file" >> $tmpfile
 fi

# cat output link
 cat $tmpfile
 echo ""
 # cleanup
 rm -f $tmpfile
 }

Sau khi dán nhiều mã vào tệp ~/.bashrc của bạn, hãy lưu nano bằng CTRL+O. Khởi động lại máy tính của bạn để các thay đổi có hiệu lực.

Tải lên bằng bí danh thiết bị đầu cuối

Chuyển bằng bí danh TransferSH dễ dàng hơn nhiều so với sử dụng Curl theo cách thủ công. Trong ví dụ này, chúng tôi sẽ sử dụng lại test.mp3 và thư mục Documents.

Bươc 1: đi đến thiết bị đầu cuối đến nơi chứa tệp/thư mục bạn muốn tải lên.

cd ~/Documents

Bươc 2: Bắt đầu quá trình tải lên.

transfer test.mp3

hoặc cho một thư mục làm:

transfer file_folder

Bươc 3: Đợi thiết bị đầu cuối tải tệp. Một thanh tiến trình sẽ xuất hiện trên màn hình và nó sẽ xuất ra một liên kết tải xuống khi hoàn tất.

Tải xuống từ Curl

Curl không chỉ là một công cụ tải lên. Nó cũng là một công cụ tải xuống. Để tải xuống một tệp được tải lên qua transfer.sh, hãy làm theo các hướng dẫn sau.

Đầu tiên, sao chép liên kết tải xuống mà công cụ tải lên cung cấp cho bạn và giữ liên kết đó trong khay nhớ tạm của bạn. Sau đó làm điều này để tải về:

curl https://transfer.sh/vN79X/test.zip > test.zip

Hãy nhớ nhập lại tên tệp sau > thành tên trong liên kết tải xuống. Đây là những gì curl gọi là tải xuống trên máy tính của bạn. Thay đổi tên là có thể, nhưng chúng tôi không khuyến khích nó.

Tải xuống bằng Wget

Mặc dù Curl phổ biến như thế nào, một số người từ chối sử dụng nó vì nó có vẻ phức tạp và chọn tải xuống Wget để thay thế. Điều này có ý nghĩa vì Wget rất đơn giản. Giống như công cụ Curl, Wget cũng có thể tải xuống các liên kết Transfer SH một cách dễ dàng. Đây là cách:

wget https://transfer.sh/vN79X/test.zip

Đăng kí

Điều này không xảy ra thường xuyên, nhưng đôi khi khi làm việc trên máy chủ, bạn có thể cần truy cập nhanh một tệp từ máy tính khác. Thiết lập SSH, đăng nhập vào FTP, v.v. là một điều khó khăn. Đó là lý do tại sao TransferSH là một công cụ hữu ích. Điều này làm cho việc tải xuống các tệp có kích thước bất kỳ trực tiếp từ dòng lệnh trở nên dễ dàng hơn bao giờ hết.