`

shell相关内容

阅读更多

正则表达:

^ 只只匹配行首
$ 只只匹配行尾
* 只一个单字符后紧跟*,匹配0个或多个此单字符
[ ] 只匹配[ ]内字符。可以是一个单字符,也可以是字符序列。可以使用-
表示[ ]内字符序列范围,如用[ 1 - 5 ]代替[ 1 2 3 4 5 ]
\ 只用来屏蔽一个元字符的特殊含义。因为有时在s h e l l中一些元字符有
特殊含义。\可以使其失去应有意义
. 只匹配任意单字符
p a t t e r n \ { n \ } 只用来匹配前面p a t t e r n出现次数。n为次数
p a t t e r n \ { n,\ } m 只含义同上,但次数最少为n
p a t t e r n \ { n,m \ } 只含义同上,但p a t t e r n出现次数在n与m之间
 

 

 

测试文件状态:

- d 目录
- s 文件长度大于0、非空
- f 正规文件
- w 可写
- L 符号连接
- u 文件有s u i d位设置
- r 可读
- x 可执行
 

 

字符串测试:

= 两个字符串相等。
!= 两个字符串不等。
-z 空串。
-n 非空串。
 

 

 

测试时使用逻辑操作符:

 

-a 逻辑与,操作符两边均为真,结果为真,否则为假。
-o 逻辑或,操作符两边一边为真,结果为真,否则为假。
! 逻辑否,条件为假,结果为真。
 

 

 

 

测试数值:

-eq 数值相等。
-ne 数值不相等。
-gt 第一个数大于第二个数。
-lt 第一个数小于第二个数。
-le 第一个数小于等于第二个数。
-ge 第一个数大于等于第二个数。

 

角本中的特殊符号含意:

 

$ # 传递到脚本的参数个数
$ * 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个
$ $ 脚本运行的当前进程I D号
$ ! 后台运行的最后一个进程的进程I D号
$ @ 与$ #相同,但是使用时加引号,并在引号中返回每个参数
$ - 显示s h e l l使用的当前选项,与s e t命令功能相同
$ ? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。 

 

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 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
-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命令,将这些文件备份到磁带设备中。
 

 

 

(3) 控制查找的行为

find . -maxdepth 3 -name "*.txt"
查找当前目录下(递归子目录)的所有名为*.txt的文件,目录深度不超过3层

find . -maxdepth 1 -name "*.txt"
查找当前目录下(不递归子目录,因为maxdepth为1)的所有名为*.txt的文件

find . -mindepth 3 -name "*.txt"
查找当前目录下(递归子目录)的所有名为*.txt的文件,目录深度不低于3层

find . -mindepth 1 -name "*.txt"
查找当前目录下的子目录中(递归子目录)的所有名为*.txt的文件,不包含当前目录

find . -depth -name "*.txt"
查找当前目录下(递归子目录)的所有名为*.txt的文件,每个目录都是先在目录中进行查找,然后才继续查找其子目录

分享到:
评论

相关推荐

    shell脚本相关资料

    - 1.chm文件可能包含有关shell脚本的详细教程或参考手册。 - shell.doc可能是关于shell编程的文档,可能包括实例和解释。 - Linux.pdf可能涵盖Linux基础和shell脚本的综合知识。 - shell.pdf专门针对shell脚本,...

    shell编程相关内容

    Shell 编程相关内容 本篇文章主要讲解了 Shell 编程的基础知识,包括 Shell 的简介、命令格式、特殊字符、管道、输入/输出重定向、命令置换、变量等。 Shell 简介 Shell 实际上是一个应用程序,将用户的命令或...

    linux_shell实例精解

    3. **文件与目录操作**:如何创建、删除、移动、复制文件和目录,以及文件查找、权限管理等相关命令。 4. **管道与重定向**:利用管道(|)将一个命令的输出作为另一个命令的输入,重定向(>、<、>>)则可以改变...

    shell题库.pdf

    虽然文件内容中的某些部分可能由于OCR扫描的原因导致识别错误或不完整,但基于现有信息,我们依然能够提炼出上述Shell相关的知识点。这些知识点对于熟悉和掌握Linux环境下的Shell编程与命令行操作是必要的基础。

    EFI_SHELL64.rar

    EFI_SHELL64.rar是一个与EFI(Extensible Firmware Interface)和BIOS相关的压缩包,它包含了一个用于系统引导的EFI Shell 64位版本。EFI Shell是基于EFI标准的命令行环境,允许用户在EFI系统上执行各种操作,如加载...

    Shell脚本学习教程PDF版

    此外,Shell脚本还涉及到文件和目录操作,例如创建、删除、移动文件,列出目录内容,改变工作目录等。这些操作对系统管理至关重要。你还会学到如何利用正则表达式进行文本匹配和替换,以及如何通过逻辑运算符和比较...

    getshell工具使用教程

    下面我们将详细讲解getshell工具的使用方法和相关知识点。 首先,我们需要了解getshell工具的基本功能。这类工具通常被设计用于合法的安全测试,目的是找出网络系统中的漏洞,而不是非法入侵。它们模拟黑客攻击手段...

    shell设计入门.TXT shell设计入门

    根据提供的文件信息,我们可以归纳出一系列与Shell设计入门相关的知识点,包括Shell的基础概念、Bash Shell的特点及其在不同操作系统中的应用、脚本编写基础、控制结构、文本处理工具以及环境配置等方面的内容。...

    shell十三问

    Shell十三问是针对Unix/Linux操作系统中的Bash Shell编程的一份精华整理,主要涵盖了与Shell脚本编程相关的常见问题和特殊语法。以下是对这些知识点的详细解释: 1. **变量** - Shell脚本中,变量用于存储数据,如...

    EFI_SHELL.zip

    标题“EFI_SHELL.zip”指的是一个包含EFI Shell相关文件的压缩包,这通常与在UEFI(统一可扩展固件接口)环境中安装操作系统有关。EFI Shell是UEFI环境下的一个命令行工具,允许用户执行各种系统管理和维护任务,...

    实验十二 Bash Shell相关指令练习

    实验十二主要围绕Bash Shell进行了一系列的指令操作和练习,旨在熟悉和掌握Linux系统的命令行交互方式。Bash Shell是Linux系统默认的命令解释器,它提供了丰富的指令和功能,使得用户可以高效地管理和操作系统。 ...

    shell.dat生成器

    `shell.dat` 文件可能包含脚本、命令历史记录或者与Shell相关的配置信息。然而,"shell.dat生成器" 指的是一种工具,它用于创建或自定义这样的文件。以下将详细介绍`shell.dat`文件及其生成器的相关知识点: 1. **...

    SHELL基础学习指导

    Shell提供了许多相关命令,如添加用户USERADD、删除用户USERDEL、新增用户组GROUPADD、删除用户组GROUPDEL、改变当前用户密码PASSWD、用户切换SU等。通过这些命令,系统管理员可以方便地管理用户账户和权限。 进程...

    操作系统shell命令

    1. **Read (r)**:表示用户可以读取文件的内容。 2. **Write (w)**:表示用户可以修改或删除文件。 3. **Execute (x)**:表示用户可以将文件当作程序来执行。 除了文件权限外,Linux系统还包括目录和其他类型的文件...

    UnixShell范例精解第四版光盘内容!

    在这个光盘中,我们可以找到一系列与Unix Shell相关的实践教程和资源。 Unix Shell,通常指的是Bash(Bourne Again SHell),是Unix和类Unix系统中最常用的命令解释器,用于交互式地执行命令或者执行由一系列命令...

    精通Shell编程

    为了满足不同读者的需要,本书内容分为三个部分:UNIX和shell工具介绍、shell编程以及高级主题。UNIX和shell工具介绍部分复习了UNIX系统和shell编程的一些基本概念和常用命令。shell编程部分全面介 绍了shell编程的...

    android执行shell命令

    本文将详细介绍如何在Android设备上执行shell命令以及相关知识点。 首先,Android提供了多种方式来执行shell命令: 1. **ADB (Android Debug Bridge)**:这是Android开发者最常用的工具之一,它允许开发者通过USB...

    UNIX and Linux shell命令,shell编程资料,Per中文件手册

    3. **Apress.Expert.Shell.Scripting.Jan.2009.pdf**:这本书可能包含有关如何编写高效、可维护的Shell脚本的高级技术,包括错误处理、调试技巧和脚本优化策略。 **二、Perl语言** 1. **Perl简介**:Perl是一种...

Global site tag (gtag.js) - Google Analytics