Welcome to the Linux Foundation Forum!

using man, lab 8.1

Hello,

One of the questions for lab 8.1 is :

From the command line, bring up the man page for the printf library function. In which manual page section are library functions found?

The solution seems to be found by entering the command $man 3 print

Unfortunately, when I type man 3 printf, I get nothing.

Please kindly let me know what I am doing wrong. Thanks.

Answers

  • josepmaria
    josepmaria Posts: 79

    Well, I think I know the answer. If anyone could confirm, I would appreciate it.

    Probably when the course was created, the chapter containing the word printf was chapter 3, now it is chapter 1.

    Additionally, the course was created, when entering the command $man -f printf several files would show up.

    As of today, when entering the command $man -f printf, only one page shows up (chapter 1).

  • KevinCSmallwood
    KevinCSmallwood Posts: 44
    edited July 12

    I'm away from home at the moment and only have a Windows laptop (gasp!) with me. I get back home on Sunday night and can try this on CentOS 9 Stream and Unbuntu 22.04.

    $ man printf

    Will, by default, give you the printf command in section 1.

    $ man 3 printf

    Should give you the printf C library function documentation. Section 3 of the manual pages include library calls. Section 2 contains system calls. Section 1 contains user type commands. Section 8 contains system command used typically by "root". The other sections contain specialized manual pages. There is a manual page that documents the different sections; I just forget the name off the top of my head. What I don't remember is if you need to install different software packages to get the other sections of the manual pages installed on your system. Which Distro are you running? Which hypervisor (like VMware or VirtualBox, for example--or maybe running it natively on your bare metal?) are you using? Sometimes the answer/problem is obvious, but way too often we really need to know more about the specific environment where you are having the problem. A nice tip is to look at the "script" command. It allows you to capture lines that you type into the terminal into a file that you can then share. That way, we see exactly what you typed and exactly what the system came back with. Be a little careful because things like backspace characters are captured raw, so you see things like "this is why^Hat I wrote^H^H^H^H^Htyped". You can clean it up, but if it is not too bad, we can usually figure it out. "script" is a great addition to your Sys Admin toolbox for reporting problems.

    Anyway, I will look further into this Sunday or Monday after I get back to my desktop running Linux. If it is solved before that, that's great!

  • josepmaria
    josepmaria Posts: 79

    @KevinCSmallwood thanks for your help.

    Surprisingly today, I tried again and command $man 3 printf delivered the expected information.

    Kindly find, here above, some information about the ubuntu installation I experienced the (now solved) issue.

    Ubuntu installation runs on VMWARE parallels for mac.

    I am not aware of having done any update to the man content on my ubuntu vm, perhaps when installing some commands via sudo it got fixed, I ignore that.

    Once again, thanks for your interest.

  • I'm going to call this one solved. No idea why it didn't work before. Capturing what you type and what comes back using the "script" command, for example, can really help in these strange cases where it doesn't work and then it does work or the opposite. It always helps if I can see exactly what you typed and exactly what Linux responded with. I'm glad it is working for you now.

Categories

Upcoming Training