1. test命令的测试功能。
测试的标志:
(1)关于文件类型的检测 test [-efdbcSpL] filename
-e:该文件名是否存在;
-f:该文件名是否为文件;
-d:该文件名是否为目录;
-b:该文件名是否存在且为一个block device设备;
-c:该文件名是否存在且为一个character device设备;
-S:该文件名是否存在且为一个Socket文件;
-p:该文件名是否存在且为一个FIFO文件;
-L:该文件名是否存在且为一个连接文件。
(2)关于文件权限的检测 test [-r] filename
-r:检测该文件名是否存在且具有可读属性;
-w:检测该文件名是否存在且具有可写属性;
-x:检测该文件名是否存在且具有可执行属性;
-u:检测该文件名是否存在且具有SUID属性;
-g:检测该文件名是否存在且具有SGID属性;
-k:检测该文件名是否存在且具有Sticky bit属性;
-s:检测该文件名是否存在且为非空白文件。
(3)两个文件之间的比较,如test file1 -nt file2
-nt:newer than 判断file1是否比file2新;
-ot:older than 判断file1是否比file2旧;
-ef:判断file1与file2是否为同一文件名,可用在判断hard link的判定上,主要判定是否指向同一个inode。
(4)两个整数之间的比较,如test n1 -eq n2
-eq:相等;
-ne:不相等;
-gt:n1大于n2;
-lt:n1小于n2;
-ge:n1大于或等于n2;
-le:n1小于或等于n2。
(5)判定字符串
test -z string:判定字符串是否为空;
test -n string:判定字符串是否为非空;
test str1 = str2:判定str1是否等于str2;
test str1 != str2:判定str1是否不等于str2。
(6)多重条件判定
-a:两个条件同时成立,如test -r file -a -x file,若判断file是否同时具有可读与可执行属性;
-o:任何一个条件成立,如test -r file -o -x file,若判断file是否具有可读或可执行属性;
!:反向状态,如test ! -x file,判断file是否不具备可执行属性。

2. 利用判断符号[]。
[]可以代替test,需要注意中括号的两端需要有空格符来分隔。如,[ -z "$HOME" ],判断HOME变量是否为空。

3. shell script的默认变量。
$0:执行的脚本文件名;
$1,$2,$3...:第n个参数;
$#:后面接的参数的个数;
$@:代表全部的参数,每个变量都是独立的,以空格分隔,使用引号括起来;
$*:代表"$1c$2c$3",c代表分隔符,默认为空格。

4. sh [-nvx] script.sh:shell script的追踪与调试。
参数:
-n:不要执行script,仅检查语法问题;
-v:在执行script前,先将script的内容输出到屏幕上;
-x:将使用到的script内容显示到屏幕上。

