-o in Linux terminal (Dash o); What does it mean?

2020-03-30 05:20发布

问题:

I'm new to Linux Terminal and a lot of commands use the -o in it.

For example to compile a NASM program you say

gcc prgram1.o -o prgram1

I can guess that it has something to do with output but can anyone provide me with a proper definition and intuition for when it is used?

P.S. I did a lot of Googling, found a lot of pages with command references for Linux terminal but nothing that covered the simple -o.

回答1:

in most cases -o will stand for output but it's not a defined standard it can potentially mean anything the developer wanted it to mean, the only way someone can know which commands is to use a command line option of --help, -h, or something -? to display a simple list of commands, again because the developer of the program chooses the possible input arguments and there meaning this might differ from program to program.

The safest way to know is typically run

man gcc

replacing the second part with the program name you want.

man <program name>

This lists a full guide for the program with a lot more detail and is usually well formated to read on a terminal. just press Q when your finished reading it.



回答2:

the -o flag is often used to denote the name of the output file. However since it is a flag you should lookup in the manual what the specific flags are. Also you might run a program with -h or --help to show a list of options and flags.



回答3:

The -o flag denotes the output file of a compile or link operation. Look at the man pages of the command to figure out all possible command line options.