আমি ডেস্কটপে একটি ফাইল পেয়েছি, ফাইলের নাম হ'ল hdml। ফাইলটি অনুলিপি করতে, আমি ফাইলটি ক্লিক করি এবং সিএমডি + সি টিপুন।
এখন আমি টার্মিনাল ব্যবহার করে কীভাবে একই জিনিস করব?
আমি ডেস্কটপে একটি ফাইল পেয়েছি, ফাইলের নাম হ'ল hdml। ফাইলটি অনুলিপি করতে, আমি ফাইলটি ক্লিক করি এবং সিএমডি + সি টিপুন।
এখন আমি টার্মিনাল ব্যবহার করে কীভাবে একই জিনিস করব?
উত্তর:
যদি আমি প্রশ্নটি সঠিকভাবে বুঝতে পারি তবে আপনি পরে কী pbcopy
এবং pbpaste
।
একটি টার্মিনাল খুলুন এবং করুন:
$ cat ~/Desktop/ded.html | pbcopy
এখন সেই ফাইলটি ক্লিপবোর্ডে রয়েছে।
এটি অন্য কোথাও রাখার জন্য, এটি আটকানোর জন্য, করুন:
$ pbpaste > ~/Documents/ded.html
এখন আপনার ded / ডকুমেন্টে বসে ডেড। Html এর একটি অনুলিপি থাকা উচিত।
cat ~/.emulator_console_auth_token | auth <read_content>
?
লির উত্তর সঠিক দিক দিয়ে চলেছে তবে এর মধ্যে বেশ কয়েকটি ত্রুটি রয়েছে: ফাইন্ডার ব্যবহার করার দরকার নেই ( স্ট্যান্ডার্ডএডিশনস ওএসএএক্স এর the clipboard
অংশ ) এবং হ্যান্ডলারের দেওয়া কমান্ড লাইন থেকে তর্কগুলি পাস করার আরও নির্ভরযোগ্য উপায় (10.4 থেকে)। এই দুটি পরিবর্তনই ব্যাপকভাবে "পলায়ন" সরল করে দেয় যা শেলের মধ্যে প্রোগ্রামে প্রবেশের জন্য করা দরকার।run
এখানে আমার সংস্করণটি রয়েছে (শেল ফাংশনটিতে আবৃত — এটি আপনি .bashrc
এটিতে রাখতে পারেন (যেমন) এটি আপনার শেলগুলিতে উপলব্ধ করার জন্য):
file-to-clipboard() {
osascript \
-e 'on run args' \
-e 'set the clipboard to POSIX file (first item of args)' \
-e end \
"$@"
}
file-to-clipboard ~/Desktop/ded.html
এই স্ক্রিপ্টের সাথে ক্লিপবোর্ডে রাখা একটি ফাইলের পরে ফাইলটি অন্য ফোল্ডারে অনুলিপি করতে ফাইন্ডারে আটকানো যেতে পারে ।
ওসাস্ক্রিপ্ট হ্যাশ-ব্যাং ইন্টারপ্রেটার হিসাবে ব্যবহৃত হতে পারে (10.5 সাল থেকে)। এটি একটি ফাইলে রাখুন (উদাঃ file-to-clipboard
)
#!/usr/bin/osascript
on run args
set the clipboard to POSIX file (first item of args)
end
ফাইলটি এক্সিকিউটেবল করুন ( chmod +x /path/to/where/ever/you/put/file-to-clipboard
)। তারপরে এটি চালান:
/path/to/where/ever/you/put/file-to-clipboard ~/Desktop/ded.html
যদি এটি কোনও PATH ডিরেক্টরিতে সঞ্চিত থাকে তবে আপনি "স্ক্রিপ্ট" ফাইলের পথটি বাদ দিতে পারেন।
set the clipboard to {one,two}
(যদিও অন্য একটি অ্যাপলস্ক্রিপ্ট প্রোগ্রাম সফলভাবে তালিকাটি বের করতে পারে)। StandardAdditions ক্লিপবোর্ডে কমান্ড একক আইটেম সীমাবদ্ধ হতে পারে।
কমান্ড লাইনটি ব্যবহার করে আপনি যা করার চেষ্টা করছেন তা অর্জন করার কোনও উপায় নেই। অ্যাপল যখন পাঠ্যের অনুলিপিটি অনুলিপি করার অনুমতি দেওয়ার জন্য সরঞ্জাম pbcopy
এবং pbpaste
সরঞ্জামগুলি সরবরাহ করে, আপনি যে অর্থে সন্ধান করছেন সেটি কোনও ফাইল অনুলিপি করতে আপনি এই সরঞ্জামগুলি ব্যবহার করতে পারবেন না।
খুব বেশি প্রযুক্তিগত বিশদে না গিয়ে, আপনি যখন ফাইন্ডার ব্যবহার করে কোনও ফাইল 'অনুলিপি' করেন ⌘C, আপনি আসলে ফাইলটি অনুলিপি করেন না, কেবল ক্লিপবোর্ডে থাকা ফাইলটির একটি রেফারেন্স তৈরি করে এবং এটি ফাইলের রেফারেন্স হিসাবে চিহ্নিত করে। আপনি যখন পেস্ট করবেন তখন কোনও অ্যাপ্লিকেশন এই রেফারেন্সটি গ্রহণ করে, আপনার জিনিসগুলি বাছাই করা, আপনি কী পেস্ট করেছেন তা নির্ধারণ করার এবং শেষ পর্যন্ত ফাইলটি যেমন উপযুক্ত হবে তেমন কাজ করার দায়িত্ব রয়েছে। সংক্ষেপে, আপনি যখন ফাইন্ডারে কোনও ফাইল অনুলিপি করেন, তখন এটি কোনও নির্দিষ্ট ক্লিপবোর্ডে একটি নির্দিষ্ট উপায়ে ফাইলের পাথ সংরক্ষণ করে এবং আপনি যখন পেস্ট করেন, তখন এটি ফাইলের পাথটি গ্রহণ করে এবং বিষয়বস্তু ব্যবহার করে একটি নতুন ফাইল তৈরি করতে জানে পুরানো একটি (ক্লিপবোর্ডে একটি ফাইল অনুলিপি করুন, এটি মুছুন, এটি অন্য কোথাও আটকানোর চেষ্টা করুন এবং উদাহরণস্বরূপ কী ঘটে তা দেখুন)।
অনুলিপি করা এবং আটকানোর এই অর্থে, হাতের কাছে পাওয়া সরঞ্জামগুলি আপনার যা প্রয়োজন তা করতে যথেষ্ট নয়। বোহজ যেমন পরামর্শ দিয়েছেন, আপনি পুরানো ফাইলের বিষয়বস্তুগুলি একটি নতুন অনুলিপি করতে চেষ্টা করতে পারেন, তবে এটি কেবল পাঠ্য ফাইলের জন্যই ভাল কাজ করবে। আপনার প্রাপ্ত কোনও বাইনারি ফাইলগুলি কলুষিত হবে (কোনও চিত্রের সাহায্যে এটি করার চেষ্টা করুন - এটি দূষিত হয়ে যায়)।
Traditionalতিহ্যবাহী কমান্ড লাইন আপনাকে এইভাবে ব্যর্থ করবে, তবে আপনি যদি একবার অ্যাপলস্ক্রিপ্টে এটি করতে চান, তবে কমান্ড লাইনের সাহায্যে এটি অনুরোধ করতে পারেন তবে আপনি একবার নজর দিতে পারেন osascript
।
pbcopy
এবং pbpaste
এটি কেবলমাত্র একটি টেক্সট ফাইল হিসাবে ঘটে বলেই ঘটে।
pbcopy -help
একটি অ-উত্পাদন-যোগ্য NSLog()
লাইন পান 'pbcopy -help'
। এটি এটি বুঝতে একটি প্রোগ্রামার হতে সহায়তা করে, এ কারণেই আমি চিম ইন করা প্রয়োজন বলে মনে করেছি
নীচের ফাংশনটি কেবল একটি একক ফাইলের সাথে কাজ করে, একাধিক ফাইলের সাথে নয়। এর জন্য জিএনইউ দরকার readlink
যা আপনি চালিয়ে ইনস্টল করতে পারেন brew install findutils
।
copy(){ osascript -e{'on run{a}','set the clipboard to posix file a',end} "$(greadlink -f -- "$1")";}
সম্পাদনা: আমি tell app "Finder"
ব্লকটি সরিয়েছি ।
সম্পাদনা 2: আপেক্ষিক পাথ সমর্থন করে এমন কোনও সংস্করণে ফিরে যাওয়া।
এখানে একটি সহজ শেল / বাশ স্ক্রিপ্ট। এটি কেবল আপনার .bashrc
ফাইলে আটকে দিন (বা এর মতো):
file-to-clipboard() {
if [ -z "$1" ]; then
echo "file path/name:"
read FILE
else
FILE="$1"
fi
pbcopy < "$FILE"
}
আপেক্ষিক ফাইলের সমর্থন সহ:
clip_img() {
osascript -e 'on run argv' \
-e 'set currentDir to do shell script "pwd"' \
-e 'set the clipboard to (read POSIX file (POSIX path of (currentDir as text & (first item of argv) )) as JPEG picture)' \
-e 'end run' "/$1"
# osascript -e 'clipboard info'
}
clip_img path-to-file
ক্লিপবোর্ডে চিত্র অনুলিপি করতে চালান , এবং path-to-file
আপেক্ষিক হতে পারে। ফাইলটি জেপিগ বা পিএনজি ফাইল হতে পারে।
আপনি ইউনিট পরিবেশে বিড়াল 'অরিজিনফিল'> 'গন্তব্যস্থান' ব্যবহার করতে পারেন;
উইন্ডোতে অরিজিনফাইলে গন্তব্যস্থানটি অনুলিপি করুন।