लिनक्स के लिए विंडोज सबसिस्टम पर होम डायरेक्टरी क्या है?


87

जब मैं bashलिनक्स के लिए विंडोज सबसिस्टम पर शुरू करता हूं , तो यह मुझे डायरेक्टरी में छोड़ देता है

/mnt/c/Users/<username>

जब मैं lsइस निर्देशिका, मैं निर्देशिकाओं को देखने Desktop, Documentsआदि मैं में हैं देख सकते हैं कि C:\Users\<username>विंडोज फ़ाइल एक्सप्लोरर का उपयोग कर। चूंकि यह वह जगह है जहां bashकार्यक्रम शुरू हुआ, मुझे उम्मीद थी कि यह मेरी घरेलू निर्देशिका है, लेकिन जब मैं cdया तो टाइप करता cd ~हूं या मुझे लाया जाता है

/home/<username>

जिसमें मेरी आदि फ़ाइल होती है .bashrc, .profileजिसे मैं अपने होम डायरेक्टरी में लिनक्स बॉक्स में खोजने की उम्मीद करता हूं। इसके अलावा, cd ../..यहां से प्रवेश करते हुए मैं निर्देशिकाओं को देख सकता हूं bin, etcऔर इसी तरह, फिर से एक लिनक्स बॉक्स पर अपेक्षित।

इस सब के बारे में मेरे दो सवाल हैं:

  1. वास्तव में क्या /mnt/c/Users/<username>तुलना की जाती है C:\Users\<username>? ऐसा लगता है कि वे एक ही में एक हैं --- तो क्या है /mnt/c/?
  2. मैं /home/<username>Windows फ़ाइल एक्सप्लोरर का उपयोग करके फ़ाइलों को कैसे देख सकता हूं ? ऐसा नहीं है कि मैं वास्तव में कभी नहीं चाहता हूं --- मैं सिर्फ यह महसूस करने की कोशिश कर रहा हूं कि विंडोज लिनक्स चीज के लिए इस सबसिस्टम को कैसे व्यवस्थित कर रहा है।

जवाबों:


103

2 के लिए: वर्तमान पथ अब उस वितरण से संबंधित है जिसे आपने एक वैश्विक पथ के बजाय Microsoft स्टोर से इंस्टॉल किया है। तो, उबंटू के लिए यह अब यहां स्थित है:

%LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs

मुझे लगता है कि अन्य वितरण उनके संबंधित फ़ोल्डर्स के तहत एक समान स्थान पर होंगे:

%LOCALAPPDATA%\Packages\

11
किसी और को यह अभ्यास परेशान लगता है? क्या मेरा होम फोल्डर रेपो के अंदर मेरे डेटा के लिए एक सुरक्षित स्थान नहीं माना जाता है? इस दृष्टिकोण के साथ, एक टूटी हुई रेपो और पुनर्स्थापना MY DATA को इसे बचाने के लिए NO प्रयास के साथ खो देती है और यह तब छिपा होता है जब मेरे पास पहले से ही एक असली / घर होता है। क्यों डेटा वहाँ नहीं है? यह सब अधिक खतरनाक है क्योंकि अब हम / स्वैप डिस्ट्रोस (WLinux) का उपयोग / उपयोग करने के लिए प्रोत्साहित किया जा रहा है। वास्तव में ऐसा लगता है कि किसी ने इस पूरी बात को नहीं सोचा था।
रेनबा

मेरे मामले में (1809) फ़ोल्डर को CanonicalGroupLimited.Ubuntu18.04.04Windows_79rhkp1fndgsc
jao

2
महत्वपूर्ण नोट: आपको अभी भी विंडोज टूल्स का उपयोग करके लिनक्स फाइलों के आसपास प्रहार नहीं करना चाहिए। देखें: blogs.msdn.microsoft.com/commandline/2016/11/17/… (खुद ब्लॉग पोस्ट भी देखें)
coltoneakins

बहुत खुबस। विंडोज़ / मिंगव के लिए एक और कारण अभी भी बेहतर काम करता है ... बहुत अधिक सोचा वास्तविक दैनिक कार्यभार में डाल दिया। क्या इसे ठीक से हटाने का कोई तरीका है?
enorl76

