Reputation: 26583
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.
Upvotes: 49
Views: 83983
Reputation: 232
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:
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.
Upvotes: 0
Reputation: 23
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:
Upvotes: 1
Reputation: 10648
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.
Upvotes: 1
Reputation: 46
I had a similar issue, you can try using --help and it should give you the info you need For Example
ls --help
Upvotes: 1
Reputation: 2404
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
Upvotes: 0
Reputation: 21
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
Upvotes: 2
Reputation: 2593
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
Upvotes: 29
Reputation: 6717
Install cygwin and set the path in windows command prompt as
set PATH=C:\cygwin\bin;%PATH%
and just give 'man' it should work..
Upvotes: 8
Reputation: 1095
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
Upvotes: 28
Reputation: 160964
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.
Upvotes: 2
Reputation: 1604
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.
Upvotes: 0
Reputation: 161
Most windows commands have a /h switch for usage and brief routine information.
Upvotes: -2