UNIX入门 2-1 命令行结构

命令行结构

<命令名><命令选项><命令参数>

通常以“-”为开始的单个字符。

命令选项和命令参数都可以省略。在省略的情况下均采用默认值。

如下,列出系统当前日期和时间:

$ date

Mon Jun 20 03:04:14 ART 2011

命令 选项 参数

ls -l /etc/profile

 

命令 选项

ls -a

ls -la

 

命令 参数

ls /etc/skel

 

复杂情况:"-k 5 -n"选项,“-o sorted”: “-o”选项sorted是“-o”的参数

sort -k 5 -n -o sorted tobesorted

 

一次输入多个命令,命令之间用分号隔开

cd /etc/skel; ls -l
total 4
-rw-r--r-- 1 root root 167 2009-10-02 17:40 examples.desktop

 

另外可以用圆括号吧若干命令合并在一起

(cd /etc/skel; ls -l)

total 4
-rw-r--r-- 1 root root 167 2009-10-02 17:40 examples.desktop

 

下面两组名单最终结果完全不同的(其中,“wc -l”命令用于计算读入的行数)。首先让我们分别观察date与who两个

命令输出。

$ date
Mon Jun 20 03:27:32 ART 2011
$ who
pubuntu  tty1         2011-06-20 02:57

 

并列命令的输出结果

date; who |wc -l
Mon Jun 20 03:30:08 ART 2011
1

(date;who) | wc -l
2

 

如果命令较长,超出一个物理行的宽度,可以使用反斜线“/”把命令写到多个物理行上。

read -p "Please input name, phone and email address in order:" /

name phone email

 

后台进程

find / -name core -print 2>/dev/null &

 

标准输入、标准输出与标准输出与标准错误输出

cat -v


输入输出重定向

ls -l > fname

上述命令中,“> fname”意味着吧 “ls -l”命令的输出数据重定向并写到指定文件fname中。如果文件文件不存在,Shell将会自动创建一个新文件。

为了保留文件中原有数据,吧命令的输出数据附加到文件的后面,可以使用重定向符号“>>”。

ls -l >> fname

 

wc 命令的功能是读取标准输入中输入数据,分别计数输入数据中的字符数、字数和行数。为了使wc命令能够直接读取某个文件中的数据内容,可以使用重定向符号“<”使之直接读取指定的文件。

wc -l < fname

 

你可能感兴趣的:(UNIX入门 2-1 命令行结构)