1
@rainabba प्रथम ब्लश पर मैं सहमत हूं, लेकिन कुछ विचार के बाद, मैं अभी भी पूर्ण-उबंटू उबंटू के बजाय विंडोज का उपयोग करना चुन रहा हूं। जैसे कि मैं डब्ल्यूएसएल को लिनक्स टूल्स तक पहुंचने के तरीके के रूप में मान रहा हूं, लेकिन अभी भी प्रथम श्रेणी के नागरिक के रूप में मेरी विंडोज़ फाइल सिस्टम का इलाज कर रहा हूं। इसलिए /mnt/c/मैं डब्ल्यूएसएल में सब कुछ स्टोर करता हूं। अगर WSL LWS के विपरीत होता, तो मुझे अच्छा लगेगा; यदि हम सभी उबंटू में एकीकृत विंडोज 10 कॉपी को चलाने के लिए विंडोज के लिए लिनक्स सबसिस्टम के साथ उबंटू चल रहे थे तो इसका अर्थ भयानक होगा। मुझे पता है, यह बहुत कठिन होगा लेकिन कोई भी सपना देख सकता है।
Chev

29
  1. /mnt/cके रूप में सटीक है C:\। यह केवल WSL से इसे पाने के लिए वाक्यविन्यास है।
  2. में देखो C:\Users\<username>\AppData\Local\Lxss\rootfs

8
चेतावनी: blogs.msdn.microsoft.com/commandline/2016/11/17/… यह वही स्थान है जहाँ हाँ लेकिन कुछ भी न बदलें।
chx

6
2018 तक, यह उत्तर मान्य नहीं है। देखिए @ माइकलबॉन्ड का जवाब।
dr01

11
अब यह C:\Users\[USERNAME]\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_[CODE]\LocalState\rootfs\ आपको पता चल गया है कि यदि आप /मैन्युअल रूप से संपादन करते हैं तो कितना बुरा हो सकता है
mementototem

कॉपी-पास्ता के माध्यम से आसान पहुंच के लिए, `% LOCALAPPDATA% \ Package \ CanonicalGroupLimited.UbuntuonWindows_ [CODE] \ LocalState \ rootfs`
टहनी

ध्यान दें कि lxss फ़ोल्डर फ़ाइल एक्सप्लोरर में तब तक छिपा रहेगा जब तक कि आप "फ़ोल्डर विकल्प> दृश्य: उन्नत सेटिंग: अनचेक नहीं करें: संरक्षित ऑपरेटिंग सिस्टम फ़ाइलों को छिपाएं (अनुशंसित)"। लेकिन भले ही यह छिपा हुआ है, अगर आप इसे फ़ोल्डर पथ में दर्ज करते हैं, तो भी आप फ़ाइल एक्सप्लोरर में फ़ोल्डर खोल सकते हैं।
शाम

18

फाइलसिस्टम पर मुहिम शुरू की /mnt/c

  1. क्या वास्तव में / mnt / c / उपयोगकर्ता / C: \ Users \ के साथ तुलना है? ऐसा लगता है कि वे एक ही में एक हैं --- तो / mnt / c / क्या है?

विंडोज के विपरीत, लिनक्स (और यूनिक्स पर आधारित अन्य प्रणालियां) आपके पास मौजूद डिस्क की संख्या से स्वतंत्र एकल फ़ोल्डर संरचना का उपयोग करती हैं। यदि आपके पास कई डिस्क हैं, तो इन सभी डिस्क को मुझे कुछ बिंदु पर फ़ोल्डर संरचना में माउंट किया जाना चाहिए ।

  • आमतौर पर, सभी डिस्क (सिस्टम को बूट करने के लिए इस्तेमाल किए गए से अलग) नाम के फ़ोल्डर में घुड़सवार होते हैं /mntया/media

WSL के पास एक विशेष प्रकार की फाइलसिस्टम है जिसका नाम DrvFS है जो आपको विंडोज़ में उपयोग की जाने वाली डिस्क तक पहुँच प्रदान करता है। आप न केवल अपने विंडोज़ फाइलसिस्टम, बल्कि नेटवर्क डिस्क और अन्य मीडिया प्रकारों को माउंट करने के लिए DrvFS का उपयोग कर सकते हैं।

  • डब्लूएसएल में, डिफ़ॉल्ट रूप से, C:विंडोज़ में डिस्क नीचे मुहिम की जाती है/mnt/c
  • यदि आपके पास एक और डिस्क है, उदाहरण के लिए D:विंडोज़ में एक डिस्क है, तो इसे नीचे रखा जाएगा/mnt/d

