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.