进入 Shell 之后第一眼看到的内容类似下面这种形式:
[mozhiyan@localhost ~]$
这叫做命令提示符,看见它就意味着可以输入命令了。命令提示符不是命令的一部分,它只是起到一个提示作用,我们将在《Shell命令提示符》一节中详细分析,本节只分析 Shell 命令的基本格式。
Shell 命令的基本格式如下:
command [选项] [参数]
[]
表示可选的,也就是可有可无。有些命令不写选项和参数也能执行,有些命令在必要的时候可以附带选项和参数。
ls 是常用的一个命令,它属于目录操作命令,用来列出当前目录下的文件和文件夹。ls 可以附带选项,也可以不带,不带选项的写法为:
[mozhiyan@localhost ~]$ cd demo [mozhiyan@localhost demo]$ ls abc demo.sh a.out demo.txt getsum main.sh readme.txt a.sh module.sh log.txt test.sh main.c
先执行
cd demo
命令进入 demo 目录,这是我在自己的主目录下创建的文件夹,用来保存教学使用的各种代码和数据。
接着执行 ls 命令,它列出了 demo 目录下的所有文件,并且进行了格式对齐。
ls 命令之后不加选项和参数也能执行,不过只能执行最基本的功能,即显示当前目录下的文件名。那么加入一个选项,会出现什么结果?
[mozhiyan@localhost demo]$ ls -l 总用量 140 -rwxrwxr-x. 1 mozhiyan mozhiyan 8675 4月 2 15:01 a.out -rwxr-xr-x. 1 mozhiyan mozhiyan 116 4月 3 09:24 a.sh -rw-rw-r--. 1 mozhiyan mozhiyan 44 4月 2 16:41 check.sh -rw-r--r--. 1 mozhiyan mozhiyan 399 3月 11 17:12 demo.sh -rw-rw-r--. 1 mozhiyan mozhiyan 4 4月 8 17:56 demo.txt -rw-rw-r--. 1 mozhiyan mozhiyan 0 4月 15 17:26 log.txt -rw-rw-r--. 1 mozhiyan mozhiyan 650 4月 10 11:06 main.c -rwxrwxr-x. 1 mozhiyan mozhiyan 69 3月 26 10:13 main.sh -rw-rw-r--. 1 mozhiyan mozhiyan 111 3月 26 09:56 module.sh -rw-rw-r--. 1 mozhiyan mozhiyan 352 3月 22 17:40 out.log -rw-rw-r--. 1 mozhiyan mozhiyan 61 4月 16 11:19 output.txt -rw-r--r--. 1 mozhiyan mozhiyan 5 4月 11 15:16 readme.txt -rwxr-xr-x. 1 mozhiyan mozhiyan 88 4月 15 17:23 test.sh
如果加一个
-l
选项,则可以看到显示的内容明显增多了。
-l
是长格式(long list)的意思,也就是显示文件的详细信息。
可以看到,选项的作用是调整命令功能。如果没有选项,那么命令只能执行最基本的功能;而一旦有选项,则能执行更多功能,或者显示更加丰富的数据。
Linux 的选项又分为短格式选项和长格式选项。
-
和一个字母表示,例如ls -l
。--
和一个单词表示,例如ls --all
。 一般情况下,短格式选项是长格式选项的缩写,也就是一个短格式选项会有对应的长格式选项。当然也有例外,比如 ls 命令的短格式选项
-l
就没有对应的长格式选项,所以具体的命令选项还需要通过帮助手册来查询。
参数是命令的操作对象,一般情况下,文件、目录、用户和进程等都可以作为参数被命令操作。例如:
[mozhiyan@localhost demo]$ ls -l main.c -rw-rw-r--. 1 mozhiyan mozhiyan 650 4月 10 11:06 main.c
但是为什么一开始 ls 命令可以省略参数?那是因为有默认参数。命令一般都需要加入参数,用于指定命令操作的对象是谁。如果可以省略参数,则一般都有默认参数。例如 ls:
[mozhiyan@localhost ~]$ cd demo [mozhiyan@localhost demo]$ ls abc demo.sh a.out demo.txt getsum main.sh readme.txt a.sh module.sh log.txt test.sh main.c
这个 ls 命令后面如果没有指定参数的话,默认参数是当前所在位置,所以会显示当前目录下的文件名。
Shell 命令可以同时附带选项和参数,例如:
[mozhiyan@localhost ~]$ echo "http://c.biancheng.net/shell/" http://c.biancheng.net/shell/ [mozhiyan@localhost ~]$ echo -n "http://c.biancheng.net/shell/" http://c.biancheng.net/shell/[mozhiyan@localhost ~]$
-n
是 echo 命令的选项,
"http://c.biancheng.net/shell/"
是 echo 命令的参数,它们被同时用于 echo 命令。
echo 命令用来输出一个字符串,默认输出完成后会换行;给它增加
-n
选项,就不会换行了。
有些命令的选项后面也可以附带参数,这些参数用来补全选项,或者调整选项的功能细节。
例如,read 命令用来读取用户输入的数据,并把读取到的数据赋值给一个变量,它通常的用法为:
read str
str 为变量名。
如果我们只是想读取固定长度的字符串,那么可以给 read 命令增加
-n
选项。比如读取一个字符作为性别的标志,那么可以这样写:
read -n 1 sex
1
是
-n
选项的参数,
sex
是 read 命令的参数。
-n
选项表示读取固定长度的字符串,那么它后面必然要跟一个数字用来指明长度,否则选项是不完整的。
Shell 命令的选项用于调整命令功能,而命令的参数是这个命令的操作对象。有些选项后面也需要附带参数,以补全命令的功能。
网页题目:LinuxShell命令的基本格式
标题URL:http://www.shufengxianlan.com/qtweb/news25/318525.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联