आप जिन फ़ाइलों को देख सकते /mnt/cहैं, वही आपके पास हैं C:। यदि आप कुछ फ़ाइल को संशोधित करते हैं, तो आपको खिड़कियों में भी बदलाव मिलेगा।

आप अन्य प्रकार के मीडिया (जैसे हटाने योग्य ड्राइव या नेटवर्क शेयर) तक पहुंचने के लिए mountकमांड का उपयोग कर सकते हैं


के स्थान के बारे में /home/<username>

  1. मैं Windows फ़ाइल एक्सप्लोरर का उपयोग करके / होम / फ़ाइलों को कैसे देख सकता हूं? ऐसा नहीं है कि मैं वास्तव में कभी नहीं चाहता हूं --- मैं सिर्फ यह महसूस करने की कोशिश कर रहा हूं कि विंडोज लिनक्स चीज के लिए इस सबसिस्टम को कैसे व्यवस्थित कर रहा है।

डब्लूएसएल में, सभी लिनक्स फाइल सिस्टम एक विंडोज फ़ोल्डर के तहत स्थित है। फ़ोल्डर का स्थान Windows के संस्करण और उस WSL वितरण पर निर्भर करता है जिसका आप उपयोग कर रहे हैं।

  • डब्लूएसएल के प्रारंभिक संस्करणों में लिनक्स फाइल सिस्टम को संग्रहीत किया जाता है%LOCALAPPDATA%\Lxss\rootfs
  • विंडोज स्टोर 16215 (2017 के मध्य) में शुरू होने वाले विंडोज स्टोर से डब्ल्यूएसएल वितरण स्थापित किया गया है , जैसे एक फ़ोल्डर का उपयोग करें %LOCALAPPDATA%\Packages\...\LocalState\rootfs। पैकेज का नाम वितरण के आधार पर भिन्न होता है (उदाहरण के लिए यह डेबियन की तुलना में उबंटू के लिए अलग है)
  • अन्य उपकरणों , जैसे कि lxRunOffline या WSL-DistroLauncher का उपयोग करके स्थापित लिनक्स वितरण किसी भी स्थान में लिनक्स फाइल सिस्टम को स्टोर कर सकता है।

WSL फ़ोल्डर का स्थान जानने के लिए आप कई विकल्पों की जाँच कर सकते हैं । उदाहरण के लिए, मुझे लगता है कि इंस्टॉलेशन फ़ोल्डर को जानने के लिए lxRunOffline का उपयोग करना सबसे आसान विकल्प है ।

## You can use lxrunoffline to check which WSL distributions have installed
## using:   lxrunoffline list

C:\> lxrunoffline list
backup
Ubuntu-18.04    

## And you can use it to get the location of any of these WSL installations
## using:   lxrunoffline get-dir -n <name of distribution>

C:\> lxrunoffline get-dir -n backup
c:\wsl\installed\backup

C:\> lxrunoffline get-dir -n Ubuntu
C:\Users\Jaime\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState

एक बार जब आप स्थापना फ़ोल्डर का स्थान जानते हैं, तो /home/<username>यह निम्न है <installation folder>\rootfs\home\username

  • उदाहरण के लिए, यदि आपका इंस्टॉलेशन फ़ोल्डर है c:\wsl\ubuntu
  • में /home/<username>हैc:\wsl\ubuntu\rootfs\home\username

नोट: लिनक्स और विंडोज दोनों स्टोर अलग-अलग तरीकों से अनुमति देते हैं। आजकल, WSL DrvFS लिनक्स अनुमतियों को उन स्ट्रीम (मेटाडेटा) के रूप में संग्रहीत करता है जो आप विंडोज़ में देख सकते हैं। Microsoft Windows प्रोग्राम का उपयोग करके लिनक्स फ़ाइलों को संशोधित करने की अनुशंसा नहीं करता है। यह संभव है कि कुछ विंडोज ऐप्लिकेशंस बिना नोटिस के लिनेक्स परमिशन को नुकसान पहुंचाते हैं


