কমান্ড লাইন থেকে এফটিপি দ্বারা একটি ফাইল কীভাবে আপলোড করবেন?


114

উবুন্টু থেকে আমার একটি একক ফাইল এফটিপি সার্ভারে আপলোড করতে হবে। এই অপারেশনটি কোনও স্ক্রিপ্টে করা উচিত (অ-ইন্টারেক্টিভ মোডে)। এর জন্য সঠিক বাক্য গঠন কী ftp?

আমি এটি চেষ্টা করছি, কোনও লাভ হয়নি:

$ ftp -u ftp://user:secret@ftp.example.com my-local-file.txt
ftp: Invalid URL `ftp://'

5
আমি ম্যান পেজ কিভাবে করব?
Ignacio Vazquez-Abram

ftpউবুন্টুতে থাকা সরঞ্জামটি সম্পর্কে আমি খুব বেশি কিছু জানি না , তবে দেখে মনে হচ্ছে এটি দম বন্ধ করছে ftp://। সম্ভবত এটি চেষ্টা করে দেখুন?
নেট কোপ্পেনহেভার

man ftpকমান্ড লাইনে @ ইগনাসিও ওয়াজকেজ-আব্রামগুলি
সি.গুটিরেজ

অনুরূপ: এফটিপি-র মাধ্যমে ফাইলগুলি সিঙ্ক্রোনাইজ করা , তবে একাধিক ফাইলের জন্য।
কেনারব

আমি '-u অজানা বিকল্প' পাচ্ছি।
রবার্ট রিজ

উত্তর:


182

এখানে একটি পদ্ধতির রয়েছে:

$ ftp -n <<EOF
open ftp.example.com
user user secret
put my-local-file.txt
EOF

বিকল্পভাবে, ব্যবহারকারীর হোম ডায়ারে or / .netrc ফাইলটি তৈরি করুন (বা সম্পাদনা করুন) যা ftp কমান্ড চালাবে, উপযুক্ত পারম ( chmod 0600 ~/.netrc) দেবে এবং নিম্নলিখিতগুলি যুক্ত করুন:

# ~/.netrc
machine ftp.example.com
login user
password secret

তারপরে লগইন সম্পর্কিত তথ্য বাদ দিন:

$ echo put my-local-file.txt | ftp ftp.example.com

এছাড়াও, কার্ল ব্যবহার করে আপনি কীভাবে একই জিনিসটি করতে পারেন তা এখানে:

$ curl -T my-local-file.txt ftp://ftp.example.com --user user:secret

12
বাহ, আমি curlসমর্থিত এফটিপি জানি না ! এটা খুব সহজ।
সাবস্টিয়ান

61
curlসমাধানের জন্য +1 । এমনকি অন্যটির সাথে কেন বিরক্ত হয়?
আসফ

3
@ আসফ কারণ কার্ল ইনস্টল করা হয়নি যেখানে আমার এটি করা দরকার তাই অন্য সমাধানটি কাজে লাগল। ধন্যবাদ।
ববিফ

1
কার্লের জন্য +1। পরিষ্কার, পরিষ্কার এবং সরাসরি বিন্দু! ডেবিয়ান / উবুন্টুতে "অ্যাপ্লিকেশনটি কার্ল ইনস্টল করুন" না থাকলে এটি থাকে।
জিটিডোরভ

2
curlসমাধান সবচেয়ে ভাল এবং সবচেয়ে সহজ পদ্ধিতি হল

17

আমি সুপারিশ করতে পারেন ftp-upload। এটি একটি ঝরঝরে ছোট্ট সরঞ্জাম যা আপনি উবুন্টু এর মাধ্যমে ইনস্টল করতে পারেন sudo apt-get install ftp-upload

ব্যবহারের উদাহরণ:

ftp-upload -h {HOST} -u {USERNAME} --password {PASSWORD} -d {SERVER_DIRECTORY} {FILE_TO_UPLOAD}

আপনি কি সরঞ্জামটির লিঙ্ক বা তার ডকুমেন্টেশন সরবরাহ করতে পারেন?
বিডব্লিউড্রাকো

1
হাই ড্রাগনলর্ড, আপনি যদি উবুন্টুতে থাকেন এবং আপনি এফটিপি-আপলোড ইনস্টল করেছেন (আমার আগে দেওয়া আদেশটি ব্যবহার করে) আপনি ঠিক করতে পারেন man ftp-upload। আশা করি এইটি কাজ করবে.
ফ্লোরিস 18

5

আপনার বিবৃতিতে প্রদত্ত URL টি আপনাকে ঠিক করতে হবে। ইউআরএল অসম্পূর্ণ থাকার কারণে আপনি ত্রুটিটি পেয়েছিলেন - এটি আপনি আপলোড করছেন এমন বস্তুর নাম অনুপস্থিত। আমি নীচের মতো করে 'উদাহরণ.কম' এর পরে ফাইলের নামটি যুক্ত করলে আপনি দেখতে পাবেন যে সিঙ্গল কমান্ডটি আপনার ইচ্ছা মতো কাজ করে।

এটা চেষ্টা কর:

ftp -u ftp://user:secret@ftp.example.com/my-local-file.txt my-local-file.txt


9
এফটিপি: অবৈধ বিকল্প - 'আপনি'
বাবকেন বর্ধনিয়ান

2
প্রকৃতপক্ষে :( এফটিপি: ইউ: অজানা বিকল্প
ওয়েবডেভিউলোপার্স

ftp: u: অজানা বিকল্প
মর্টেন

4

এনসিএফটিপি ইনস্টল করুন এবং এনসিফিটপুট সরঞ্জামটি ব্যবহার করুন যা এটির সাথে আসে, যা এই সিনট্যাক্সের মতো বেশ কিছু:

ncftpput -u ftpuser -p ftppass ftphostname /path/where/to/upload localfile.name
if [ $? -ne 0 ]; then echo "Upload failed"; fi

এমনকি আপলোডের অবস্থাটি ভাল বা খারাপ কিনা তাও আপনি দেখতে পারেন। সাধারণ এফটিপি ক্লায়েন্টটি প্রত্যাশার সাথেও ব্যবহার করা যেতে পারে।



2

কমান্ড লাইনের মাধ্যমে দূরবর্তী স্থানে একটি ফাইল আপলোড করুন

#!/bin/bash
#$1 is the file name
#usage:this_script <filename>
HOST='yourhost'
USER="youruser"
PASSWD="pass"
FILE="abc.php"
REMOTEPATH='/html'

ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
cd $REMOTEPATH
put $FILE 
quit
END_SCRIPT
exit 0

1

আমি এটি করতে ব্যাসিবক্স ব্যবহার করি ftpput:

# /bin/busybox ftpput

BusyBox v1.20.2 (Debian 1:1.20.0-7) multi-call binary.

Usage: ftpput [OPTIONS] HOST [REMOTE_FILE] LOCAL_FILE

Upload a file to a FTP server

    -v,--verbose            Verbose
    -u,--username USER      Username
    -p,--password PASS      Password
    -P,--port NUM           Port

দ্রষ্টব্য: busybox ftpgetখুব ভাল কাজ।


0

আপনি sftp বা ftp কমান্ডও ব্যবহার করতে পারেন

sftp {user}@{IP}
Password:
put {path To File On Local Computer}


0

আমি নীচের মতো মার্টির উত্তরকে উন্নত করেছি (বাইনারি অন্তর্ভুক্ত):

[Ftp_example_1.sh]

t ftp_example_sh.sh dump_file ile

ftp -n <<EOF
open 192.168.0.10
user anonymous aaa
binary
put $1
EOF

[Ftp_example_2.sh]

t ftp_example_2.sh 192.168.0.10 dump_file ile

ftp -n <<EOF
open $1
user anonymous aaa
binary
put $2
EOF

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.