প্রথম বন্ধটি/sys
একটি সিউডো ফাইল সিস্টেম । আপনি যদি তাকান তবে /proc/filesystems
আপনি নিবন্ধিত ফাইল সিস্টেমের একটি তালিকা পাবেন যেখানে বেশ কয়েকটি nodev
সামনে রয়েছে। এটি নির্দেশ করে তারা ছদ্ম ফাইল সিস্টেম । এর অর্থ এটি একটি র্যাম-ভিত্তিক ফাইল সিস্টেম হিসাবে চলমান কার্নেলে বিদ্যমান। আরও তাদের একটি ব্লক ডিভাইস প্রয়োজন হয় না।
$ cat /proc/filesystems
nodev sysfs
nodev rootfs
nodev bdev
...
বুট করার সময় কার্নেল এই সিস্টেমটি মাউন্ট করে এবং উপযুক্ত হলে এনট্রি আপডেট করে। যেমন বুট চলাকালীন বা এর মাধ্যমে নতুন হার্ডওয়্যার পাওয়া যায় udev
।
ইন /etc/mtab
আপনি সাধারণত এটি দ্বারা মাউন্ট করুন:
sysfs /sys sysfs rw,noexec,nosuid,nodev 0 0
বিষয়টিতে একটি দুর্দান্ত কাগজের জন্য
প্যাট্রিক মোচেলস - দ্য সিএসএফএস ফাইল সিস্টেম পড়ুন ।
/ সিস্টেমে ফাইলের স্ট্যাটাস
আপনি অধীনে একটি ডিরেক্টরিতে যান তাহলে /sys
কি একটি ls -l
আপনি যে সমস্ত ফাইল এক সাইজ হয়েছে লক্ষ্য করবেন। সাধারণত 4096 বাইট এটি রিপোর্ট করেছেন sysfs
।
:/sys/devices/pci0000:00/0000:00:19.0/net/eth2$ ls -l
-r--r--r-- 1 root root 4096 Apr 24 20:09 addr_assign_type
-r--r--r-- 1 root root 4096 Apr 24 20:09 address
-r--r--r-- 1 root root 4096 Apr 24 20:09 addr_len
...
আরও আপনি stat
একটি ফাইল করতে পারেন এবং অন্য একটি স্বতন্ত্র বৈশিষ্ট্য লক্ষ্য করতে পারেন ; এটি 0 টি ব্লক দখল করে। মূলের ইনোডের (স্টেট / সিএস) 1 হয় /stat/fs
সাধারণত ইনোড 2 থাকে etc.
আরএসএনসি বনাম সিপি
সিউডো ফাইলগুলি সিঙ্ক্রোনাইজ করার ক্ষেত্রে আরএসসিএনএইচ ব্যর্থতার সহজতম ব্যাখ্যা সম্ভবত উদাহরণস্বরূপ।
বলুন আমাদের কাছে একটি ফাইল রয়েছে address
যা 18 বাইট। একটি ls
বা stat
ফাইল 4096 বাইট রিপোর্ট করে।
rsync
- ফাইল ডেস্ক্রিপ্টার খুলুন, fd।
- আকারের মতো তথ্য পেতে fstat (fd) ব্যবহার করে।
- আকারের বাইটগুলি পড়ার জন্য সেট করুন, অর্থাৎ 4096 @ এটি @ ম্যাটডেম দ্বারা সংযুক্ত কোডের 253 লাইন হবে ।
read_size == 4096
- জিজ্ঞাসা করুন; পড়ুন: 4096 বাইট
- একটি সংক্ষিপ্ত স্ট্রিং অর্থাত 18 বাইট পড়া হয়।
nread == 18
read_size = read_size - nread (4096 - 18 = 4078)
- জিজ্ঞাসা করুন; পড়ুন: 4078 বাইট
- 0 বাইট পড়ুন (প্রথম পাঠ হিসাবে ফাইলের সমস্ত বাইট গ্রাস করে)।
nread == 0
, লাইন 255
4096
বাইটস পড়তে অক্ষম । জিরো আউট বাফার
- ত্রুটি সেট করুন
ENODATA
।
- রিটার্ন।
- ভুল প্রতিবেদন.
- পুনরায় চেষ্টা করা. (উপরে লুপ)
- ব্যর্থ হয়।
- ভুল প্রতিবেদন.
- ঠিক আছে।
এই প্রক্রিয়া চলাকালীন এটি সম্পূর্ণ ফাইলটি পড়ে। তবে কোনও আকারের উপলব্ধ না করে এটি ফলাফলকে বৈধতা দিতে পারে না - সুতরাং ব্যর্থতা কেবলমাত্র বিকল্প।
CP
- ফাইল ডেস্ক্রিপ্টার খুলুন, fd।
- St_size (এছাড়াও lstat এবং স্ট্যাট ব্যবহার করে) এর মতো তথ্য পেতে fstat (fd) ব্যবহার করে।
ফাইলটি বিচ্ছিন্ন হওয়ার সম্ভাবনা আছে কিনা তা পরীক্ষা করে দেখুন। ফাইলটি হোল ইত্যাদি আছে
copy.c:1010
/* Use a heuristic to determine whether SRC_NAME contains any sparse
* blocks. If the file has fewer blocks than would normally be
* needed for a file of its size, then at least one of the blocks in
* the file is a hole. */
sparse_src = is_probably_sparse (&src_open_sb);
stat
প্রতিবেদনগুলিতে শূন্য ব্লক থাকার ফাইল হিসাবে এটি বিরল হিসাবে শ্রেণিবদ্ধ করা হয়।
ব্যাপ্তি-অনুলিপি ( সাধারণ
স্পার্স ফাইলগুলি অনুলিপি করার আরও কার্যকর উপায় ) দ্বারা ফাইল পড়ার চেষ্টা করে এবং ব্যর্থ হয়।
- স্পার্স-কপি দ্বারা অনুলিপি।
- MAXINT এর সর্বাধিক পঠন আকারের সাথে শুরু হয়।
সাধারণত
18446744073709551615
32 বিট সিস্টেমে বাইটস।
- জিজ্ঞাসা করুন; 4096 বাইট পড়ুন। (স্ট্যাট তথ্য থেকে স্মরণে বরাদ্দ বাফার আকার।)
- একটি সংক্ষিপ্ত স্ট্রিং অর্থাত 18 বাইট পড়া হয়।
- কোনও গর্ত প্রয়োজন কিনা তা পরীক্ষা করুন, না।
- লক্ষ্য করতে বাফার লিখুন।
- সর্বাধিক পঠনের আকার থেকে 18 বিয়োগ করুন।
- জিজ্ঞাসা করুন; 4096 বাইট পড়ুন।
- 0 টি বাইট হিসাবে সমস্ত প্রথম পঠিত হয়ে যায়।
- সাফল্য ফিরে।
- সব ঠিক আছে. ফাইলের জন্য পতাকা আপডেট করুন।
- ঠিক আছে।
/sys/
?