5

मुझे लगता है कि यह निर्भर कर सकता है कि आप किन खिड़कियों का निर्माण कर रहे हैं, लेकिन मेरे लिए 2018 में विंडोज 10 प्रो 64-बिट, संस्करण 1709 (ओएस बिल्ड 16299.522) और इसके अलावा संस्करण 1803 (ओएस बिल्ड 17134.165) [एक विंडोज़ है जो विडंबना के रूप में हुई है। यह टाइप कर रहा था] स्थान अभी भी है:

C:\Users\<username>\AppData\Local\lxss

ट्रिक यह है कि जब आप कर रहे हों तो आपको C:\Users\<username>\AppData\Localकोई lxssफ़ोल्डर दिखाई नहीं देगा (जब तक कि आप अनचेक नहीं किया जाता है "अपने फ़ोल्डर विकल्पों में" सुरक्षित ऑपरेटिंग सिस्टम फ़ाइलें छुपाएं (अनुशंसित))।

हालाँकि \lxss, विंडोज़ एक्सप्लोरर एड्रेस बार में बस संलग्न है और यह आपको फ़ोल्डर में ले जाएगा।

(ध्यान दें कि मेरे पास ऐसा कुछ नहीं%LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc था जो माइकल बॉन्ड के उत्तर में उल्लिखित था)

अद्यतन करें

पता चला कि विरासत WSL है जो मैंने स्थापित किया था। अब WSL को Microsoft स्टोर ऐप के माध्यम से प्रदान किया जाता है। उबंटू 18.04 एलटीएस के लिए संस्करण हैं और अब लिनक्स के कुछ अन्य स्वाद (जैसे डेबियन) भी हैं। यदि आप अद्यतित होना चाहते हैं, तो आप विरासत WSL की स्थापना रद्द करना चाहते हैं और Microsoft स्टोर संस्करण को स्थापित कर सकते हैं ।

आपके घर का फ़ोल्डर इस बात पर निर्भर करेगा कि आपने किस प्रकार के डब्ल्यूएसएल को स्थापित किया है।


4
  1. WSL बैश कंसोल का उपयोग करते हुए, अपने होम डायरेक्टरी में, "test_here.txt" जैसे एक विशिष्ट विशिष्ट नाम के साथ एक फ़ाइल बनाएं।
  2. फिर विंडोज एक्सप्लोरर का उपयोग करके, खोज बॉक्स का उपयोग करके, फ़ाइल test_here.txt के लिए खोजें।
  3. मिली फ़ाइल पर> राइट-क्लिक करें> फ़ाइल स्थान खोलें।

मैंने यह कोशिश की। यह काम नहीं करता है। मुझे खोज में फ़ाइल दिखाई नहीं दे रही है। हालाँकि, अगर मैं फ़ाइल को / mnt / c / Users / <username> में छोड़ता हूँ तो यह स्पष्ट रूप से काम करता है।
एमानो केनी

मुझे डर है कि मैंने WSL की कोशिश की, लेकिन मैं अब इसका इस्तेमाल नहीं करता। मुझे यह बहुत उपयोगी नहीं लगा। (मैं WSL के बजाय, दैनिक साइबरगन का उपयोग करता हूं, और मुझे यह बहुत उपयोगी लगता है।) इसलिए मैं इसे अब और नहीं सत्यापित कर सकता हूं, क्षमा करें;)
एलिस

रूटफुट की खोज करना काम करता है। फिर आप वहां से unbuntu फाइल सिस्टम को नेविगेट कर सकते हैं।
बाघ

2

विंडोज़ 10 के लिए चार चरणों में आपके डेबियन / Ubuntu / OpenSUSE $ HOME को विंडोज के स्टार्ट मेन्यू पर पिन करना है:

  1. प्रारंभ मेनू से फ़ाइल एक्सप्लोरर शुरू करें
  2. एड्रेस बार में (सर्च बार नहीं) LOCALAPPDATA% टाइप करें।
  3. खोज बार में आपके $ HOME डायरेक्टरी नाम की तलाश करें, मेरे मामले में यह ईकेनी था। इसके लगभग 3 संस्करण होंगे लेकिन आप वास्तव में लंबा रास्ता चाहते हैं।
  4. अपने होम डायरेक्टरी पर राइट क्लिक करें और "पिन टू स्टार्ट" पर क्लिक करें।

