Where is the 'man' Program for Windows (Program to open UNIX man pages)?
Asked Answered
A

14

49

I'm looking for the windows executable for the linux man (manual reader).

I tried googling around, but got frustrated with the kind of results it came up with, owing to 'man' being such a common phrase.

I got results that read "man executed in texas..".

So I look to the SO community now. Any clues?


Here's my need: I have Portable Git on windows. It has a bash windows binary. But when it tries to show me help for some commands, the poor thing complains that "there is no manual reader". So if I get a man binary, I'll place it in the bin/ directory and all will be hunky-dory.

Allanadale answered 3/6, 2009 at 12:24 Comment(4)
Maybe it'd help if you wrote what you need it for?Kerns
Are you trying to view help for windows commands or linux commands?Tarmac
@Kerns Here's my need: I have Portable Git on windows. It has a bash windows binary. But when it tries to show me help for some commands, the poor thing complains that "there is no manual reader". So if I get a man binary, I'll place it in the bin/ directory and all will be hunky-dory.Allanadale
@U62: He did clarify his question, in a comment. He should have edited the question, but I don't think it's worth a downvote.Feleciafeledy
S
28

If you are looking to open linux style man pages in Windows, then get Groff for Windows to view the man pages on your command line as follows:

groff -Tascii -mm your_file | more
Spatula answered 3/6, 2009 at 12:53 Comment(2)
mm hmm.. more like it. Thanks!Allanadale
Might also need compatibility mode (-C) as well.Nyala
S
28

HELP is the equivalent Windows command for man. For instance:

C:\> HELP
For more information on a specific command, type HELP command-name
ASSOC          Displays or modifies file extension associations.
ATTRIB         Displays or changes file attributes.
BREAK          Sets or clears extended CTRL+C checking.
BCDEDIT        Sets properties in boot database to control boot loading.
CACLS          Displays or modifies access control lists (ACLs) of files.
CALL           Calls one batch program from another.
CD             Displays the name of or changes the current directory.
CHCP           Displays or sets the active code page number.
CHDIR          Displays the name of or changes the current directory.
CHKDSK         Checks a disk and displays a status report.
CHKNTFS        Displays or modifies the checking of disk at boot time.
CLS            Clears the screen.
CMD            Starts a new instance of the Windows command interpreter.
COLOR          Sets the default console foreground and background colors.
COMP           Compares the contents of two files or sets of files.
COMPACT        Displays or alters the compression of files on NTFS partitions.
CONVERT        Converts FAT volumes to NTFS.  You cannot convert the
               current drive.
COPY           Copies one or more files to another location.
DATE           Displays or sets the date.
DEL            Deletes one or more files.
DIR            Displays a list of files and subdirectories in a directory.
DISKCOMP       Compares the contents of two floppy disks.
DISKCOPY       Copies the contents of one floppy disk to another.
DISKPART       Displays or configures Disk Partition properties.
DOSKEY         Edits command lines, recalls Windows commands, and 
               creates macros.
DRIVERQUERY    Displays current device driver status and properties.
ECHO           Displays messages, or turns command echoing on or off.
ENDLOCAL       Ends localization of environment changes in a batch file.
ERASE          Deletes one or more files.
EXIT           Quits the CMD.EXE program (command interpreter).
FC             Compares two files or sets of files, and displays the 
               differences between them.
FIND           Searches for a text string in a file or files.
FINDSTR        Searches for strings in files.
FOR            Runs a specified command for each file in a set of files.
FORMAT         Formats a disk for use with Windows.
FSUTIL         Displays or configures the file system properties.
FTYPE          Displays or modifies file types used in file extension 
               associations.
GOTO           Directs the Windows command interpreter to a labeled line in 
               a batch program.
GPRESULT       Displays Group Policy information for machine or user.
GRAFTABL       Enables Windows to display an extended character set in 
               graphics mode.
HELP           Provides Help information for Windows commands.
ICACLS         Display, modify, backup, or restore ACLs for files and 
               directories.
IF             Performs conditional processing in batch programs.
LABEL          Creates, changes, or deletes the volume label of a disk.
MD             Creates a directory.
MKDIR          Creates a directory.
MKLINK         Creates Symbolic Links and Hard Links
MODE           Configures a system device.
MORE           Displays output one screen at a time.
MOVE           Moves one or more files from one directory to another 
               directory.
