您的位置:首页 > 运维架构 > Linux

自学基础1_linux_2_看懂各类命令格式

2015-05-18 11:10 239 查看
使用type命令查看命令的类型:

$type cd

cd is a shell builtin

$type ls

ls is /bin/ls

$type case

case is a shell keyword

type的几种基本类型:

alias:别名,就是对一个执行命令取一个别名,创建语法:alias [alias-name=’original-command’],删除语法:unalias [lias-name],如alias ll=`ls -l`,执行ll跟执行ls -l结果            一样,unalias ll;

keyword:关键字,shell保留字(如:!、case等),内建命令和保留字列表可参考文档:http://blog.chinaunix.net/uid-25880122-id-2941630.html
function:函数,shell函数
builtin:内建命令,shell内建命令
file:文件,磁盘文件或外部命令,如cp、第三方程序命令
unfound:没找到

使用which查看命令的文件路径:

$which cd
/usr/bin/cd


使用man/info查看命令的使用手册:
$info ls

File: *manpages*,  Node: ls,  Up: (dir)

LS(1)                     BSD General Commands Manual                    LS(1)

NAME
ls -- list directory contents

SYNOPSIS
ls [-ABCFGHLOPRSTUW@abcdefghiklmnopqrstuwx1] [file ...]


shell 命令的一般格式

command [options [option_arguments]] [arguments]
command:命令名称

options:选项,选项也可以带参数

arguments:参数,此处指命令的参数,而不是选项的参数

shell命令的选项和参数常用符号

-:短选项(字符)

--:长选项(单词)

[]:可选项

<>:必选项

|:多选一

...:前面的内容可重复出现多次

实例讲解1:man

man  [-acdfFhkKtwW]  [--path]  [-m system] [-p string] [-C config_file]
[-M pathlist] [-P pager] [-B browser] [-H htmlpager] [-S  section_list]
[section] name ...


[-acdfFhkKtwW]:[]表示可以不加这些参数,也可任意选择其中多项;-表示是短选项,每个字符都是一个option,解析的时候会将-后面的字符串一个字符当一个选项分开处理;

[--path]:[]可选;--长选项,会将path当作一个option进行处理

[-p string]:可选,短选项,选项后面跟一个字符串当选项的参数;注意不是man的参数,man的参数是最后的name ...;该选项也可写成[-p <string>],

                   <>如果只有一个选项可省去,如果是多选一,则必须加上,如[-p <1 | 2>],即-p必须有一个参数,要么是1,要么是2

[section]:没有选项,只有选项参数

name ...:真正的man命令处理的数据,必须传一个name,且可同时传多个name

实例讲解2:cp

cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ...  target_directory
[-R [-H | -L | -P]]:-R、-H、-L、-P均可选,但是-H、-L、-P是在有-R选项时才有效;

[-fi | -n]:-f和-i和起来的功能,跟-n等价

source_file ... target_directory:source_file最少1个,也可传多个;最后一个当作 target_directory

实例讲解3:git

git [--version] [--help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>] <command> [<args>]


[-C <path>]:C是一个短选项,必须带一个path参数

[-c <name>=<value>]:选项c必须带一个简直对参数

[--exec-path[=<path>]]:xec-path是长选项,可以带一个参数=<path>,如果带参数,则path必传

[--html-path]:html-path]是一个长选项

[-p|--paginate|--no-pager]:选项p、paginate、no-pager等价,非必传,可任选一个

其它高级用法举例:

1、[ --atime-preserve  ]:表示一个可选选项。

2、[ -B, --read-full-records ]:表示一个可选选项,简写为-B,完整写法是--read-full-records,两者在用的时候只能选择其一,它们的功能都是完全一样的。一般带“-”开头的选项都                                                是简写,“--”开头的命令都是完整写法,并且,一般的选择都有一个简写,一个完整写法,简写写在前面,完整写法写在后面,中间用逗号分割。

3、[ -b, --blocking-factor  N ]:表示一个可选选项,简写为-b N,完整写法是--blocking-factor  N,N代表这个参数需要一个值,在详细描述中可以看到。当然,选项可以带参数,                                                  也可以不带参数,大部分选项是没有参数的,相当于控制开关。命令的书写如:tar -b=10000 -cvf com.tar.gz com

4、[ -F, --info-script  F  --new-volume-script  F  ]:表示有两个同时存在的可选命令,-F F --new-volume-script F,两个选项必须同时出现,在此,后面的选项没有简写。

5、[ -z, --gzip, --gunzip, --ungzip ]:表示一个可选选项,它的写法有多种,除了-z之外,其他的都是它的完整写法。

6、[ -[0-7][lmh] ]:表示嵌套的可选选项,0-7表示取值从0到7取一个。

参考文档:http://lavasoft.blog.51cto.com/62575/533131/

硬链接和软链接:http://www.2cto.com/os/201302/191505.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息