সাধারণত, আপনি কেবল শটওয়েল খুলতে এবং ফোল্ডারে টেনে আনতে চাইবেন।
আপনার যদি প্রয়োজন হয়, আপনি শেলটি সিআর 2 ফাইলের একটি তালিকা তৈরি করতে এবং শটওয়েলকে কেবল সেই ফাইলগুলি খুলতে বলতে পারেন। মাঝেমধ্যে এটি আপনি যা চান তা হতে পারে তবে এই ক্ষেত্রে শটওয়েলের আচরণের কারণে আপনার যা প্রয়োজন ছিল তা পুরোপুরি করেনি - অন্য কোনও পরিস্থিতিতে, একটি বৈশিষ্ট্য - স্বয়ংক্রিয়ভাবে আপনাকে অন্যান্য ইমেজ ফাইলগুলি (সমস্ত ধরণের) এর মধ্যে থাকা দেখায় আপনি যে চিত্রগুলি খোলেন তেমন ফোল্ডার।
শটওয়েল কেবল আপনার আগ্রহী চিত্রগুলি সম্পর্কেই জানে তা নিশ্চিত করার জন্য, আপনি ডিরেক্টরি ট্রি অন্য কোথাও ক্লোন করতে পারতেন, কেবল .cr2
সেগুলিতে থাকা ফাইল এবং ফোল্ডারগুলি অনুলিপি করতে পারেন, তবে অন্য কিছুই নয়। যদিও এটি যথেষ্ট পরিমাণ অতিরিক্ত জায়গা নিতে পারে। সুতরাং অন্য পদ্ধতির প্রতীকী লিঙ্কগুলির একটি শ্রেণিবিন্যাস তৈরি করা - যেখানে আপনার মূল ফাইলগুলির অনুলিপিগুলির একটি নতুন ডিরেক্টরি ট্রি থাকার পরিবর্তে আপনার .cr2
কাছে সেমিনকের একটি নতুন ডিরেক্টরি ট্রি রয়েছে । এটি অনেক কম জায়গা নেয়।
এই উত্তরটি those সমস্ত পদ্ধতির অন্তর্ভুক্ত করে।
শটওয়েলে চিত্রগুলির একটি ফোল্ডার খোলা হচ্ছে (সাবফোল্ডার সহ)
শটওয়েল নিজেই আপনাকে ফটোগুলির একটি সম্পূর্ণ ডিরেক্টরি গাছ খোলার জন্য দুটি উপায় দেয়। যদি এগুলি আপনার পক্ষে কাজ করে তবে আপনার কমান্ড লাইনে চালাক কিছু করতে হবে না এমনকি এটি একেবারেই ব্যবহার করার দরকার নেই। যদি তা না হয় তবে আপনি অন্য কৌশলটির সাথে এটি শেষ করতে পারেন। (উদাহরণস্বরূপ, আপনি যদি সিমলিংকের একটি নতুন ডিরেক্টরি তৈরি করতে বা আপনার .cr2
ফাইলগুলির অনুলিপিগুলি শেষ করেন, তবে আপনি এটি খুলতে এই উপায়গুলির মধ্যে একটি ব্যবহার করতে পারেন))
ওয়ে 1: কেবল শটওয়েলে পুরো ফোল্ডারটি খুলুন।
শটওয়েলে, ফাইল মেনুতে, ফোল্ডার থেকে আমদানি ক্লিক করুন । তারপরে আপনি যে ফোল্ডার থেকে চিত্রগুলি আমদানি করতে চান তা নির্বাচন করুন। এটি কেবলমাত্র .cr2
ফাইলগুলিতে সীমাবদ্ধ থাকবে না , তবে আপনি যদি .cr2
ডিজিটাল ক্যামেরা থেকে নির্মিত চিত্রগুলি সহ একাধিক সাবফোল্ডার থেকে ফাইলগুলি খোলেন , তবে সম্ভবত এটি কেবলমাত্র উপস্থিত ফাইলই হবে।
আরও তথ্যের জন্য সমস্ত ছবি পুনরাবৃত্তভাবে দেখানোর জন্য যাকোবের উত্তর দেখুন (যে কোনও সাবফোল্ডার অন্তর্ভুক্ত করুন) ।
উপায় 2: ফটোগুলি শটওয়েলে টেনে আনুন।
বেশিরভাগ ডেস্কটপ এনভায়রনমেন্ট এবং ফাইল ব্রাউজারের সাহায্যে আপনি শটওয়েল খুলতে এবং শটওয়েল উইন্ডোতে আপনার চিত্রগুলি উপস্থিত ফোল্ডারটি টেনে আনতে পারেন। ফোল্ডার থেকে আমদানির মতো , এটি শটওয়েল ফটোগুলি খোলার পরামর্শ দেয় way
আপনি যখন কোনও ফাইল ব্রাউজার উইন্ডো বা আপনার ডেস্কটপ থেকে শটওয়েলে টেনে আনেন, আপনি একটি নির্দিষ্ট লাইব্রেরিতে টেনে আনতে পারেন। অথবা আপনার যদি একাধিক গ্রন্থাগার স্থাপন না করা থাকে তবে আপনি কেবলমাত্র যেকোন জায়গায় টেনে আনতে পারেন এবং এটি কার্যকর। (আপনাকে এমনকি বাম ফলকেও টেনে আনতে হবে না))
এই পদ্ধতিটি খুব সুবিধাজনক এবং এটি ম্যানুয়ালি ফোল্ডারটি নির্বাচন করার মতোই শক্তিশালী ( ফাইলের সাথে > ফোল্ডার থেকে আমদানি করুন , উপরে বর্ণিত হিসাবে)। আপনি যখন এই কোনও পদ্ধতি ব্যবহার করে ফাইল বা ফোল্ডারগুলি খুলেন , শটওয়েল আপনাকে ফটোগুলিগুলিকে তার লাইব্রেরিতে অনুলিপি না করে খোলার বিকল্প দেয়।
অনুলিপি ছাড়া আমদানি করতে, ক্লিক করুন স্থানে আমদানি পরিবর্তে টি ফটো অনুলিপি করবেন ।
চিত্র ফাইলের নামের সাথে শটওয়েল চালু করা হচ্ছে
যদি কোনও কারণে যদি আপনি টার্মিনালে একটি কমান্ড চালিয়ে এটি করতে চান বা করতে চান তবে আপনি shotwell
কমান্ডটি চালাতে পারেন এবং প্রতিটি চিত্রের ফাইলের নামটিকে এটি একটি আর্গুমেন্ট হিসাবে পাস করতে পারেন । গ্লোবস্টার এটি সহজ করে তোলে:
shopt -s globstar
shotwell **/*.cr2
.cr2
এটি বর্তমান ডিরেক্টরিতে যে কোনও জায়গায় অবস্থিত ফাইলগুলি খুলবে । এটি শটওয়েল চালানো এবং তারপরে ফোল্ডারটিকে টেনে আনার থেকে পৃথক হয়, এতে শটওয়েল কেবলমাত্র আপনার নাম দেওয়া ফাইলগুলি আমদানি করার চেষ্টা করবে। তবে যেহেতু শটওয়েল প্রায়শই একই ফোল্ডারগুলি থেকে অন্য ইমেজ ফাইলগুলি যে ফাইলগুলি খোলার জন্য বলেছে সেগুলি প্রদর্শন করে, এটি আপনার প্রয়োজনের জন্য পর্যাপ্ত নাও হতে পারে। (এবং আপনার সমস্যার বিষয়ে আপনি যে আরও তথ্য দিয়েছেন তা বোঝায় যে এটি তা নয় an বিকল্পের জন্য নীচে দেখুন))
এর মধ্যে ফাইল বা সাবফোল্ডার অন্তর্ভুক্ত নয় যাদের নাম দিয়ে শুরু হয়.
। যাইহোক, আপনি CR2 ফাইল যাদের নাম একটি বিন্দু দিয়ে শুরু, আছে যদি তারপর অধিকাংশ সময় আপনি সম্ভবত না যাহাই হউক না কেন Shotwell তাদের খুলতে চান। আপনি যদি নিজের ইচ্ছাকৃতভাবে এই ফাইল বা ফোল্ডারগুলির নাম না দিয়ে থাকেন তবে কোনও চিত্র বা নথি ফাইলের নাম এক্সটেনশান সহ একটি ডটফিল কোনও প্রকৃত চিত্র বা নথির চেয়ে মেটাডেটা ফাইল হওয়ার সম্ভাবনা বেশি। উদাহরণস্বরূপ, ম্যাকোসগুলি প্রায়শই বাহ্যিক মিডিয়া অ্যাক্সেস করার সময় (ফ্ল্যাশ ড্রাইভ এবং ডিজিটাল ক্যামেরা সহ) এ জাতীয় ফাইলগুলি যুক্ত করে (উদাহরণস্বরূপ, ._kittens.cr2
প্রকৃত চিত্রের জন্য kittens.cr2
)।
আপনি যদি সেই ফাইলগুলিও খুঁজতে.
.
চান যাঁর নামগুলি শুরু হয় বা যেগুলি ফোল্ডারে রয়েছে যার নামগুলি শুরু হয় , তবে ডটগ্লোবও সক্ষম করুন। আপনি shopt -s dotglob
উভয় globstar
এবং বিল্টিনের সাথে বা পাস dotglob
করে এটি করতে পারেন shopt
:
shopt -s globstar dotglob
ডিফল্টরূপে, গ্লোবগুলি কেস-সংবেদনশীল। কিন্তু আপনি চাইতে পারেন ফাইলের নামের মেলে কেস-insensitively তাই শেষ হওয়া ফাইল খুলুন হিসেবে, .cr2
, .Cr2
, .cR2
, এবং .CR2
। এটি করতে, হয়:
চলমান দ্বারা nocaseglob সক্ষম shopt -s
সঙ্গে nocaseglob
পারেন নিজে বা অন্য শেল বিকল্প সহ। উদাহরণস্বরূপ, shotwell
সমস্ত .cr2
ফাইল চালানো , সংবেদনশীলতার সাথে কেস অনুসন্ধান করা .
এবং ফাইল-ডিরেক্টরি এবং ফাইল-ডিরেক্টরিতে .
অন্তর্ভুক্ত:
shopt -s globstar dotglob nocaseglob
shotwell **/*.cr2
অথবা , নিজের গ্লোবাল প্যাটার্নের .[cC][rR]2
পরিবর্তে ব্যবহার করুন .cr2
। উদাহরণস্বরূপ, এটি উপরের মতো একইটি সম্পাদন করে:
shopt -s globstar dotglob
shotwell **/*.[cC][rR]2
নোট করুন যে কেস সংবেদনশীলতা .
ফাইল এবং ফোল্ডারগুলির মিল রয়েছে কিনা তা থেকে সম্পূর্ণ পৃথক । আপনি dotglob
উপরের উদাহরণগুলি থেকে সরাতে পারেন এবং সেগুলি এখনও সংবেদন-সংবেদনশীল হতে পারে।
কেবলমাত্র বর্তমান ডিরেক্টরিটি ব্যবহার না করে একটি ডিরেক্টরি নির্দিষ্ট করতে তার নাম এবং একটি বিশ্বব্যাপী /
আগে রাখুন **/*.cr2
। উদাহরণস্বরূপ, shotwell
উপরের কমান্ডটি এইটির পরিবর্তে আপনার হোম ডিরেক্টরিটির সাব-ডিরেক্টরিতে থাকা সমস্ত .cr2
ফাইল খুলবে Pictures
:
shotwell ~/Pictures/**/*.cr2
আপনার বর্তমান ডিরেক্টরিটি ব্যবহার করে এমন প্রথম কমান্ডের সাথে আলাদা নয়, আপনি যে কমান্ডটি চালাচ্ছেন তা বিবেচনা করেই আপনি শটওয়েলকে একই ফাইলগুলি খুলতে বলবেন না।
পরীক্ষামূলক
আপনার যদি সত্যিই এটির জন্য টার্মিনালটি ব্যবহার করতে হয় তবে আমি অনুমান করছি এটি আরও জটিল কিছু অংশ হতে পারে। আপনি যদি পছন্দ করেন তবে বাস্তবে এগুলি প্রতিস্থাপনের shotwell
মাধ্যমে চালানোর আগে আপনি এই জাতীয় আদেশগুলি পরীক্ষা করতে পারেন printf '%s\n'
। শটওয়েলে ফাইলের নামগুলি পরিবর্তনের পরিবর্তে প্রতি লাইনে একটি করে তাদের তালিকাভুক্ত করে। উদাহরণস্বরূপ, আমার মেশিনে:
ek@Io:~$ printf '%s\n' ~/tmp/**/*.cr2
/home/ek/tmp/another image.cr2
/home/ek/tmp/image.cr2
/home/ek/tmp/some folder/image3.cr2
গ্লোবস্টার এবং অন্যান্য শেল বিকল্পগুলি বন্ধ করা হচ্ছে
গ্লোবস্টার শেল বিকল্পটি কাজ করতে সক্ষম হয়েছে, যা shopt -s globstar
কমান্ডটি (উপরে) করেছে। যদি এটি ইতিমধ্যে সক্ষম করা থাকে তবে আপনার একাধিক আদেশের দরকার নেই। এবং আপনার কেবল শেল ইনস্ট্যান্সের জন্য একবার গ্লোবস্টার সেট করা দরকার।
আপনি গ্লোবস্টারটি চালিয়ে ফিরে যেতে পারেন:
shopt -u globstar
এবং আপনি গ্লোবস্টারটি চালু করে চালু আছে কিনা তা পরীক্ষা করতে পারেন :
shopt globstar
যদি আপনি কোনও স্ক্রিপ্টে গ্লোবস্টার ব্যবহার করে থাকেন তবে আপনার যদি একই স্ক্রিপ্টের পরে গ্লোবস্টারের সাথে লেখা না থাকে এমন কোড থাকতে পারে তবে আপনাকে এটিকে ফিরিয়ে দেওয়ার কথা বিবেচনা করা উচিত। উদাহরণস্বরূপ, **
যখন আপনি বোঝাতে চেয়েছেন তখন লেখার *
ক্ষেত্রে সাধারণত সমস্যা হয় না যখন গ্লোবস্টার অক্ষম থাকে তবে গ্লোবস্টার চালু হওয়ার সাথে সাথে এটি কোনও আদেশের চেয়ে কারও বেশি ফাইলকে প্রভাবিত করে একটি কমান্ড তৈরি করে গুরুতর সমস্যা সৃষ্টি করতে পারে।
একইভাবে, যদি আপনি dotglob বা nocaseglob ব্যবহার করা হয় এবং আপনি খুব এটি বন্ধ করে চান, আপনি তাই করতে পারেন shopt -u dotglob
এবং shopt -u nocaseglob
যথাক্রমে। আপনি shopt -u
একই সময়ে আনসেট করতে একাধিক শেল বিকল্পগুলিও পাস করতে পারেন । উদাহরণস্বরূপ, বন্ধ করা globstar,
dotglob
, এবং nocaseglob
:
shopt -u globstar dotglob nocaseglob
গ্লোবস্টারের তুলনায়, আপনার চেয়ে কম গুরুতর ভুল হতে পারে কারণ আপনি ডটগ্লোব বা নোকাসেগ্লোবকে ভুলে গিয়েছিলেন। তবে অন্যান্য ব্যক্তিরা (আপনার কাছে জিজ্ঞাসা উবুন্টুর মতো সাইটে পরামর্শ দেওয়া ব্যক্তিরা) সাধারণত ডটগ্লোব এবং নোকাসেগ্লোব অক্ষম করা হয় যখন তারা আপনাকে ব্যবহার করার জন্য আদেশের পরামর্শ দেয়, যদি না আপনি তাদের অন্যথায় বলেন না।
এই গ্লোব সম্পর্কিত শেল বিকল্পগুলি (এবং সাধারণভাবে গ্লোবগুলিতেও ) সম্পর্কিত আরও তথ্যের জন্য , ব্যাশের রেফারেন্স ম্যানুয়ালটি দেখুন । এগুলি সমস্তই মূলত 4.3.2 শপ বিল্টিনে আচ্ছাদিত । গ্লোবস্টারের জন্য, আরও দেখুন 3.5.8.1 প্যাটার্ন ম্যাচিং । ডটগ্লাবের জন্য, ফাইলের নাম সম্প্রসারণও 3.5.8 দেখুন ।
একটি নতুন ডিরেক্টরি ট্রি তৈরি করা হচ্ছে
যেহেতু আপনার ক্ষেত্রে কেবলমাত্র ফাইলগুলি দেখানোর জন্য আপনার শটওয়েলকে সত্যই প্রয়োজন বলে মনে হচ্ছে , আপনার ফাইলগুলি একই ফোল্ডারে নন- ফাইল রয়েছে এবং শটওয়েলে চিত্র ব্রাউজিং স্বয়ংক্রিয়ভাবে সেই ফাইলগুলিও সরবরাহ করছে .cr2
.cr2
.cr2
, দেখে মনে হচ্ছে আপনার কোনও ফোল্ডার থাকা দরকার .cr2
আপনি যে ফাইলগুলি খোলার চেষ্টা করছেন সেগুলি ছাড়া অন্য কোনও চিত্র ফাইল নেই ।
হিসাবে আপনি পরামর্শ থাকেন ফাইল, মুভিং , এক পন্থা, কিন্তু আমি সুপারিশ পরিবর্তে পারেন অনুলিপি , ফাইল অথবা, ভাল উপার্জন সিম্বলিক লিংক ফাইলগুলিতে (এছাড়াও দেখুন ফোলডক ), কারণ:
- আপনি যদি ডিভাইসগুলির মধ্যে ফাইলগুলি সরিয়ে থাকেন তবে এর জন্য যেভাবেই অনুলিপি করা দরকার, সুতরাং সেক্ষেত্রে স্থানান্তর দ্রুততর হয় না।
- আপনার কাছে যদি জায়গা থাকে তবে আপনি যা করেছেন তা আপনার প্রয়োজন অনুসারে সঠিক কিনা তা আপনি সন্তুষ্ট না হওয়া অবধি আপনার শুরু করা সমস্ত কিছুর অপরিবর্তিত ফোল্ডার রাখা ভাল idea স্পষ্টতই এটি সর্বদা প্রযোজ্য বা ব্যবহারিক নয়। তবে আপনার ক্ষেত্রে, এই ফাইলগুলি একটি ডেটা পুনরুদ্ধার অপারেশনের ফলাফল। সঠিকভাবে কী উদ্ধার হয়েছে এবং কোথা থেকে পাওয়া গেছে তার সহজেই অনুভূত রেকর্ড রাখা কার্যকর হতে পারে।
- যদি আপনি প্রতীকী লিঙ্কগুলি তৈরি করতে চান তবে অতিরিক্ত স্থান গ্রহণের পরিমাণ অত্যন্ত কম । ( যদিও লক্ষ্য ডিস্কটি পুরোপুরি পূর্ণ , তবে আপনাকে তখনও সিমলিংকগুলি তৈরি করতে আপনাকে এটিতে জায়গা খালি করতে হবে - বা একটি ভিন্ন লক্ষ্য ডিস্ক ব্যবহার করতে হবে))
আপনার আরও একটি সিদ্ধান্ত নেওয়ার দরকার আছে। আপনি কি একই ডিরেক্টরিতে সমস্ত নতুন এন্ট্রি (সেগুলি অনুলিপি বা সিমলিংক) তৈরি করেন, ফাইল স্তরক্রমকে সমতল করে? অথবা আপনি উত্সের প্রতিটি ডিরেক্টরিকে অন্তর্ভুক্ত ডিরেক্টরিতে অন্তত একটি .cr2
ফাইল ধারণ করে ডিরেক্টরিগুলি তৈরি করেন ?
ফাইলের স্তরক্রমকে সমতল করা আপনাকে সহজেই সহজেই সমস্ত ফাইল দেখতে দেয়। বিশেষত, ফাইলগুলির নাম এবং মাপগুলি একবারে দেখতে পারা পাশাপাশি গ্রাফিকাল ফাইল ব্রাউজারে ফাইলগুলির কোনও সমন্বয় নির্বাচন করা সহজ select
তবে এটি কোন ফোল্ডারে ছিল সেগুলি সম্পর্কিত তথ্য হারাবে, যা মূল্যবান হতে পারে (যদিও আপনি মূল ফোল্ডারে ফিরে যেতে পারেন এবং যদি ফাইলগুলি না সরান তবে সেখানে সেগুলি সন্ধান করতে পারেন)।
ফাইলের স্তরক্রমকে সমতল করার ক্ষেত্রে আরও বড় সমস্যা হ'ল যদি আপনার একই জায়গায় দুটি বা একাধিক ফাইল বিভিন্ন জায়গায় থাকে তবে তা ঘটে । আপনি যদি ফাইল স্তরক্রমকে সমতল করেন, তবে আপনি এটি কীভাবে করেন তার উপর নির্ভর করে প্রথমটি বাদে সমস্তগুলি অনুলিপি করা (বা সংযুক্ত) হতে ব্যর্থ হবে এবং আপনি একটি ত্রুটি বা সতর্কতা পাবেন, বা শেষের অনুলিপি (বা লিঙ্ক) ব্যতীত অন্যটি হবে হতে ওভাররাইট ।
এটি অন্য একটি কারণ যা আমি ফাইলগুলি সরানোর পরিবর্তে অনুলিপি বা সিমলিংকগুলি তৈরি করার প্রস্তাব দিই। আপনি যদি "সফলভাবে" একই ফাইলটিতে একাধিক ফাইল সরান, আপনি সর্বশেষ ব্যতীত সমস্ত হারিয়েছেন!
সাব-ডাইরেক্টরিগুলি ব্যতীত সমস্ত কিছুকে একটি একক ডিরেক্টরিতে সমতল করার অসুবিধার কারণে, আমি এখানে যে পদ্ধতিগুলি গ্রহণ করি তা গন্তব্যে একটি নতুন ডিরেক্টরি ট্রি তৈরি করে।
উপায় 1: অনুলিপি করা
আমি এটি প্রথম দেখায় কারণ এটি সামান্য সরল, তবে আমি আপনাকে পরিবর্তে প্রতীকী লিঙ্কগুলি তৈরি করার পরামর্শ দিই ("ওয়ে 2"), বিশেষত যদি গন্তব্য ড্রাইভে সমস্ত ফাইল রাখার জন্য পর্যাপ্ত জায়গা নাও থাকে। "উপায় 2," যা কিছুটা জটিল, আরও বিশদ কারণ কারণ সেই কৌশলটি কীভাবে ব্যবহার করা যায় সে সম্পর্কে কম সংস্থান আছে বলে মনে হয়, এই পরিস্থিতিতে আমি বেশিরভাগ লোকদের পছন্দ করব এবং উভয় পদ্ধতির ক্ষেত্রে প্রযোজ্য তথ্য - পাথগুলিতে ফাঁকা স্থানগুলি অবলম্বন সম্পর্কে প্রাথমিক পরামর্শ - এখানে না দিয়ে দেওয়া হয়েছে।
যখন আপনাকে ডিরেক্টরি ট্রি অনুলিপি করতে হবে এবং আপনার অনুলিপি অপারেশনটি কাস্টমাইজ করতে হবে তখন আপনার সাধারণত rsync
পরিবর্তে ব্যবহার করা উচিত cp
। এই সেই ক্ষেত্রে এক।
src
আপনার সমস্ত সিআর 2 ফাইল সমন্বিত শীর্ষ স্তরের ডিরেক্টরিতে যাওয়ার পথটি প্রতিস্থাপন করা এবং dest
আপনি যে ডিরেক্টরিটি তৈরি করতে চান তার নামের পরিবর্তে সিআর 2 ফাইলে প্রতীকী লিঙ্কের স্তরক্রম থাকবে, চালনা করুন:
rsync -rl --prune-empty-dirs --include='*/' --include='*.cr2' --exclude='*' src/ dest
/
উত্স ডিরেক্টরিটির নামের পরে ভুলে যাবেন না , যদি না আপনি ভিতরে কোনও অতিরিক্ত শীর্ষ-স্তরের ডিরেক্টরি তৈরি করতে চানdest
। এটি হ'ল, আপনি যদি অনুসরণের কাজটি বাদ দেন /
, তবে rsync
আপনার জন্য গন্তব্যের ডিরেক্টরিটি ভিতরে তৈরি করবে dest
। উদাহরণস্বরূপ, ধরুন src
কোনও আপেক্ষিক পথ যা নং রয়েছে /
। তারপর:
- সঙ্গে
src/
আপনার rsync
কমান্ড, আপনি একটি সিমবলিক লিঙ্ক পেতে dest/foo/bar.cr2
ফাইলের জন্য src/foo/bar.cr2
।
- সঙ্গে
src
আপনার rsync
কমান্ড, আপনি একটি সিমবলিক লিঙ্ক পেতে ফাইলের জন্য ।dest/src/foo/bar.cr2
src/foo/bar.cr2
যেহেতু এটি শীর্ষ স্তরের ডিরেক্টরিটির জন্য বিভ্রান্তিকর হতে পারে যেখানে সিমলিংকগুলিতে শীর্ষ-স্তরের ডিরেক্টরিতে .cr2
যে ফাইলগুলি থাকে যা সিমলিংকগুলি নির্দেশ করবে সেগুলির জন্য একই নামটি স্থাপন করা হবে, তাই আমি আপনাকে /
গন্তব্যের শেষে অন্তর্ভুক্ত করার পরামর্শ দিচ্ছি আপনার rsync
কমান্ড ডিরেক্টরি ডিরেক্টরি । (এবং উত্স ডিরেক্টরিতে, এটি একটি ডিরেক্টরি দিন যা খালি, অস্তিত্বহীন, বা অন্যথায় এই উদ্দেশ্যে উত্সর্গীকৃত Otherwise
হিসাবে সাধারণত ক্ষেত্রে দেখা যায় যখন আপনি একটি ফাইল বা একটি কম্যান্ড-লাইন প্রোগ্রাম বা স্ক্রিপ্টে ডিরেক্টরি নাম পাস, যদি আপনার গন্তব্য বা সোর্স ডিরেক্টরিতে পাথ কোনো ফাঁকা স্পেস (অথবা অক্ষর শেল, মত দ্বারা বিশেষভাবে চিকিত্সা ধারণ \
, $
, '
, এবং বিভিন্ন অন্যান্য বিরামচিহ্ন), তারপরে আপনাকে সেগুলি উদ্ধৃত করতে হবে । "ওয়ে 2" - এ, স্পেসগুলির সর্বাধিক সাধারণ ক্ষেত্রে, কীভাবে এটি করবেন তা আমি বিশদ দিয়েছি - that বিভাগে উদ্ধৃতি দেওয়ার পরামর্শটি এখানেও প্রযোজ্য। তবে, যদি আপনি নিশ্চিত হন না কীভাবে কোনও ফোল্ডারের নামটি উদ্ধৃত করবেন, আপনি উমুন্টুটিকে ফোল্ডারটি টেমারমিনালে টেনে আনতে পারেন; এর সম্পূর্ণ পথটি সঠিক উদ্ধৃতি সহ আটকানো হবে ।
.cr2
সেগুলিতে থাকা ফাইল এবং ফোল্ডারগুলি অনুলিপি করার পরে , আপনি শটওয়েলে গন্তব্য ফোল্ডারটি খুলতে পারেন। ( উপরের শটওয়েলে "চিত্রগুলির একটি ফোল্ডার খোলার (সাবফোল্ডারগুলি সহ) দেখুন " running) তবে, চালানোর আগে rsync
, আমি আপনাকে সিদ্ধান্ত নিতে পরামর্শ দিচ্ছি যে আপনি যে এন্ট্রিগুলি শুরু করবেন .
এবং যদি আপনি কেস-বৈকল্পিক প্রত্যয় সহ এন্ট্রিগুলি অন্তর্ভুক্ত করতে চান তবে এড়িয়ে যেতে চান কিনা decide যদি তা হয় তবে আপনাকে কিছুটা আলাদা rsync
কমান্ড চালাতে হবে ।
বিন্দুযুক্ত এন্ট্রি এবং কেস সংবেদনশীলতা হ্যান্ডলিং কাস্টমাইজ
rsync
কোনও ডট দিয়ে শুরু হওয়া ফাইল এবং ডিরেক্টরিগুলি এড়িয়ে গেছে এবং আপনি প্রত্যয়টির সাথে মিলে কেস-সংবেদনশীলতা চান কিনা তা পরিবর্তনের জন্য আপনি আলাদা কমান্ডটি ব্যবহার করতে চাইতে পারেন .cr2
।
কমান্ড উপরে আছে ডিরেক্টরি এবং ফাইল যাদের নাম দিয়ে শুরু অন্তর্ভুক্ত .
। এই জাতীয় ফাইল এবং ডিরেক্টরিগুলি বাদ দিতে --exclude='.*/' --exclude='.*'
অন্য সমস্ত --include
গুলি এবং --exclude
গুলি এর আগে রাখুন । এটির rsync
পরিবর্তে এই কমান্ডটি ব্যবহার করুন (যথাযথ বিকল্পগুলির সাথে src
এবং dest
অবশ্যই):
rsync -rl --prune-empty-dirs --exclude='.*/' --exclude='.*' --include='*/' --include='*.cr2' --exclude='*' src/ dest
rsync
দেখানো কমান্ড দূর পর্যন্ত কেস সংবেদনশীল হয়েছে এবং যে শেষ ফাইল কপি করা হবে না .CR2
, .Cr2
অথবা .cR2
বরং .cr2
। আপনি এই ধরনের ফাইল কপি করতে চান, তাহলে আপনি ব্যবহার করে যে জন্য অ্যাকাউন্ট করতে হবে --include
প্যাটার্ন *.[cC][rR]2
স্থানে *.cr2
।
এই তৃতীয় কমান্ডটি কেস-সংবেদনশীল এবং (প্রথম কমান্ডের মতো) ফাইল এবং ডিরেক্টরিগুলি বাদ দেয় না যাদের নাম দিয়ে শুরু হয় .
:
rsync -rl --prune-empty-dirs --include='*/' --include='*.[cC][rR]2' --exclude='*' src/ dest
আপনি যদি ফাইলগুলি অনুলিপি করার পদ্ধতির সাথে গ্রহণ করেন rsync
এবং আপনি নিশ্চিত হন যে এই কমান্ডগুলির মধ্যে কোনটি চান, তবে আপনি যদি কিছু মিস না করেন তা নিশ্চিত করতে চাইলে আমি সেটিকে ব্যবহার করার পরামর্শ দিই । যাইহোক, আপনার সচেতন হওয়া উচিত যে ডটফাইলে মেটাডেটা থাকতে পারে এবং চিত্রের মতো নামের ডটফাইলগুলি সত্যই চিত্র হতে পারে না। মধ্যে dotfiles আলোচনা দেখুন "ইমেজের ফাইলগুলির নাম একটি তালিকা সঙ্গে লঞ্চ Shotwell" উপরে অধ্যায় এবং, dotfiles এবং কেস সংবেদনশীলতা এ "ওয়ে 2" নীচের।
এই চতুর্থ কমান্ডটি কেস-সংবেদনশীল এবং (দ্বিতীয় কমান্ডের মতো) ফাইল এবং ডিরেক্টরিগুলি বাদ দেয় যাঁর নাম দিয়ে শুরু হয় .
:
rsync -rl --prune-empty-dirs --exclude='.*/' --exclude='.*' --include='*/' --include='*.[cC][rR]2' --exclude='*' src/ dest
উপায় 2: প্রতীকী লিঙ্ক তৈরি করা
গন্তব্য ড্রাইভে আপনার পর্যাপ্ত জায়গা থাকলে ওয়ে 1 ঠিক আছে, তবে আমি আপনাকে এটি করার পরামর্শ দিই। এটি ব্যবহার করতে আপনাকে ওয়ে 1 টি পড়তে হবে না।
এখানে উপস্থাপিত পদ্ধতি তালিকার মাধ্যমে .cr2
ফাইলগুলি এবং লুপগুলির একটি তালিকা তৈরি করে, প্রয়োজনীয় লক্ষ্যবস্তু ডিরেক্টরি তৈরি করে এবং প্রতিটি .cr2
ফাইলের প্রতীকী লিঙ্কগুলি সহ সেগুলি স্থাপন করে ।
এটি কেবলমাত্র জটিল যে আমি এটি কেবল ইন্টারেক্টিভভাবে টাইপ না করে স্ক্রিপ্টে রাখার পরামর্শ দিই। আপনি যেখানে চান সেখানে স্ক্রিপ্টটি রাখতে পারেন, তবে সুবিধার জন্য, আমি আপনার হোম ফোল্ডারে সরাসরি স্ক্রিপ্টটি দিয়ে কীভাবে এটি করব তা দেখাব।
স্ক্রিপ্টটি লিখুন (বা পেস্ট করুন)।
make-symlinks
আপনার বাড়ির ফোল্ডারে একটি পাঠ্য ফাইল তৈরি করুন । কোনও ফাইল এক্সটেনশনের প্রয়োজন নেই।
আপনি এটি কোনও পাঠ্য সম্পাদক, যেমন ভিম, ন্যানো, গেডিট বা লিফপ্যাড দিয়ে করতে পারেন। যদিও, LibreOffice Writer এর মতো কোনও ওয়ার্ড প্রসেসর ব্যবহার করবেন না। (আপনি এটি চালাতে cat > ~/make-symlinks
, ফাইলের সামগ্রীতে আটকানো এবং আপনি চাইলে একটি নতুন লাইনে Ctrl+ টিপে এটিও করতে পারেন do D)
আপনি যদি স্ক্রিপ্টটির নাম বাদে অন্য কোনও কিছু রাখেন make-symlinks
, আপনি যখন স্ক্রিপ্টটি পরে ব্যবহার করে এমন কমান্ডগুলি চালাবেন তখন সেই নামটি ব্যবহার করার বিষয়টি নিশ্চিত করুন।
#!/bin/bash
shopt -s globstar dotglob nocaseglob
for f in **/*.cr2; do
mkdir -p "$1/$(dirname "$f")"
ln -s "$PWD/$f" "$1/$f"
done
ফাইলটিতে রাখুন এবং ফাইলটি সংরক্ষণ করুন। এই স্ক্রিপ্টটি গ্লোবস্টার ব্যবহার করে, একটি চিত্র বৈশিষ্ট্য যা "চিত্র ফাইলের তালিকার সাথে শটওয়েল চালু করা" তে উপরে ব্যাখ্যা করা হয়েছে ।
আপনি কীভাবে বিন্দুযুক্ত এন্ট্রি এবং কেস সংবেদনশীলতা পরিচালনা করে তা পরিবর্তন করতে পারেন।
আপনার প্রয়োজনের উপর নির্ভর করে আপনি কিছু পরিবর্তন করতে চাইতে পারেন:
আপনি যদি সেই .cr2
ফাইলগুলি অন্তর্ভুক্ত করতে না চান যাদের নাম দিয়ে শুরু হয় .
বা যেগুলির নামগুলি শুরু হয় সেই ডিরেক্টরিগুলিতে থাকে তবে লাইনটি .
সরিয়ে ফেলুন ।dotglob
shopt
যাদের নাম দিয়ে শুরু করা ফাইল এবং ডিরেক্টরিগুলি .
প্রায়শই মেটাডেটার জন্য ব্যবহৃত হয় ( উপরের "চিত্রের ফাইলের নামের সাথে শটওয়েল চালু করা" বিভাগটি দেখুন)। অন্যদিকে, আপনি যদি নিশ্চিত করতে চান যে আপনার কাছে সমস্ত কিছু আছে, বা যদি অবজ্ঞাতভাবে কিছু অনুপস্থিত থাকে যে আপনি খুব নিশ্চিত যে সেখানে আছেন, তবে তা রাখা উচিত dotglob
।
আপনি অন্তর্ভুক্ত করতে চাইলে শুধুমাত্র ঠিক যে শেষ ফাইল .cr2
কিন্তু না কেস রূপগুলো ( .CR2
, .Cr2
, এবং .cR2
), তারপর আপনি সরাতে উচিত nocaseglob
। যেহেতু আপনার পরিস্থিতি ডেটা পুনরুদ্ধারের সাথে জড়িত এবং শটওয়েল আপনাকে প্রতীকী লিঙ্কের ডিরেক্টরি খুললে আপনি যে ফাইলগুলি মিস করেছেন তার কোনওটি আপনাকে দেখাবে না - সর্বোপরি এই পদ্ধতির মূল বিষয় - আপনি সম্ভবত রাখতে চাইবেন nocaseglob
।
এটি কার্যকর করা।
আপনার স্ক্রিপ্টটি সম্পাদনযোগ্য হিসাবে চিহ্নিত করতে এই আদেশটি চালান:
chmod +x ~/make-symlinks
এটি উত্স এ চালান এবং একটি আর্গুমেন্ট হিসাবে গন্তব্য পাস।
তারপরে ডিরেক্টরিটি উত্স ডিরেক্টরিতে পরিবর্তন করুন, অর্থাত্ শীর্ষগুলি স্তরের ফোল্ডারে ছবি রয়েছে। উদাহরণস্বরূপ, যদি তারা Pictures
আপনার হোম ডিরেক্টরিটির উপ-ডিরেক্টরিতে থাকে তবে আপনি চালনা করবেন:
cd ~/Pictures
আপনি এখানে স্ক্রিপ্টটি চালাবেন। কমান্ড-লাইন আর্গুমেন্ট হিসাবে গন্তব্য ডিরেক্টরিটি স্ক্রিপ্টে পাস করুন।
উদাহরণস্বরূপ, আপনি যদি cr2s
ডেস্কটপটিতে প্রতীকী লিঙ্কগুলি ধারণ করতে ডেস্কটপ তৈরি করতে চান তবে চালনা করুন:
~/make-symlinks ~/Desktop/cr2s
অথবা আপনি যদি কেবল নিজের বাড়ির ফোল্ডারে সেই ডিরেক্টরিটি চান:
~/make-symlinks ~/cr2s
অথবা যদি আপনার কোনও ড্রাইভ মাউন্ট করা থাকে /media/you/MyDrive
এবং আপনি এটিতে একটি ফোল্ডার তৈরি করতে চান links
যা প্রতীকী লিঙ্কগুলি ধারণ করে:
~/make-symlinks /media/you/MyDrive/links
তবে ড্রাইভটি যদি /media/you/My Drive
(কোনও স্থান সহ) থাকে তবে আপনার অবশ্যই উদ্ধৃতি ব্যবহার করতে হবে। এর মধ্যে যে কোনও একটি কাজ (কেবল একটি ব্যবহার করুন, সেগুলি সমস্ত চালান না):
~/make-symlinks '/media/you/My Drive/links'
~/make-symlinks /media/you/'My Drive'/links
~/make-symlinks /media/you/My\ Drive/links
তবে আপনি যদি ~
নিজের হোম ডিরেক্টরিতে ব্যবহার করেন তবে তা উদ্ধৃত করবেন না:
~/make-symlinks ~/'Two Words' # good
~/make-symlinks ~/Two\ Words # good
~/make-symlinks '~/Two Words' # BAD, because ~ doesn't get expanded
make-symlinks
এটি ইতিমধ্যে বিদ্যমান না থাকলে আপনার জন্য গন্তব্য ডিরেক্টরি তৈরি করে, যেমন এটি এর মধ্যে উপ-ডিরেক্টরি তৈরি করে। তবে গন্তব্য ইতিমধ্যে বিদ্যমান থাকলে এটি এখনও কাজ করে।
এমনকি আপনি এটি একাধিকবার চালাতে এবং একই গন্তব্য ডিরেক্টরিটি পাস করতে পারেন (উদাহরণস্বরূপ, আপনি এটি Ctrl++ দিয়ে বাধা দিলে C) যদিও আপনি failed to create symbolic link
ইতিমধ্যে বিদ্যমান সিমলিংকের জন্য ত্রুটি পাবেন এবং এটি বিভ্রান্তিকর হতে পারে।
আপনি সম্ভবত একটি নির্দেশিকা ইতিমধ্যেই বিদ্যমান এবং সম্পর্কহীন ফাইল (আপনার হোম ডিরেক্টরীতে মত) রয়েছে সেটা নামে পাস করতে না চান make-symlinks
। যদি আপনি তা করেন তবে আপনি এটিতে সম্পূর্ণ গুচ্ছ সিমলিংক এবং সাবফোল্ডার তৈরি হওয়ার আশা করতে পারেন। আপনি সম্ভবত একটি নতুন ডিরেক্টরি ব্যবহার করতে চান - বা এমন একটি যা এখনও বিদ্যমান নেই - এর জন্য make-symlinks
।
নতুন নির্মিত সিমলিংক গাছ শটওয়েলে আমদানি করুন।
আপনি চালনার পরে make-symlinks
, কেবল এই উত্তরের প্রথম অংশে দেওয়া পদ্ধতিগুলির ( "শটওয়েলে চিত্রগুলির একটি ফোল্ডার খোলা (সাবটোল্ডারগুলি সহ)" ) ব্যবহার করে শটওয়েলে আপনি যে ডিরেক্টরিটি পাস করেছিলেন কেবল তা আমদানি করুন ) উদাহরণস্বরূপ, আপনি শটওয়েল খুলতে এবং ফোল্ডারটি ভিতরে টেনে আনতে পারেন।
যেহেতু ফোল্ডারের সমস্ত এন্ট্রি হয় সেগুলি .cr2
ফাইল বা ডিরেক্টরিগুলির মধ্যে প্রতীকী লিঙ্ক , অন্য কোনও ফাইল টাইপ না থাকায় শটওয়েলকে অন্য কোনও ফাইল দেখতে পাওয়া উচিত নয়।