linux命令/Shell学习

 

1、patch 命令用于打补丁

常使用的 patch 参数:

-p 指定目录级别(从路径全称中除去几层目录)

如,如果补丁文件包含路径名称 /curds/whey/src/blurfl/blurfl.c,那么:

  -p0 使用完整路径名  

  -p1 除去前导斜杠,留下 curds/whey/src/blurfl/blurfl.c。  

  -p4 除去前导斜杠和前三个目录,留下 blurfl/blurfl.c。

 

2、Shell十三问中第12问

comd1 && {
    comd2
    comd3
    :
} || {
    comd4
    comd5
}

作者说:

意思是說:
假如 comd1 的 return value 為 true 的話,
然則執行 comd2 與 comd3 ,
否則執行 comd4 與 comd5 。

但是事实并非如此,应该是

假如 comd1 的 return value 為 true 的話,則執行 comd2 與 comd3 ,假如 comd2 與 comd3也为真,则不需要执行comd4 與 comd5 ;否则执行comd4 與 comd5 

假如comd1 的 return value 為 false的話,执行comd4 與 comd5 

 

3、shell里面0为真

用0来表示成功,非0表示失败是因为成功往往只有一种情况,而失败则有N种不同的理由。 
而成功为真符合一般的逻辑思维。

if/while/until测试的是执行某个命令的返回值:执行成功,返回“0”,条件为真;执行失败,返回“非0”,条件为假。 
反正,千万不要把返回值理解为“条件的真假”,这根本就是俩码事儿。 

 

4、Shell里面的判断

参考http://www.w3cschool.cc/linux/linux-shell-test.html

数值测试

eq 等于则为真
-ne 不等于则为真
-gt 大于则为真
-ge 大于等于则为真
-lt 小于则为真
-le 小于等于则为真

 

 

 

 

 

字符串测试

= 等于则为真
!= 不相等则为真
-z 字符串 字符串长度伪则为真
-n 字符串 字符串长度不伪则为真

 

 

 

 

文件测试

-e 文件名 如果文件存在则为真
-r 文件名 如果文件存在且可读则为真
-w 文件名 如果文件存在且可写则为真
-x 文件名 如果文件存在且可执行则为真
-s 文件名 如果文件存在且至少有一个字符则为真
-d 文件名 如果文件存在且为目录则为真
-f 文件名 如果文件存在且为普通文件则为真
-c 文件名 如果文件存在且为字符型特殊文件则为真
-b 文件名 如果文件存在且为块特殊文件则为真

 

 

 

 

 

 

 

 

查看linux文件权限

$ ls -l sobsrc. tgz

  -rw-r--r-- 1 root root 483997 Ju1 l5 17:3l sobsrc. tgz

横线代表空许可。r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。

  例如:

  - rw- r-- r--

  普通文件 文件主 组用户 其他用户

posted on 2015-04-10 09:39  依风152  阅读(99)  评论(0)    收藏  举报