উইন্ডোজ লিনাক্স সাবসিস্টেম - উবুন্টুর বাইরে ফাইল অ্যাক্সেস করা


90

কেন, উদাহরণস্বরূপ যখন আমি উইন্ডোজ থেকে কোনও ফাইল তৈরি করি, তখন আমি এটি উইন্ডোজ 10-এ লিনাক্স সাব সিস্টেমের অধীনে দেখতে পাচ্ছি না (bash.exe)

স্ক্রিনশটটি ব্যাখ্যা করা উচিত।

ফোল্ডার: ওএমজি উইন্ডোজ এক্সপ্লোরারের মধ্যে থেকেই তৈরি হয়েছিল। ফোল্ডার ওএমজিগ্যাশ লিনাক্স সাব সিস্টেম bash.exe দিয়ে তৈরি করা হয়েছিল

যখন কোনও ফোল্ডার বা ফাইল ফাইল বাশ.এক্সে এর বাইরে তৈরি করা হয় তখন অনুমতি এবং মালিকানা নির্বিশেষে আমি এটি কখনই দেখতে পাব না।

ফাইলের অনুমতিগুলি দেখানোর জন্য আমাকে সাইগউইন ব্যবহার করার তথ্যটি প্রদর্শন করতে, ফোল্ডারটি উপস্থিত হবে কিনা তা দেখার জন্যও অনুমতিগুলি পরিবর্তন করেছি। (নীচে দুটি কমান্ড উইন্ডো)

স্ক্রিনশট ফোল্ডার, bash.exe এবং সাইগউইন অনুমতি প্রদর্শন করছে:

এখানে চিত্র বর্ণনা লিখুন

আমি আমার সমস্ত সাইগউইন স্ক্রিপ্টগুলি লিনাক্স সাব সিস্টেমে স্থানান্তরিত করার চেষ্টা করছি, তবে আমি প্রতিটি ফাইল পুনরায় তৈরি করার কল্পনা করি না, তারপরে ব্যাশ ব্যবহার করে অনুলিপি করতে পারি এবং তারপরে ডস 2 ইউনিক্স ব্যবহার করে পুনরায় ফর্ম্যাট করা (খুব দীর্ঘ ঘূর্ণিত)।

লিনাক্স সাবসিস্টেমের জন্য এটি গিটহাবে পাওয়া গেছে:

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

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

আপনার যদি সত্যিই এটি করার দরকার হয় তবে একটি ড্র্যাগ'আরড্রপ। বাট স্ক্রিপ্ট বা সামসুচ লিখতে হবে যা bash.exe -c "এমভি% 1 / হোম / $ ব্যবহারকারী /" করে। (আপনাকে সম্ভবত% 1 টি বৈধ ডাব্লুএসএল পথে অনুবাদ করতে সেড এবং ট্রের সাথে কিছু চালাক কাজ করতে হবে))

বিকল্পভাবে - আপনি কি আপনার ফাইলগুলিকে উইন্ডোজ ডিরেক্টরিতে রেখে দিতে পারেন এবং ডাব্লুএসএল-এর মধ্যে, "সিডি ~; এলএন-এস / এমএনটি / সি / পাথ / টু / আমার / ফাইলগুলি" এগুলি আপনার ডাব্লুএসএল হোমডিরে প্রদর্শিত হতে পারে?


লিনাক্স পরিবেশের অধীনে উইন্ডোজ এইচডিডি মাউন্ট করা সম্ভব? সেভাবে এটি সমস্ত ফাইল রিয়েলটাইমে দেখানো উচিত ... (অথবা এমনকি কেবল সাইগউইন হোমের ডিরেক্টরি)
হাস্তুর

3
দুর্দান্ত ধারণা, তবে দুর্ভাগ্যক্রমে ফাইলগুলি দৃশ্যমান নয়। এর চারপাশের উপায়টি হ'ল উইন্ডোজ ডিরেক্টরি থেকে বাশ.এক্সের মাধ্যমে লিনাক্স সাব সিস্টেম ডিরেক্টরিতে ফাইলগুলি অনুলিপি করা cp -r --no-preserve=all পূর্ববর্তী অনুমতিগুলি ড্রপ করার প্রয়োজন । তবুও, যদি আপনি কোনও ভারী পরিবর্তন করতে চান, আপনি লিনাক্সসুব সিস্টেমে ফাইল সম্পাদনা করার জন্য উইন্ডোজ অ্যাপ্লিকেশন ব্যবহার করতে পারবেন না, আপনার উইন্ডোজ ডিরেক্টরিতে এটি সম্পাদনা করতে হবে এবং তারপরে এটি অনুলিপি করতে হবে। এখন আমি এটি বুঝতে পারি, এটি কার্যকর, তবে আমি এই ধারণার অধীনে ছিলাম যে লিনাক্স সাব সিস্টেমটি একটি বিচ্ছিন্ন ওএসের চেয়ে উইন্ডোতে আরও বেশি নেটিভ / ইন্টিগ্রেটেড ছিল
ডেভ হ্যামিল্টন

