ফ্যাট 32 ফাইল সিস্টেমে লিনাক্স অনুলিপি: অবৈধ যুক্তি


12

আমি যখন সিপি ব্যবহার করে একটি এক্সট্রি পার্টিশন থেকে ফ্যাট 32 এ ফাইলগুলি অনুলিপি করি:

cp -R /ext3/stuff /fat32/partition/

আমি কলোন এবং প্রশ্ন চিহ্ন সহ সমস্ত ফাইলের জন্য অবৈধ যুক্তি বার্তা পেয়েছি।

লক্ষ্য ফাইল সিস্টেমের জন্য অবৈধ অক্ষরগুলি সরিয়ে ফেলার জন্য সিপি পাওয়ার কোনও উপায় আছে কি?

সম্পাদনা: আমি আবার সিপি-র বিকল্পগুলি পরীক্ষা করে দেখেছি এবং আমি বোকা না হলে সেখানে কিছুই নেই। আমি নিশ্চিত যে আমি কোনও স্ক্রিপ্ট লিখতে পারি, তবে এটির মতো ক্লিনারের সমাধান হওয়া উচিত বলে মনে হয়!

উত্তর:


10

সাধারণ সন্দেহভাজনরা যখন আপনি জটিল অনুলিপি বা নামগুলি চান তখন হ'ল জিএনইউ সিপি, জেডএমভি থেকে জেডএসভি, আরএসসিএনসি এবং প্যাক্স (বা সিপিও)। সিপিতে কোনও নাম পরিবর্তন বৈশিষ্ট্য নেই, বা আরএসএনসি তেও (আমার মনে হয়)। যদিও zmv পুনরায় নামকরণ করতে পারে, এটি পুনরাবৃত্তির অনুলিপিগুলির সাথে ভাল মেলে না। তবে প্যাক্স এটি করতে পারে:

cd /ext3
pax -rw -s '/[*?:]/_/gp' stuff /fat32/partition

এই প্রতিটি পরিবর্তন *?:করার জন্য _। সতর্কতা: সর্বনিম্ন পরীক্ষিত। যদি সংঘর্ষ হয়, তবে যে কোনও ফাইলই সর্বশেষ জিতলে অনুলিপি করা হয়েছে।


সুন্দর - এর আগে প্যাক্স ব্যবহার করা হয়নি। আমাকে এটি রাখার জন্য ধন্যবাদ।
মো-সেফ

1
ব্যাকস্ল্যাশ ভিফেটেও ​​সমস্যা তৈরি করে। এটিও রেজিপ্লেক্সে অন্তর্ভুক্ত করুন। ধন্যবাদ!
lzap

Support.grouplogic.com/?p=1607 অনুযায়ী সম্পূর্ণ তালিকাটি হ'ল: /? <>।: * | ”^। এছাড়াও এটি স্থান বা বিন্দু দিয়ে শেষ হতে পারে না এবং কিছু নাম সংরক্ষণ করা হয়। মাতুলস ম্যানপেজ আরও বড় তালিকা দেয়:,; :? + * = [] <> '"\ / |
ধিল

এবং একটি ভিন্ন নোট এবং আমার মতো একই সমস্যাযুক্ত লোকদের জন্য: প্যাক্স আপডেট কমান্ড -u এর সাথে মিলিত -s ব্যবহার সমর্থন করে না। অর্থাৎ এটি ইতিমধ্যে পুনরায় নামকরণ করা ফাইলগুলি ইতিমধ্যে উপস্থিত থাকলেও অনুলিপি করবে। এটি জানতে আমার কয়েক ঘন্টা সময় লেগেছে ।
বালু

11

গিলসের পোস্টের ভিত্তিতে আমি নিম্নলিখিত তালিকাটি পরীক্ষা করেছি:

#!/bin/sh
touch questionmark?
touch less<
touch less\<
touch more\>
touch backslash\\
touch colon:
touch asterisk\*
touch pipe\|
touch inch\"
touch carret\^
touch comma,
touch semicolon\;
touch plus+
touch equals=
touch lbracket[
touch rbracket]
touch quote\'

আমি এটিকে অ্যানড্রয়েড ফোন মাইক্রোএসডিএইচসি কার্ডে ভিফ্যাট ফাইল সিস্টেম এবং রিফাইন্ড paxকমান্ড দিয়ে অনুলিপি করার চেষ্টা করেছি যতক্ষণ না সবকিছু কাজ হয়ে যায়। এটি এখনও উইন্ডোজ এবং ইউনিকোডের জন্য পর্যাপ্ত না হতে পারে:

