linux命令行下命令参数前的一横(-)和两横(--)的区别

原文转自: http://blog.csdn.net/songjinshi/article/details/6816776

在解释这些区别以前咱们先了解一下有关linux的背景知识,这个须要你们先认真看完就会对这些区别有更深刻的了解,对linux也有更深的了解。linux

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

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

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

 

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

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

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

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

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

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

 

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

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

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

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

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

 

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

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

 

总结:一个疑问带来了这么多的背景知识,因此说有问题才有进步。