আপনি এই ইস্যুটির অগ্রগতি (উইন্ডোজ এবং ডাব্লুএলএসের মধ্যে ফাইলগুলি পরিচালনা করা) ধরে রাখতে পারবেন github.com/Mic Microsoft
গায়া

আপনি যদি উইন্ডোজ স্টোর থেকে কোনও ডিস্ট্রো ইনস্টল করেন তবে ফাইল সিস্টেমটি চালু হবে %LocalAppData%\Packages\<some-long-name-of-distro>\LocalState\rootfs
ইয়ান কেম্প

উত্তর:


101

আমি নিশ্চিত না যে আমি আপনার প্রশ্নটি ভুল বুঝছি কিনা, তবে আপনার উবুন্টু বাশ (উপরের ডান দিকের উইন্ডো) এর নীচে আপনার উইন্ডোজ ভিত্তিক ডিস্কগুলিতে অ্যাক্সেস থাকা উচিত /mnt। উদাহরণস্বরূপ, আমার মেশিনে /mnt/c/Users/Scott/Desktopআমার উইন্ডোজ ডেস্কটপ এবং আমি সেখানে vi থেকে প্রাক্তন পর্যন্ত ফাইলগুলি পড়তে / লিখতে পারি। আমি বিশ্বাস করি না ঠিক ঠিক এর বিপরীতটি সত্য। এটি, আমি মনে করি না যে আপনি উইন্ডোজ এক্সপ্লোরার থেকে আপনার ব্যাশ বিশ্বে অন্বেষণ করতে পারবেন।

বিকাশকারী হিসাবে আমি যা করছি তা হ'ল আমার ডিতে প্রকল্পগুলি হোস্ট করা এবং লিনাক্স-ভিত্তিক সরঞ্জামগুলি সেই /mnt/d/projects/someproject/ফোল্ডারে দেখানো।

নিশ্চিত হয়ে নিন যে আপনি আপনার উইন্ডোজগুলি পর্যায়ক্রমে আপডেট করেন যেহেতু তারা প্রতিটি বিল্ডের সাথে বিশেষত সিম-লিঙ্কগুলি এবং লিনাক্স / উইন্ডোজের মধ্যে এফএস সীমানা অতিক্রম করে প্রচুর পরিমাণে সমস্যা সমাধান করছে seem


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

অপেক্ষা করুন, আপনি কীভাবে / এমএনটি / ডি প্রদর্শিত হবে? উদাহরণস্বরূপ, আমি যখন এমটিপি এর মাধ্যমে কোনও ফোন সংযোগ করি তখন এটি "এই পিসি \ ফোননাম" এর মতো একটি পথের নীচে প্রদর্শিত হয় তবে এর সাথে কোনও ড্রাইভ লেটার নেই।
মাইকেল

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

আমি যখন উইন্ডোজ ফাইলগুলি সংশোধন করি তখন লিনাক্স ফাইল আপডেট হয় না?!?!
বাগভিশিরার

20

@ scottt732 সুন্দর উত্তর দিয়েছে।

যে বিকাশকারীরা উইন্ডোজে কাজ করবেন এবং লিনাক্স সাবসিস্টেমের সেই ফাইলগুলি দ্রুত দ্রুত অ্যাক্সেস করতে চান তাদের জন্য কেবলমাত্র একটি পরামর্শ Just আপনি প্রতীকী লিঙ্ক ব্যবহার করতে পারেন ।

উদাহরণস্বরূপ আপনি যদি কোনও প্রকল্পে কাজ করে থাকেন তবে আপনি d:/projects/web-projectঅবস্থানটিতে একটি সিমিলিংক তৈরি করতে পারেন /var/www/web-projectএবং উইন্ডোতে আপনি যে সমস্ত ফাইলগুলি পরিবর্তন করেছেন তা লিনাক্স ব্যাশে অ্যাক্সেস করার জন্য সহজেই উপলব্ধ হবে।

