সাম্বা মাউন্টে অদ্ভুত নামের সাথে ফাইলটির নাম পরিবর্তন করুন


10

আমি অদ্ভুত নাম দিয়ে ফাইলটির নতুন নাম যুক্তিসঙ্গত কিছুতে চাই, তবে আমি সক্ষম নই: /

$ mv *_000c.jpg 000c.jpg
mv: cannot move '?j?Z?R?C1_000c.jpg' to '000c.jpg': No such file or directory

আমি ইন্টারনেটে কয়েকটি জায়গায় সুপারিশ অনুযায়ী ইনোড নম্বরটি ব্যবহার করার চেষ্টা করেছি:

$ ls -il *000c.jpg
ls: '?j?Z?R?C1_000c.jpg': No such file or directory
213915 -rw-r--r-- 1 wolf wolf 794655 Jul 21  2012 '?j?Z?R?C1_000c.jpg'
$ find . -inum 213915 -print0 | xargs -0 -I '{}' mv '{}' 000c.jpg
mv: cannot move './?j?Z?R?C1_000c.jpg' to '000c.jpg': No such file or directory

আমার কি করা উচিৎ?


1
lsযে ডিরেক্টরিতে একটি সরল আউটপুট কি ? ফাইলটি কি নিয়মিত ফাইল হিসাবে দেখানো হয়? আমি এটি নিশ্চিত করতে বলছি যে এটি No such file or directoryএকটি গ্লোব্বিং ত্রুটি এবং কোনও ক্ষতিগ্রস্থ ফাইল সিস্টেমের সূচক নয়।
টেরডন

1
আমি ভাবছি যদি ফাইল সিস্টেমটি চালানো দরকার fsck? আমি দূষিত হতে পারি। ফাইলটি কীভাবে এই নামটি অর্জন করেছিল?
কুসালানন্দ

1
@ মিয়েরইন ফাইলনামে প্রশ্ন চিহ্নগুলি প্রদর্শিত অক্ষরগুলির জন্য স্থানধারক (বা ভাল হতে পারে)। (আউটপুটটিকে কখনই বিশ্লেষণ করার এক কারণ ls)
কুসালানন্দ

1
এটি একটি টার্মিনাল ফন্টের সমস্যা হতে পারে। এটি ?অক্ষরগুলির জন্য দেখাচ্ছে যা এটি প্রদর্শন করতে পারে না। সম্পূর্ণ ইউনিকোড ফন্টে স্যুইচ করার চেষ্টা করুন।
মিও রিন

5
@ মিয়েরইন এই ফাইলটির নাম প্রদর্শিত হবে কিনা তা আমার মনে হয় এক্ষেত্রে একটি লাল রঙের হেরিং। সবচেয়ে অদ্ভুত বিষয়টি হ'ল শেলটি প্রসারিত করতে সক্ষম *_000c.jpgতবে সে mvপরে ফাইলটি প্রক্রিয়া করতে পারে না। এটি, আইএমএইচও, একটি দুর্নীতিগ্রস্থ ফাইল সিস্টেমের সূচক। ... বা সম্ভবত এমন একটি ফাইল-সিস্টেম যা নেটওয়ার্ক শেয়ারে মাউন্ট করা হয়েছে যা চলে গেছে (ডিরেক্টরিতে প্রবেশের প্রবেশের পরেও ক্যাশে হয়েছে) বা অন্য কিছু।
কুসালানন্দ

উত্তর:


16

প্রাসঙ্গিক মন্তব্যের সংক্ষিপ্তসার:

ইউনিক্স ফাইল সিস্টেমগুলি \0(নুল) এবং /(ফরোয়ার্ড স্ল্যাশ) বাদে কোনও ফাইল নামের কোনও অক্ষরকে অনুমতি দেয় । সত্য যে lsশো চিহ্ন প্রশ্ন কেবলমাত্র কারণ এটি সাম্প্রতিক লোকেলে ফাইলের নাম (যা কারণে এক অক্ষর কিছু প্রদর্শন করতে পারবে না হয় আপনি আউটপুট পার্স এড়িয়ে চলা উচিতls )।

তবে, সাম্বা ভাগের সাথে, আপনার কাছে স্ট্যান্ডার্ড ইউনিক্স ফাইল সিস্টেমের চেয়ে ফাইলের নামগুলিতে আরও কঠোর প্রয়োজনীয়তা রয়েছে।

যেহেতু ফাইলটির একটি নাম ছিল যা আপনার মধ্যবর্তী সাম্বা ভাগের "অবৈধ" ছিল, তাই ভাগটি মাউন্ট করা মেশিনে সঠিক নাম দিয়ে ফাইলটি অ্যাক্সেসযোগ্য ছিল।

mvকাজ করে নি যেহেতু নামের globbing প্যাটার্ন সম্প্রসারণের সাম্বা ভাগ থেকে প্রত্যাগত হোস্টিং ফাইলসিস্টেম, শুধুমাত্র সাম্বা নাম নিজের ম্যাঙ্গলেড সংস্করণ ফাইলের প্রকৃত নাম ছিল না।

আপনার সমাধানটি হ'ল সেই সার্ভারে লগইন করা যা প্রকৃতপক্ষে ফাইলটি হোস্ট করেছিল (সাম্বার চেয়ে কম সীমাবদ্ধ নামকরণের নিয়মযুক্ত একটি ফাইল সিস্টেমে) এবং সেখানে ফাইলটির নাম পরিবর্তন করতে। এটি ছিল সঠিক ক্রিয়া course

এই প্রশ্নটি সম্পর্কে ইউনিক্স এবং লিনাক্স চ্যাটটিও দেখুন ।


-2

ইউনিক্স শেলগুলি উদ্ধৃত করার বিষয়ে জানার আগে আমি diredহার্ড-টু-ম্যাচের ফাইলগুলি নাম পরিবর্তন করতে বা মুছতে ইম্যাক্স মোডটি ব্যবহার করব । আপনি কেবল ইম্যাক্সে ডিরেক্টরিটি খুলুন:

emacs -q .

... তারপরে আপনি যে ফাইলটি সংশোধন করতে চান এবং ফাইলটির নতুন নাম পরিবর্তন করতে চান তাতে নেভিগেট করতে আপনি তীর কীগুলি ব্যবহার করতে পারেন R?আপনাকে উপলভ্য কমান্ডগুলির তালিকা দেবে (আপনি ফাইলগুলিও মুছে ফেলতে পারবেন যেগুলি খুব মেলাও কঠিন)।

তারপরে আপনি কেবল C-x C-cইমাস থেকে বেরিয়ে আসবেন এবং আপনার কাজ শেষ।


-3

ফাইলনাম এবং লিনাক্স সঠিকভাবে সনাক্ত করার আগে প্রায়শই অস্বাভাবিক ফাইল নাম দিয়ে আপনি "./" যুক্ত করতে পারেন। উদাহরণস্বরূপ: $ ls ./?j?Z?R?C1_000c.jpg

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