ডিভাইসটিকে মাউন্ট না করেই ls করুন


9

lsডিভাইসটিকে প্রথমে মাউন্ট না করে চালানো কি সম্ভব ?
এটার মতো কিছু:

# ls /dev/sda1

কি উদ্দেশ্যে?
দাউদ

আমি তাই মনে করি না. আপনার অবশ্যই অবশ্যই একটি সরঞ্জাম প্রয়োজন ls
strugee

না আপনি কেন আমাদের অর্জন করার চেষ্টা করছেন তা আমাদের জানান না?
জেসনওয়ারিয়ান

1
এই সময়ের জন্য আমি কোনও ডিভাইস মাউন্ট করতে চাইছি তবে মনে রাখবেন না যদি এর এসডিএ / ২ / ৩ / 3 / ৪ / ৫ / etc. ইত্যাদি থাকে তবে ডিভাইসটি আমার কিনা সে সম্পর্কে আমার একটি ক্লু দেওয়ার জন্য সেই ডিভাইসে ফাইলগুলি তালিকাভুক্ত করা দরকার Just সন্ধান করুন
ল্যাম্পুন

উপায় দ্বারা: আপনার যদি ডিস্কের একটি চিত্র থাকে (পার্টিশন নয়), আপনি কমান্ড লাইনের প্রথম পরামিতি হিসাবে কোনও চিত্র ফাইলের পাথ দিয়ে কমান্ডটি testdiskচালিয়ে তার ফাইলগুলি দেখতে সক্ষম হতে পারেন testdisk
আব্বাফাই

উত্তর:


11

আপনি e2fsprogs এর debugfsপ্রোগ্রামটি ব্যবহার করতে পারেন । এর historicalতিহাসিক নাম থাকা সত্ত্বেও, এটি ext2 / 3/4 ফাইল সিস্টেমগুলিতে কাজ করবে। ব্যবহার সহজ:

# debugfs -R "ls -l" /dev/sda6
  2   40755 (2)   1001   1001    4096 17-Sep-2013 04:03 .
  2   40755 (2)   1001   1001    4096 17-Sep-2013 04:03 ..
 16  100644 (1)   1001   1001    9085 17-Sep-2013 04:03 avserver.conf
 17  100644 (1)   1001   1001    2177 17-Sep-2013 04:03 bash.bashrc
 26  100644 (1)   1001   1001     722 17-Sep-2013 04:03 crontab
 …   

যেখানে "ls -l" একটি debugfsনির্দিষ্ট কমান্ড যা বেশিরভাগ ক্ষেত্রে পছন্দ করে ls -l; আপনি সেখানে কোনও নির্বিচারে শেল কমান্ড ব্যবহার করতে পারবেন না। ডিফল্টরূপে, ডিবাগগুলি কেবল পঠন মোডে একটি ড্রাইভ খোলে তাই এটি তুলনামূলকভাবে নিরাপদ; উদাহরণস্বরূপ, একটি অ 2 ext3 / 3/4 পার্টিশনে এটি চেষ্টা করে কেবল একটি ডায়াগোনস্টিক দেয়:

# debugfs -R "ls -l" /dev/sda2
/dev/sda2: Bad magic number in super-block while opening filesystem
ls: Filesystem not open

আমি এই প্রস্তাবিত অনুশীলনটি বিবেচনা করে বলতে পারি না, তবে আপনি যা চান তা তা করবে।


3

একটি ফাইল সিস্টেম মাউন্ট করার পুরো পয়েন্টটি এর ফাইলগুলি অ্যাক্সেস করা। সুতরাং না, সাধারণভাবে, আপনি কোনও ফাইল সিস্টেমের ফাইলগুলি মাউন্ট না করে অ্যাক্সেস করতে পারবেন না।

কয়েকটি ইউটিলিটি রয়েছে যা মাউন্ট ছাড়াই সরাসরি কোনও ফাইল অ্যাক্সেস করতে পারে, যেমন ext2 / ext3 / ext4 ফাইল সিস্টেমের জন্য ডিবাগ এবং FAT ফাইল সিস্টেমের জন্য mtools

একটি ext2 / ext3 / ext4 এর জন্য, বিপজ্জনক এবং শক্তিশালী প্রোগ্রাম ব্যবহারের পরিবর্তে debugfs, আপনি এর শেষ মাউন্ট অবস্থানটি তালিকাভুক্ত করতে পারেন:

tune2fs -l /dev/sda1 | grep 'Last mounted'

তবে এটি কেবলমাত্র কার্যকর যদি শেষ মাউন্ট অবস্থানটি রেকর্ড করা থাকে।

বেশিরভাগ ফাইল-সিস্টেম প্রকারগুলি ফাইল-সিস্টেম লেবেলগুলি সরবরাহ করে (যেমন tune2fs -L foo)। সুতরাং আপনার সমস্ত ফাইল সিস্টেমকে একটি অনন্য লেবেল দিন। তারপরে ফাইল সিস্টেমটি লেবেল দ্বারা মাউন্ট করুন:

mount /dev/disks/by-label/foo /media/foo

অথবা

mount LABEL=foo /media/foo

2

সহজ উত্তর: আপনি পারবেন না। lsস্ট্যান্ডার্ড libc রুটিনগুলি ব্যবহার করে যা ফাইল সিস্টেম ড্রাইভার দ্বারা পরিবেশন করা সিস্টেম কলগুলিতে অনুবাদ করে, সুতরাং lsফাইল সিস্টেমটি মাউন্ট না করেই (বা সেই বিষয়গুলির জন্য সিস্টেম কলগুলি ব্যবহার করে কিছু ব্যবহার করা) সম্ভব নয় ।

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

আপনার সমস্যাটি যদি কেবলমাত্র পার্টিশন সনাক্ত করে থাকে, আপনার সম্ভবত জিপিটি ব্যবহার করা শুরু করা উচিত যা পার্টিশন নামের (পার্টিশন প্রতি 72 বাইট) জন্য স্থান রয়েছে। কিছু ওভারলাইং সলিউশন (উদাহরণস্বরূপ লিনাক্স এমডি বা এলভিএম) নামকরণের অনুমতি দেয়।


1

পূর্বে বর্ণিত হিসাবে, ডিবাগগুলি ভাল কাজ করে।

debugfs -R "ls -l" /dev/sda1

এনটিএফএসের জন্য, এনটিএফএস -3 জি থেকে এনটিএফএসএসএল আছে।

ntfsls /dev/sda2

ফ্যাট-এর জন্য, মডুলগুলি থেকে এমডিআর রয়েছে।

mdir -i /dev/sdc1

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

সংযুক্ত ড্রাইভ সম্পর্কে আরও বিশদ জানতে, lsblk রয়েছে।

lsblk

ব্যক্তিগতভাবে আমি এটি পছন্দ করি এবং এর জন্য একটি উপকরণ সেট করেছি:

alias lsblk="lsblk -o MODEL,TRAN,NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,MAJ:MIN"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.