अब आपके पास अपनी होम डायरेक्टरी है जो आपके स्टार्ट मेन्यू में है। मैंने एक शॉर्टकट बनाने की कोशिश की, लेकिन यह समझदारी से कहीं नहीं जाती।


0

मुझे सिर्फ /etc/environmentउबंटू 16.04 का उपयोग करके विंडोज 10 एनटीएफएस स्टोरेज की तलाश करने की आवश्यकता थी । मैंने इसे यहाँ पाया:

C:\Users\USER_NAME\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc\LocalState\rootfs\etc\environment
  • मैं विंडोज नामकरण के लिए बदल /mnt/c/गया C:\
  • मैंने भी उसी कारण /से सभी घटनाओं को बदल दिया \
  • आपको USER_NAMEअपने विंडोज उपयोगकर्ता नाम के साथ बदलने की आवश्यकता है ।
  • मुझे sudo -H NautilusWSL में संग्रहीत उपयोगकर्ता फ़ाइलों को देखने के लिए अनुमति प्राप्त करने के लिए उपयोग करना था ।
  • कभी भी एक विंडोज एप्लिकेशन का उपयोग करके डब्ल्यूएसएल में अपनी लिनक्स फाइलों को अपडेट न करें। यह आपके लिनक्स डेटा को दूषित कर देगा

लिनक्स (उबंटू 16.04) की ओर से नामकरण होगा:

$ sudo cat /mnt/c/Users/USER_NAME/AppData/Local/Packages/CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc/LocalState/rootfs/etc/environment

PATH="/mnt/e/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
export LIBGL_ALWAYS_INDIRECT=Yes
export DISPLAY=localhost:0.0

0

वर्तमान विंडोज 10 इनसाइडर (फास्ट रिंग: विंडोज 10 बिल्ड 19025.1) के साथ आप अपने डिस्ट्रो को नेटवर्क ड्राइव के रूप में माउंट कर सकते हैं। WSL पहुंच योग्य है wls$, पथ आपका वितरण नाम ( wsl -l -q) है।

उदाहरण के लिए net use Z: \\wsl$\Debian /PERSISTENT:YES


क्या आप वाकई WSL2 तक सीमित हैं? मुझे लगा कि 1903 के रूप में आप विंडोज के भीतर WSL फ़ाइल संरचना की सामग्री का पता लगा सकते हैं। उस परिवर्तन से मानचित्र नेटवर्क स्थान बनाना संभव हो जाता।
रामहुंड

जैसा कि मैंने लिखा था कि मैं WSL2 के बारे में निश्चित नहीं हूं। दो बिंदु हैं: WSL2 (बिल्ड 18432 से) का परिचय और WSL 2 द्वारा समर्थित वितरण। यह सुविधा WSL2 के साथ दिखाई देती है और मुझे उम्मीद है कि यह किसी भी वितरण के साथ काम करती है।
घोड़े का बच्चा

1909 (WSL2) 18363.476 है, न कि 18432 (इनसाइडर प्रिव्यू 20H1) जब तक आप यह नहीं कह रहे हैं, यह केवल 20H1 बिल्ड पर है?
रामहुंड

-1

बैश में, Windows फ़ाइल एक्सप्लोरर में वर्तमान निर्देशिका देखने के लिए बस दर्ज करें:

explorer .

"बाहर मत छोड़ो।" यह वर्तमान फ़ोल्डर में विंडोज़ एक्सप्लोरर खोलेगा और आप देख सकते हैं कि आपके विंडोज़ सिस्टम के बाकी हिस्सों के संबंध में सब कुछ कहां है।


योगदान के लिए धन्यवाद, लेकिन यह केवल बाश में काम करता है, डब्ल्यूएसएल में नहीं (लिनक्स के लिए वैंड्स सबसिस्टम) जो कि यह सवाल है। मैं आपको अपना उत्तर हटाने की सलाह दूंगा या यह अस्वीकृत हो सकता है।
rmcsharry

यह WSL में काम नहीं करता है
निकोलई एंटोन लिनरअप
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.