新聞中心

進入 Shell 之后第一眼看到的內(nèi)容類似下面這種形式:
[mozhiyan@localhost ~]$
這叫做命令提示符,看見它就意味著可以輸入命令了。命令提示符不是命令的一部分,它只是起到一個提示作用,我們將在《Shell命令提示符》一節(jié)中詳細(xì)分析,本節(jié)只分析 Shell 命令的基本格式。
Shell 命令的基本格式如下:
command [選項] [參數(shù)]
[]表示可選的,也就是可有可無。有些命令不寫選項和參數(shù)也能執(zhí)行,有些命令在必要的時候可以附帶選項和參數(shù)。
ls 是常用的一個命令,它屬于目錄操作命令,用來列出當(dāng)前目錄下的文件和文件夾。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
先執(zhí)行
cd demo命令進入 demo 目錄,這是我在自己的主目錄下創(chuàng)建的文件夾,用來保存教學(xué)使用的各種代碼和數(shù)據(jù)。
接著執(zhí)行 ls 命令,它列出了 demo 目錄下的所有文件,并且進行了格式對齊。
使用選項
ls 命令之后不加選項和參數(shù)也能執(zhí)行,不過只能執(zhí)行最基本的功能,即顯示當(dāng)前目錄下的文件名。那么加入一個選項,會出現(xiàn)什么結(jié)果?
[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選項,則可以看到顯示的內(nèi)容明顯增多了。
-l是長格式(long list)的意思,也就是顯示文件的詳細(xì)信息。
可以看到,選項的作用是調(diào)整命令功能。如果沒有選項,那么命令只能執(zhí)行最基本的功能;而一旦有選項,則能執(zhí)行更多功能,或者顯示更加豐富的數(shù)據(jù)。
短格式選項和長格式選項
Linux 的選項又分為短格式選項和長格式選項。
- 短格式選項是長格式選項的簡寫,用一個減號
-和一個字母表示,例如ls -l。 - 長格式選項是完整的英文單詞,用兩個減號
--和一個單詞表示,例如ls --all。
一般情況下,短格式選項是長格式選項的縮寫,也就是一個短格式選項會有對應(yīng)的長格式選項。當(dāng)然也有例外,比如 ls 命令的短格式選項
-l就沒有對應(yīng)的長格式選項,所以具體的命令選項還需要通過幫助手冊來查詢。
使用參數(shù)
參數(shù)是命令的操作對象,一般情況下,文件、目錄、用戶和進程等都可以作為參數(shù)被命令操作。例如:
[mozhiyan@localhost demo]$ ls -l main.c -rw-rw-r--. 1 mozhiyan mozhiyan 650 4月 10 11:06 main.c
但是為什么一開始 ls 命令可以省略參數(shù)?那是因為有默認(rèn)參數(shù)。命令一般都需要加入?yún)?shù),用于指定命令操作的對象是誰。如果可以省略參數(shù),則一般都有默認(rèn)參數(shù)。例如 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 命令后面如果沒有指定參數(shù)的話,默認(rèn)參數(shù)是當(dāng)前所在位置,所以會顯示當(dāng)前目錄下的文件名。
選項和參數(shù)一起使用
Shell 命令可以同時附帶選項和參數(shù),例如:
[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 命令的參數(shù),它們被同時用于 echo 命令。
echo 命令用來輸出一個字符串,默認(rèn)輸出完成后會換行;給它增加
-n選項,就不會換行了。
選項附帶的參數(shù)
有些命令的選項后面也可以附帶參數(shù),這些參數(shù)用來補全選項,或者調(diào)整選項的功能細(xì)節(jié)。
例如,read 命令用來讀取用戶輸入的數(shù)據(jù),并把讀取到的數(shù)據(jù)賦值給一個變量,它通常的用法為:
read str
str 為變量名。
如果我們只是想讀取固定長度的字符串,那么可以給 read 命令增加
-n選項。比如讀取一個字符作為性別的標(biāo)志,那么可以這樣寫:
read -n 1 sex
1是
-n選項的參數(shù),
sex是 read 命令的參數(shù)。
-n選項表示讀取固定長度的字符串,那么它后面必然要跟一個數(shù)字用來指明長度,否則選項是不完整的。
總結(jié)
Shell 命令的選項用于調(diào)整命令功能,而命令的參數(shù)是這個命令的操作對象。有些選項后面也需要附帶參數(shù),以補全命令的功能。
文章題目:LinuxShell命令的基本格式
URL標(biāo)題:http://m.fisionsoft.com.cn/article/djjshjg.html


咨詢
建站咨詢