এর জন্য আপনি এইভাবে lnকমান্ড ব্যবহার করবেন

ln -s  /mnt/d/projects/web-project  /var/www/web-project

উপরের লাইনে /mnt/dউইন্ডোতে আপনার ড্রাইভ বোঝানো হয়েছিল। আপনার অ্যাপাচি ভার্চুয়াল হোস্টটিকে এই পথে সেটআপ করুন এবং আপনি যেতে প্রস্তুত।


এটি আসলে সিঙ্ক হয় না ... যতক্ষণ না আমাকে প্রতিবার সার্ভার পুনরায় চালু করতে হবে?
বাগভিশিরার

@ অ্যান্থনি এটির প্রতীকী লিঙ্ক, সুতরাং আপনার এটির জন্য সার্ভার পুনরায় আরম্ভ করার দরকার নেই। আসলে এটি সিঙ্ক নয়, এটি কেবল সেই ফোল্ডার / পথের দিকে নির্দেশ করছে।
রিজ

1
আমি বিষয়টি বের করেছিলাম। এটি কারণ সিএসএস ফাইলের নামের মতো ড্যাশ ছিল, উদাহরণস্বরূপ css-file.css,। আমি এই সমস্যাটি সম্পর্কে এখানে পোস্ট করেছি ।
বাগভিস্পেরার

9

আমরা আপনাকে উইন্ডোজ অ্যাপ্লিকেশন ব্যবহার করে লিনাক্স ফাইলগুলি অনুলিপি / তৈরি / আপডেট না করার পরামর্শ দিচ্ছি ।

পরিবর্তে, উইন্ডোজ ফাইল সিস্টেমে ফাইলগুলি সংরক্ষণ করুন (উদাঃ c:\dev\project) যে আপনি উইন্ডোজ সরঞ্জাম ব্যবহার করে ফাইলগুলি সম্পাদনা করতে চান এবং / অথবা বিল্ড / টেস্ট / লিনাক্স সরঞ্জাম / রানটাইমস / প্ল্যাটফর্ম (যেমন মাধ্যমে /mnt/c/dev/project) ব্যবহার করে রান করতে চান ।

মধ্যে: আপনার নির্দিষ্ট দৃশ্যকল্প, আপনি আপনার Cygwin ফাইল ব্যাশ তারপরে খোলা ব্যাশ অনুলিপি করুন এবং সি এ আপনার Cygwin ফোল্ডার থেকে ফাইল কপি করতে চান তাহলে ~/, এভাবে: cp /mnt/c/Users/dave/Documents/Cygwin/* ~/)

আছে HTH।


1

উইন্ডোজ 10-এ পাইচার্ম / ইক্লিপসের সাথে কাজ করার প্রয়োজন ছিল যখন আমি চালানোর / টেস্টইন্ডের জন্য আমার লিনাক্স পরিবেশ প্রয়োজন;

লিনাক্স সাব সিস্টেমে গিট থেকে চেক আউট করার জন্য আমার কাছে সমস্যা ছিল এবং পাইচার্ম ফাইলগুলি সম্পাদনা করার সাথে সাথে তত্ক্ষণাত দেখা যায় নি এবং সমস্যা ছিল;

devcode=/DevCode

if [ ! -L $devcode ]; then
     ln -s /mnt/c/DevCode /DevCode 
fi

আমার উপরের উবুন্টু অঞ্চলে আমার .bashrc এ ছিল। এটি নির্বিঘ্নে কাজ করছে। আমি উইন্ডোজ সম্পাদনা করতে এবং কোনও সমস্যা ছাড়াই উবুন্টুতে চালনা / পরীক্ষা করতে পারি।


0

আমার ডাব্লুএসএল এবং উইন 10 এর মধ্যে ফাইলগুলি অনুলিপি করার অনুরূপ প্রয়োজন ছিল। আমি উবুন্টু-ইনস্টলেশনটিতে এসএসডিডি সক্ষম করেছিলাম যাতে আমি win10 থেকে লিনাক্সে এসএসএস করতে পারি। তারপরে আমি ফাইলগুলি পিছনে পিছনে অনুলিপি করতে winscp ব্যবহার করি। অনুকূল নয়, তবে আমি খুব ঘন ঘন ফাইলগুলি অনুলিপি করি না। আমি sshd সক্ষম করতে ব্যবহৃত পোস্টটি সন্ধান করার চেষ্টা করেছি কিন্তু এটি সনাক্ত করতে পারি না।

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