【Linux】鸟哥的Linux私房菜基础学习篇整理(七)的更多相关文章

  1. 【Linux】鸟哥的Linux私房菜基础学习篇整理(一)

    最近,一直在写PPC的模拟器和汇编器,也在做设计.所以重新看了看<鸟哥的Linux私房菜>,还是有好多命令不太熟悉.就打算写几篇blog记下来. 1. nl [-bnw] filename ...

  2. 【Linux】鸟哥的Linux私房菜基础学习篇整理(三)

    1. gzip [-cdtv#] filename:压缩.参数:-c:将压缩的数据输出到屏幕上,可通过数据重定向进行处理:-d:解压缩的参数:-t:可以用来检验一个压缩文件的一致性,查看文件有无错误: ...

  3. 【Linux】鸟哥的Linux私房菜基础学习篇整理(六)

    1. 正则表达式特殊符号.[:alnum:]:代表英文大小写字符及数字:[:alpha:]:代表英文大小写字符:[:blank:]:代表空格键与[Tab]键:[:cntrl:]:代表键盘上的控制键,即 ...

  4. 【Linux】鸟哥的Linux私房菜基础学习篇整理(十一)

    1. 直接将命令丢到后台中执行“&”,在命令最后加“&”.    将目前的工作丢到后台中暂停:[Ctrl]+z 2. jobs [-lrs]:查看目前的后台工作状态.参数:-l:除了列 ...

  5. 【Linux】鸟哥的Linux私房菜基础学习篇整理(十)

    1. at [-mldv] TIME/at -c 工作号码:单一工作调度.参数:-m:当at的工作完成后,即使没有输出信息,以email通知用户该工作已完成:-l:相当于atq,列出目前系统上面的所有 ...

  6. 【Linux】鸟哥的Linux私房菜基础学习篇整理(九)

    1. quotacheck [-avugfM] [/mount_point]:扫描文件系统并创建Quota配置文件.参数:-a:扫描所有在/etc/mtab内,含有quota支持的文件系统,加上此参数 ...

  7. 【Linux】鸟哥的Linux私房菜基础学习篇整理(八)

    1. useradd [-u UID] [-g 初始用户组] [-G 次要用户组] [-mM]\   [-c 说明栏] [-d 主文件夹绝对路径] [-r] [-s shell] 用户账号名:新增用户 ...

  8. 【Linux】鸟哥的Linux私房菜基础学习篇整理(五)

    1. type [-tpa] name:查看name命令是否为bash内置命令.参数:type:不加任何参数,type会显示出那么是外部命令还是bash的内置命令:-t:当加入-t参数时,type会通 ...

  9. 【Linux】鸟哥的Linux私房菜基础学习篇整理(四)

    1. VI按键说明.(1)移动光标的方法h或向左箭头:光标向左移动一个字符:j或向下箭头:光标向下移动一个字符:k或向上箭头:光标向上移动一个字符:l或向右箭头:光标向右移动一个字符:进行多次移动,如 ...

随机推荐

  1. MapReduce明星搜索指数统计,找出人气王

    我们继续通过项目强化掌握Combiner和Partitioner优化Hadoop性能 1.项目介绍 本项目我们使用明星搜索指数数据,分别统计出搜索指数最高的男明星和女明星. 2.数据集 3.分析 基于 ...

  2. Java NIO——Selector机制源码分析---转

    一直不明白pipe是如何唤醒selector的,所以又去看了jdk的源码(openjdk下载),整理了如下: 以Java nio自带demo : OperationServer.java   Oper ...

  3. ios--绘图介绍

    iOS–绘图介绍 绘制图像的三种方式 一. 子类化UIView,在drawRect:方法画图 执行方法时,系统会自行创建画布(CGContext),并且讲画布推到堆栈的栈顶位置 执行完毕后,系统会执行 ...

  4. Cocos2d各版本搭建环境中的奇葩操作

    #Version: Cocos2d-x 3.4 Android 将[Cocos2d-x解压目录]\cocos\platform\android\java\src中的com,org目录拷贝覆盖到[项目根 ...

  5. 如何在windows/wamp环境下在本机配置站点

    1. 在D:\wamp\bin\apache\Apache2.5.4\conf文件夹下,找到httpd.conf,使用记事bej打开它,搜索#Include conf/extra/httpd-vhos ...

  6. 关于ADO.NET的一些知识整理

    ADO.NET是什么 虽然我们都知道ADO.NET是对数据库的操作,但是要真的说出ADO.NET的具体含义还不是很容易. ADO.NET是ActiveX Data Objects的缩写,它是一个COM ...

  7. 编程基础-msdn编程指南笔记

    此博仅为笔记,摘自msdn编程指南文档,链接地址:http://msdn.microsoft.com/zh-cn/library/67ef8sbd.aspx 注释:// 单行注释 /* 多行注释*/ ...

  8. IE兼容问题

    1.IE下event事件没有target属性,只有srcElement属性,解决方法:使用srcObj = event.srcElement ? event.srcElement : event.ta ...

  9. sqlserver 时间转换

    sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(), 时间一, ) 结果:-- :/*时间一般 ...

  10. express 安装与卸载

    卸载: npm uninstall -g express安装指定版本: npm install -g express@3.5.0查看版本: express -V注意express -V中的V要大写,不 ...