命令行参数 - 和 -- 的区别

Posted 潜水的阳光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了命令行参数 - 和 -- 的区别相关的知识,希望对你有一定的参考价值。

在解释这些区别之前我们先了解一下有关Linux的背景知识,这个需要大家先认真看完就会对这些区别有更深入的了解,对linux也有更深的了解。

关于System V和BSD风格以及他们与Linux的关系:

1、System V 和BSD同出于AT&T实验室的两个不同的部门,SystemV是一个Unix的商业化标准,BSD为Unix标准化的Berkeley风格。

2、由于Linux是Linus Torvalds在以Unix为构架的系统上重新开发的,但仍沿用了两大Unix系统进程的风格,实事上应该确切的说Linus Torvalds只开发了kernel,而软件依然来自GNU组织。

 

目前只有Slackware是Linux发行版中唯一使用BSD风格的版本。其他的就是FreeBSD、NetBSD和OpenBSD三个著名的BSD发行版,并遵循「GPL规范」。在商业版的Unix及多数Linux发行版使用SystemV风格的init『可能有版权纠纷问题』。Linux代表的有:RedHat、Suse、MDV、MagicLinux、Debian等几乎大部分发行版。Unix代表的有AIX、IRIX、Solars、HP-UX。

介绍完背景知识再来看一下这些命令参数不同的使用方式:

 1、在linux下有些命令这样使用ls -a(参数前一横);

2、有些命令这样使用cp --help(参数前两横);

3、还有一些这样使用tar -xzvf(参数前有一横);

4、而有些这样使用tar xzvf(参数前没有横)。

 

关于命令的使用区别我们一一解释:

第一种:参数用一横的说明后面的参数是字符形式。

第二种:参数用两横的说明后面的参数是单词形式。

第三种:参数前有横的是 System V风格。

第四种:参数前没有横的是 BSD风格。

 

有关System V和BSD的其他区别:

系统启动过程中 kernel 最后一步调用的是 init 程序,init 程序的执行有两种风格,即 System V 和 BSD。
System V 风格中 init 调用 /etc/inittab,BSD 风格调用 /etc/rc,它们的目的相同,都是根据 runlevel 执行一系列的程序。

以上是关于命令行参数 - 和 -- 的区别的主要内容,如果未能解决你的问题,请参考以下文章

Perl和python命令行参数的区别

命令行参数 - 和 -- 的区别

解析/传递命令行参数到bash脚本 - “$ @”和“$ *”之间有什么区别?

Linux编程:命令行选项单横线“-”与双横线“--”的区别

Python语言命令行参数解析接收参数执行脚本的三种方法

用awk如何读取shell命令行上的参数(参数可以是带空格的)