⼀些常⽤的shell命令:cd、$、⽐较、ls cd - 返回进⼊当前⽬录前躲在的⽬录
!! 显⽰上⼀个命令以及它的执⾏结果
cd / 切换到根⽬录
**************************************************************************************
$0 shell的命令本⾝(包括完整路径)
$1到$9 数字表⽰shell 的第⼏个参数
$# 传递到脚本的参数个数
$* 以⼀个单字符串显⽰所有向脚本传递的参数
$$ 脚本运⾏的ID号
$! 后台运⾏的最后⼀个进程的ID号
$@ 与$*相同。
$- 显⽰shell使⽤的当前选项。
$? 显⽰最后命令的执⾏状况。0表⽰没有错误。
**************************************************************************************
basename + 路径字符串(可以不包含⽂件名) shell命令,返回字符串中"/"后的字符串,认为是⽂件名/最深⽬录名 eg:>basename / 输出 /
>basename `pwd` 输出 当前所在⽬录名
>basename $0
dirname + 字符串 取得字符串中认为是路径的部分,不包含⽂件名
**************************************************************************************
⼆元⽐较操作符,⽐较变量或者⽐较数字.注意数字与字符串的区别.
整数⽐较
-eq 等于,如:if [ "$a" -eq "$b" ]
-ne 不等于,如:if [ "$a" -ne "$b" ]
-gt ⼤于,如:if [ "$a" -gt "$b" ]
-ge ⼤于等于,如:if [ "$a" -ge "$b" ]
-lt ⼩于,如:if [ "$a" -lt "$b" ]
-le ⼩于等于,如:if [ "$a" -le "$b" ]
< ⼩于(需要双括号),如:(("$a" < "$b"))
<= ⼩于等于(需要双括号),如:(("$a" <= "$b"))
> ⼤于(需要双括号),如:(("$a" > "$b"))
>= ⼤于等于(需要双括号),如:(("$a" >= "$b"))
字符串⽐较
= 等于,如:if [ "$a" = "$b" ]
== 等于,如:if [ "$a" == "$b" ],与=等价
注意:==的功能在[[]]和[]中的⾏为是不同的,如下:
1 [[ $a == z* ]] # 如果$a 以"z"开头(模式匹配)那么将为true//认为是正则表达式
2 [[ $a == "z*" ]] # 如果$a 等于z*(字符匹配),那么结果为true
3
4 [ $a == z* ] # File globbing 和word splitting 将会发⽣
5 [ "$a" == "z*" ] # 如果$a 等于z*(字符匹配),那么结果为true
⼀点解释,关于File globbing 是⼀种关于⽂件的速记法,⽐如"*.c"就是,再如~也是.
但是 file globbing 并不是严格的正则表达式,虽然绝⼤多数情况下结构⽐较像.
!= 不等于,如:if [ "$a" != "$b" ]
这个操作符将在[[]]结构中使⽤模式匹配.
< ⼩于,在ASCII 字母顺序下.如:
if [[ "$a" < "$b" ]]
if [ "$a" \< "$b" ] 注意:在[]结构中"<"需要被转义.
> ⼤于,在ASCII 字母顺序下.如:
if [[ "$a" > "$b" ]]
if [ "$a" \> "$b" ] 注意:在[]结构中">"需要被转义.
具体参考 Example 26-11 来查看这个操作符应⽤的例⼦.
-z 字符串为"null".就是长度为0.
-n 字符串不为"null"
注意:
使⽤-n 在[]结构中测试必须要⽤""把变量引起来.使⽤⼀个未被""的字符串来使⽤! -z 或者就是未⽤""引
⽤的字符串本⾝,放到[]结构中(见Example 7-6)虽然⼀般情况下可 以⼯作,但这是不安全的.习惯于使⽤""来测试字符串是⼀种好习惯.[1]
**************************************************************************************
1) ls -lt 时间最近的在前⾯
2) ls -ltr 时间从前到后
shell命令属于什么语言3) 利⽤sort
ls -l | sort +7 (⽇期为第8列) 时间从前到后
ls -l | sort -r +7 时间最近的在前⾯
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论