shell命令(1)

文件类型

d 目录。

l 符号链接(指向另一个文件)

s 套接字文件。

b 块设备文件。

c 字符设备文件。

p 命名管道文件。

- 普通文件,或者更准确地说,不属于以上几种类型的文件。

 

find命令选项

f i n d命令有很多选项或表达式,每一个选项前面跟随一个横杠 -。让我们先来看一下该命令的主要选项,然后再给出一些例子。

-name 按照文件名查找文件。

-perm 按照文件权限来查找文件。

-prune 使用这一选项可以使f i n d命令不在当前指定的目录中查找,如果同时使用了- d e p t h选项,那么- p r u n e选项将被f i n d命令忽略。

-user 按照文件属主来查找文件。

-group 按照文件所属的组来查找文件。

-mtime -n +n 按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。F i n d命令还有- a t i m e- c t i m e选项,但它们都和- m t i m e选项相似,所以我们在这里只介绍- m t i m e选项。

-nogroup 查找无有效所属组的文件,即该文件所属的组在 / e t c / g r o u p s中不存在。

-nouser 查找无有效属主的文件,即该文件的属主在 / e t c / p a s s w d中不存在。

-newer file1 ! file2 查找更改时间比文件f i l e 1新但比文件f i l e 2旧的文件。

-type 查找某一类型的文件,

-size n[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。

-depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。

-fstype 查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件

/ e t c / f s t a b中找到,该配置文件中包含了本系统中有关文件系统的信息。

-mount 在查找文件时不跨越文件系统m o u n t点。

-follow 如果f i n d命令遇到符号链接文件,就跟踪至链接所指向的文件。

-cpio 对匹配的文件使用c p i o命令,将这些文件备份到磁带设备中。

 

文件名置换

* 匹配文件名中的任何字符串,包括空字符串。

匹配文件名中的任何单个字符。

[...] 匹配[ ]中所包含的任何字符。

[!...] 匹配[ ]中非感叹号!之后的字符。

s h e l l遇到上述字符时,就会把它们当作特殊字符,而不是文件名中的普通字符,这样

用户就可以用它们来匹配相应的文件名。

 

At命令

a t命令的基本形式为:

at [-f script] [-m -l -r] [time] [date]

其中,

-f script 是所要提交的脚本或命令。

-l 列出当前所有等待运行的作业。a t q命令具有相同的作用。

-r 清除作业。为了清除某个作业,还要提供相应的作业标识( I D);有些U N I X变体只

接受a t r m作为清除命令。

-m 作业完成后给用户发邮件。

time at命令的时间格式非常灵活;可以是 HH H . H H M MH H : M MH : M,其中HM

分别是小时和分钟。还可以使用a . m .p . m .

date 日期格式可以是月份数或日期数,而且 a t命令还能够识别诸如t o d a yt o m o r r o w这样

的词。

 

echo

使用e c h o命令可以显示文本行或变量,或者把字符串输入到文件。它的一般形式为:

echo string

e c h o命令有很多功能,其中最常用的是下面几个:

\c 不换行。

\f 进纸。

\t 跳格。

\n 换行。

 

管道

可以通过管道把一个命令的输出传递给另一个命令作为输入。管道用竖杠 |表示。它的一般形式为:

命令1 |命令2

其中|是管道符号。

s e da w kg r e p都很适合用管道,特别是在简单的一行命令中。

 

标准输入、输出和错误

当我们在s h e l l中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件。由于文件描述符不容易记忆,s h e l l同时也给出了相应的文件名。下面就是这些文件描述符及它们通常所对应的文件名:

文件描述符

输入文件 — 标准输入 0

输出文件 — 标准输出 1

错误输出文件 — 标准错误 2

系统中实际上有1 2个文件描述符,但是正如我们在上表中所看到的,012是标准输入、输出和错误。可以任意使用文件描述符39

1 标准输入

标准输入是文件描述符0。它是命令的输入,缺省是键盘,也可以是文件或其他命令的输出。

2 标准输出

标准输出是文件描述符1。它是命令的输出,缺省是屏幕,也可以是文件。

3 标准错误

标准错误是文件描述符2。这是命令错误的输出,缺省是屏幕,同样也可以是文件。你可能会问,为什么会有一个专门针对错误的特殊文件?这是由于很多人喜欢把错误单独保存到一个文件中,特别是在处理大的数据文件时,可能会产生很多错误。如果没有特别指定文件说明符,命令将使用缺省的文件说明符(你的屏幕,更确切地说是你的终端) 。

 

文件重定向

在执行命令时,可以指定命令的标准输入、输出和错误,要实现这一点就需要使用文件重定向。表5 - 1列出了最常用的重定向组合,并给出了相应的文件描述符。在对标准错误进行重定向时,必须要使用文件描述符,但是对于标准输入和输出来说,这不是必需的。为了完整起见,我们在表5 - 1中列出了两种方法。

常用文件重定向命令

            command > filename                                                                                            把标准输出重定向到一个新文件中

         command >> filename                                                                                           把标准输出重定向到一个文件中(追加)

            command 1 > fielname                                                                                       把标准输出重定向到一个文件中

           command > filename 2>&1                                                                                把标准输出和标准错误一起重定向到一个文件中

          command 2 > filename                                                                                         把标准错误重定向到一个文件中

          command 2 >> filename                                                                                      把标准输出重定向到一个文件中(追加)

           command >> filename 2>&1                                                                              把标准输出和标准错误一起重定向到一个文件中 (追加)

          command < filename >filename2                                                                      c o m m a n d命令以f i l e n a m e文件作为标准输入,以f i l e n a m e 2文件作为标准输出

          command < filename                                                                                            c o m m a n d命令以f i l e n a m e文件作为标准输入

        command << delimiter                                                                                          把从标准输入中读入,直至遇到d e l i m i t e r分界符

         command <&m                          把文件描述符m作为标准输入

          command >&m                                                                                                       把标准输出重定向到文件描述符m

           command <&-                                                                                                     关闭标准输入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值