pax -rw -s '/[?<>\\:*|\"]/_/gp' source dest

কোনও ওভাররাইট (ফাইলের নাম সংঘর্ষের কারণে) নেই তা নিশ্চিত করতে আপনি -k বিকল্পটিও ব্যবহার করতে চাইতে পারেন। মন্তব্যে আমি যে দুটি তালিকা দিয়েছি তা লিনাক্স ভিএফএটি আচরণের থেকে পৃথক ছিল।


0

সিপি -আর সোর্স ইউএসবিস্টিকের সাথে অনুলিপি করার সময় আমি "অবৈধ যুক্তি" পেয়েছি এবং কারণটি খুঁজে পেয়েছি কারণটি একটি স্পেসের সাথে শেষ হওয়া সোর্স ফাইল ফাইল। স্থান সরিয়ে বার্তাটি সাফ করা হয়েছে। ভুল নামযুক্ত ফাইলটি বিটিডব্লিউ ঘটেছে এই ক্ষেত্রে মেলার প্রোগ্রাম ডিরেক্টরিতে।


0

আমার কেবল এটি করার দরকার ছিল, এবং যদিও paxভিত্তিক উত্তরটি ভাল ছিল, এটি এখনও উচ্চারণযুক্ত চরিত্রগুলির সাথে সমস্যার মধ্যে পড়েছে।

সুতরাং আমি এটি ব্যবহার করা সহজ হিসাবে পেয়েছি tarএবং এটি আন্ডারস্কোর সহ সমস্ত অনুমতিবিহীন অক্ষরগুলি প্রতিস্থাপন করার জন্য পেয়েছি :

cd /parent-of-source
tar cf - Söurce | (cd /destination; tar xvf - --transform='s/[^A-Za-z0-9\/ ]/_/g')

উপরোক্ত চিত্রের চেয়ে অনুমোদিত চরিত্রগুলির আরও ভাল তালিকা নিয়ে আসা সন্দেহাতীত সম্ভব তবে এটি কাজ করে।


0

এই অত্যন্ত আকর্ষণীয় প্রশ্নের উত্তরগুলি পড়ার পরে এবং অ্যান্ড্রয়েড (এক্সফ্যাট) এবং একটি গাড়ি বিনোদন সিস্টেম (ভিফ্যাট) এর জন্য এসডি কার্ড নিয়ে কিছু পরীক্ষা-নিরীক্ষা করার পরে, আমি এই ছোট্ট বাশ স্ক্রিপ্টটি নিয়ে এসেছি।

#! /bin/bash

DST=$1
# copy music to FAT media

find music/ Music/ -type f | while read f ; do
    d=$DST/$( echo $f | sed 's/[^-A-Za-z0-9/._ ()]/_/g' )

    echo :$d:
    mkdir -p "$(dirname "$d")"
    cp -n "$f" "$d"

done

এটি তর্ক হিসাবে গন্তব্য (মাউন্ট পয়েন্ট) লাগে findএবং আমার সংগীত সংগ্রহস্থলের সমস্ত ফাইল সনাক্ত করতে ব্যবহার করে।

প্রতিটি ফাইল পাথের জন্য, এটি গন্তব্যটি পূর্বনির্ধারিত করে এবং কোনও আপত্তিকর চরিত্রকে আন্ডারস্কোর দিয়ে প্রতিস্থাপনের মাধ্যমে গন্তব্য পথ এবং ফাইলের নাম গণনা করে _। (বর্ণ, সংখ্যা, আমি অক্ষরের একটি শ্বেত তালিকা ব্যবহার -, /, ., (, )এবং _) কোন অবাঞ্ছিত যতিচিহ্ন মুছে ফেলার জন্য।

লোকেলের উপর নির্ভর করে, এটি পথ এবং ফাইলের নামগুলিতে উচ্চারণযুক্ত অক্ষরগুলি ছেড়ে দেবে, যা আধুনিক FAT ফাইল সিস্টেমগুলির জন্য ঠিক আছে, যেমনটি মনে হয়।

প্রতিটি গন্তব্য ফাইলের পাথ এবং নামের জন্য ডিরেক্টরিগুলি ব্যবহার করে প্রয়োজনীয়গুলি তৈরি করা হয় mkdir -p, তবে ফাইলটি অনুলিপি করা হয়, যদি না এটি ইতিমধ্যে বিদ্যমান থাকে।

"বিভিন্ন স্থানে উদ্ধৃতি অক্ষর নোট করুন , তাদের ফাঁক হওয়া থেকে ফাঁকা জায়গাগুলির সাথে পাথ এবং নাম রাখতে হবে।

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