OPENFILES      Displays files opened by remote users for a file share.
PATH           Displays or sets a search path for executable files.
PAUSE          Suspends processing of a batch file and displays a message.
POPD           Restores the previous value of the current directory saved by 
               PUSHD.
PRINT          Prints a text file.
PROMPT         Changes the Windows command prompt.
PUSHD          Saves the current directory then changes it.
RD             Removes a directory.
RECOVER        Recovers readable information from a bad or defective disk.
REM            Records comments (remarks) in batch files or CONFIG.SYS.
REN            Renames a file or files.
RENAME         Renames a file or files.
REPLACE        Replaces files.
RMDIR          Removes a directory.
ROBOCOPY       Advanced utility to copy files and directory trees
SET            Displays, sets, or removes Windows environment variables.
SETLOCAL       Begins localization of environment changes in a batch file.
SC             Displays or configures services (background processes).
SCHTASKS       Schedules commands and programs to run on a computer.
SHIFT          Shifts the position of replaceable parameters in batch files.
SHUTDOWN       Allows proper local or remote shutdown of machine.
SORT           Sorts input.
START          Starts a separate window to run a specified program or command.
SUBST          Associates a path with a drive letter.
SYSTEMINFO     Displays machine specific properties and configuration.
TASKLIST       Displays all currently running tasks including services.
TASKKILL       Kill or stop a running process or application.
TIME           Displays or sets the system time.
TITLE          Sets the window title for a CMD.EXE session.
TREE           Graphically displays the directory structure of a drive or 
               path.
TYPE           Displays the contents of a text file.
VER            Displays the Windows version.
VERIFY         Tells Windows whether to verify that your files are written
               correctly to a disk.
VOL            Displays a disk volume label and serial number.
XCOPY          Copies files and directory trees.
WMIC           Displays WMI information inside interactive command shell.

For more information on tools see the command-line reference in the online help.

Here is another example:

C:\> HELP SET
Displays, sets, or removes cmd.exe environment variables.

SET [variable=[string]]

  variable  Specifies the environment-variable name.
  string    Specifies a series of characters to assign to the variable.

...

(I cut several pages worth of information from its output)

It provides a wealth of information. But alas, it is really no different than calling the /? parameter of the application you want to use anyway (ie: SET /?).

But, at least you can find the application you need without knowing its name by using the following:

C:\> HELP | find /i "ACL"
CACLS          Displays or modifies access control lists (ACLs) of files.
ICACLS         Display, modify, backup, or restore ACLs for files and
Sweetheart answered 8/8, 2012 at 17:49 Comment(1)
ss64.com is pretty good too regarding common windows commands. It also includes references for cmd.exe and powershell. A good offline compromise would be to scrape ss64 with with wget, like so: wget -kmE -np --no-check-certificate -P . http://ss64.com/nt/Homocyclic
C
9

If you install Cygwin, you'll get a man command ... That will of course not cover Windows concepts though; Windows documentation is not delivered in man file format.

Cissoid answered 3/6, 2009 at 12:28 Comment(2)
@harshath.jr: If you want proper man and proper git on Windows, there's nothing better than Cygwin. Honestly, Cygwin is one of the best things that Windows still has going for it :P Seriously, though: Why the aversion to Cygwin? I find there is a misplaced perception that's it's large and invasive. It can be configured to be quite minimal and it's anything but invasive (everything is under a single directory and it stores practically nothing in the registry).Holbrooke
@dan pls view my clarification comment in the question. can i use cygwin to better my situation?Allanadale
P
8

Install cygwin and set the path in windows command prompt as

set PATH=C:\cygwin\bin;%PATH%

and just give 'man' it should work..

Pavlish answered 3/6, 2009 at 13:21 Comment(0)
L
2

In Windows, the commands that are part of the command interpreter (cmd.exe), such as the dir, copy, ren, and such commands will display some help information with the /? switch.

Some examples:

dir /?
rename /?
copy /?

This is a hold out from the DOS days when many of the commands and programs used the backslash for the switches, and ? was used for displaying usage and help information, hence the /? switch.

Also, typing help at the command interpreter will also display a listing of all the command interpreter's commands. help <command_name> will also bring up help information as well.

Microsoft provides a Command Reference which has usage and options available for each command.

Londoner answered 3/6, 2009 at 12:25 Comment(2)
The /? switch is equivalent to --help, way far from the content that man pages typically haveFoamflower
Looks more like a forward slash than a backslash.Megalith
H
2

assuming you have loaded and are using the Windows Subsystem for Unix Applications from a shell (I prefer the C shell) its in /usr/share/man. Just:

   set MANPATH "/usr/share/man"

