খোলা সি ফাংশনের জন্য প্রোগ্রামারটির ম্যানপেজটি কোথায়?


16

আমি ডিবিয়ান 8 (জেসি) ব্যবহার করছি এবং আমি খোলার জন্য ম্যাপ পৃষ্ঠাটি সন্ধান করতে গিয়েছিলাম। পরিবর্তে আমি একটি সতর্কতা পেয়েছিলাম:

$ man 3 open
No manual entry for open in section 3
See 'man 7 undocumented' for help when manual pages are not available.

আমি ম্যানপেজ-ডেভ প্যাকেজ ইনস্টল করেছি, সুতরাং প্রোগ্রামারদের ম্যানপেজ (ম্যান 3) খোলার জন্য কোথায়?


1
এছাড়াও আপনি ব্যবহার করতে পারেন apropos, অথবা man --names-onlyএক সঙ্গে --regexবা --wildcard। দেখুন man man
একটি সিভিএন

সি তে, openকোনও ফাংশন নয়, এটি একটি সিস্টেম কল। এটি একটি পেডেন্টিক পার্থক্য, তবে এখানে প্রাসঙ্গিকতা হ'ল সিস্টেম কলগুলি বিভাগ 2 এ রয়েছে, যখন গ্রন্থাগারের ফাংশনগুলি বিভাগ 3-এ রয়েছে
এমপিজেজ 0

উত্তর:


18

আপনি man 2 openসি লাইব্রেরি ইন্টারফেসের জন্য চান , না man 3 open। এটা অবশ্যই manpages-dev(না manpage-dev) হয়। man 3 openএকটি পার্ল ম্যানুয়াল পৃষ্ঠা দেয়।

# Show the corresponding source groff file
man -w 2 open   
/usr/share/man/man2/open.2.gz

# Show which package this file belongs to
dpkg -S /usr/share/man/man2/open.2.gz
manpages-dev: /usr/share/man/man2/open.2.gz

# Or use dlocate to show which package this file belongs to
dlocate /usr/share/man/man2/open.2.gz
manpages-dev: /usr/share/man/man2/open.2.gz

14

ম্যানপেজ বিভাগগুলি ম্যানেজগুলিতে তাদের বর্ণনা করা হয়। man manবিভিন্ন বিভাগ এবং সাধারণ সামগ্রী দেখতে শেল সেশনে প্রবেশ করুন :

   1   Executable programs or shell commands
   2   System calls (functions provided by the kernel)
   3   Library calls (functions within program libraries)
   4   Special files (usually found in /dev)
   5   File formats and conventions eg /etc/passwd
   6   Games
   7   Miscellaneous  (including  macro  packages  and  conventions), e.g.
       man(7), groff(7)
   8   System administration commands (usually only for root)
   9   Kernel routines [Non standard]

বিভাগ 2 সিস্টেম কলগুলিকে বর্ণনা করে যেখানে বিভাগ 3 লাইব্রেরির রুটিনগুলি কভার করে। সিস্টেম কলের জন্য সহজভাবে মোড়ানো লাইব্রেরির রুটিনগুলি বিভাগ 2 এও বর্ণনা করা হয়েছে।


10

কেবল এর আরও কারণ ব্যাখ্যা করার জন্য, ম্যানপেজটি বিভাগ 2 এ রয়েছে কারণ এটি একটি সিস্টেম কল (সি লাইব্রেরির পরিবর্তে কার্নেলের অংশ হিসাবে কম-বেশি সরাসরি প্রয়োগ করা হয়েছে)।

এই পার্থক্যটি কিছুটা নির্বিচারে মনে হতে পারে, বিশেষত পুরানো সিস্টেম কলগুলির সাথে এখন লাইব্রেরি ফাংশন রয়েছে (কাঁটা এখনও বিভাগের 2 তে রয়েছে যদিও এটি এখন ক্লোনারের জন্য একটি মোড়ক হিসাবে ব্যবহৃত), যদি না আপনি ইতিমধ্যে এটি জানেন না। সাধারণভাবে, বিভাগ 3 প্রথমে দেখুন, তারপর বিভাগ 2 চেষ্টা করুন যদি আপনি এটি খুঁজে না পান বা দেখে মনে হচ্ছে এটি প্রাসঙ্গিক নয়। এছাড়াও, বিভাগ 2 এর কয়েকটি ফাংশন অভ্যন্তরীণ বা অপ্রচলিত লিনাক্স-নির্দিষ্ট ফাংশন যা সাধারণ প্রোগ্রামগুলি (যেমন getdents, gettid) দ্বারা কল করার কথা নয়।

আপনি লিনাক্স-নির্দিষ্ট তথ্য রাখার পরিবর্তে পোর্টেবল দৃষ্টিকোণ থেকে লেখা ম্যানপেজের একটি সেট পেতে manpages-posix-dev প্যাকেজ ইনস্টল করতে পারেন। এই প্যাকেজে, সি ফাংশনগুলির জন্য সরবরাহ করা সমস্ত ম্যানপেইজগুলি বিভাগ 3p এ রয়েছে।


4

যখন কোন নির্দিষ্ট ম্যানপেজটি কোন বিভাগে আমি অনিশ্চিত তখন আমি -a বিকল্পটি ব্যবহার করি।

   -a, --all
          By  default,  man  will  exit  after  displaying the most suitable manual page it finds.
          Using this option forces man to display all the manual pages with names that  match  the
          search criteria.

মানুষের জন্য ম্যানপেজে উদাহরণ থেকে:

   man -a intro
       Display,  in  succession, all of the available intro manual pages
       contained within the manual.  It is possible to quit between
       successive displays or skip any of them.

3

এই পরিস্থিতিতে, কমান্ডগুলির মধ্যে একটি ব্যবহার করে এই ম্যানপেজ নামের সমস্ত উপলব্ধ পৃষ্ঠাগুলির সম্পূর্ণ তালিকাটি দেখতে দরকারী:

$ man -k ^open$
$ apropos -r ^open$
$ man -f open
$ whatis open

ফলাফল একই হবে:

open (1)             - start a program on a new virtual terminal (VT).
open (2)             - open and possibly create a file or device

বা বিদ্যমান বিদ্যমান ম্যানেজগুলির সামগ্রী দেখুন এবং এইভাবে সনাক্ত করতে প্রয়োজনীয়:

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