in your .cshrc or .login startup files and you will then be able use the command:

   man 1 csh 

to get manual information on the "csh" command from manual set 1.

hope this helps. - Deck

Hydrodynamic answered 22/12, 2010 at 5:6 Comment(0)
J
1

I had a similar issue, you can try using --help and it should give you the info you need For Example

ls --help
Joaquinajoash answered 4/5, 2021 at 17:1 Comment(0)
C
1

You can also try this for viewing man pages from Windows. It is very simple, just use below from a Windows command prompt (no need to install it):

mandoc.exe manpage.1 | more

Note: You can also put mandoc.exe in your PATH.

Cirilla answered 19/1, 2022 at 17:10 Comment(0)
A
0

Windows Help is typically published via .CHM files or online through the Microsoft Knowledge Base and MSDN. There isn't a central repository of help like on *NIX systems.

Atingle answered 3/6, 2009 at 12:50 Comment(0)
S
0

If you already have a man executable installed on your Windows (it happens I did, not sure where I installed it from), you can find its location with :

C:\> where man

where finds the location of the executables you have on your Windows.

Source: https://superuser.com/questions/49104/how-do-i-find-the-location-of-an-executable-in-windows

Stingy answered 8/3, 2020 at 12:44 Comment(0)
T
0

If you are using Powershell 7+, then you can use the following command to get man like helpful documentation. For example, if you wanted more information on dir, you can use the following command within PS.

Get-Help dir

"Displays information about PowerShell commands and concepts."

Reference:

Tophet answered 16/4, 2022 at 16:7 Comment(0)
P
0

Sadly, there's no convenient way to install the man utility on Windows, and even if there was, it wouldn't help you because the *.1 manual files aren't packaged for Windows. (It's the classic chicken-and-egg problem.)

However, if you're using Git BASH from Git for Windows, you can simply add this line to your ~/.bashrc file:

man() { "$1" --help 2>&1 | less; }

Now when you type man [command] at the Bash prompt, you'll see the command's --help text. It's not quite as good as a manual page, but it tends to have the most important information.

Piping it to less gives you the familiar man interface:

  • Scroll up and down with the arrow keys.
  • Press the letter keys U or D to scroll faster.
  • Press / to initiate a text search.
  • Press Q to quit the help screen and return to the shell prompt.

The 2>&1 redirect ensures you'll see a message if the command isn't found, otherwise less would just give you an empty screen.


If you also want to see help text for shell-builtins and other goodies, add this to ~/.bashrc instead:

function man()
{
    (
        exec 2>&1
        type "$1" 2>/dev/null  # Print command type.
        case "$(type -t "$1")" in
        alias|function)
            :  # Do nothing. (Safest option. See below for possible alternatives.)
            ;;
        builtin|keyword)
            help -m "$1"  # Show Bash help.
            ;;
        file|*)
            "$1" --help  # Show command's help.
            ;;
        esac
    ) | less
}

Alternative code for the alias and function cases:

        alias)
            eval "$1" --help  # Resolve the alias. Potentially unsafe!
            ;;
        function)
            "$1" --help  # Execute the function. Potential for unintended consequences!
            ;;

This alternative code would hopefully show --help text for whatever command the alias/function points to. However, it makes assumptions about how the alias/function is constructed, so it's not guaranteed to work for all functions/aliases. Also, use of eval is generally discouraged (although here we do at least know that we're evaluating an alias name, which can only contain a restricted set of characters). Anyway, this code can have unintended consequences, hence I decided to leave it out of the main example.

Petulah answered 15/11, 2023 at 7:42 Comment(0)
S
-1

In DOS, you can type HELP

Strobel answered 3/6, 2009 at 12:28 Comment(1)
I did. Your remark about DOS makes absolutely no sense. Please read the body/tags of question and consider deleting the answer.Nyala
S
-2

Most windows commands have a /h switch for usage and brief routine information.

Swath answered 3/6, 2009 at 12:30 Comment(3)
Noooo! not help for dos commands! by god, don't even call them windows commands!Allanadale
Technically, if you're using a command-line interface on a Windows machine after 9x, you're not using DOS, either, but CMD.Poet
Also, almost no Windows commands have an /h switch. Many have a /? switch - but in either case, that answers the original question like Red San Diego answers the question, "What's 2*5?"Lisalisabet

© 2022 - 2024 — McMap. All rights reserved.