1、linux系統中檔案測試語句用於判斷檔案是否存在、是檔案或者目錄、或者許可權判斷
linux系統中 echo $? 用於判斷上一句是否成功執行,成功返回0,不成功返回其他數字,
簡單示例:
[root@linuxprobe test]# ls[root@linuxprobe test]# mkdir test ## 成功執行
[root@linuxprobe test]# echo $? ## 返回0
0[root@linuxprobe test]# mkdir test ##未成功執行
mkdir: cannot create directory 『test』: file exists
[root@linuxprobe test]# echo $? ## 返回1
1
2、格式
[ 條件表示式 ] ,條件表示式的兩邊一定要有空格
3、簡單測試 -e判斷檔案或者目錄是否存在
[root@linuxprobe test]# lsa.txt test
[root@linuxprobe test]# [ -e a.txt ]
[root@linuxprobe test]# echo $? ## 存在返回0
0[root@linuxprobe test]# [ -e b.txt ] ## 不存在返回1
[root@linuxprobe test]# echo $?
1[root@linuxprobe test]# [ -e test ] ##同上
[root@linuxprobe test]# echo $?
0[root@linuxprobe test]# [ -e test2 ]
[root@linuxprobe test]# echo $?
1
4、-f判斷是否為普通檔案, -d 判斷是否為目錄
[root@linuxprobe test]# touch a.txt ## 普通檔案[root@linuxprobe test]# mkdir test ##目錄
[root@linuxprobe test]# ls -l
total
0-rw-r--r--. 1 root root 0 oct 14
06:53
a.txt
drwxr-xr-x. 2 root root 6 oct 14
06:53
test
[root@linuxprobe test]# [ -f a.txt ]
[root@linuxprobe test]# echo $? ## 普通檔案返回0
0[root@linuxprobe test]# [ -f test ]
[root@linuxprobe test]# echo $? ##目錄,返回1
1[root@linuxprobe test]# [ -d a.txt ] ## 普通檔案,返回1
[root@linuxprobe test]# echo $?
1[root@linuxprobe test]# [ -d test ] ##目錄,返回0
[root@linuxprobe test]# echo $?
0
5、-r 、-w、-x分別進行許可權判斷
[root@linuxprobe test]# ls[root@linuxprobe test]# touch a.txt b.txt
[root@linuxprobe test]# chmod
000a.txt
[root@linuxprobe test]# chmod
777b.txt
[root@linuxprobe test]# ll -h ## 檢視許可權
total
0----------. 1 root root 0 oct 14
18:27
a.txt
-rwxrwxrwx. 1 root root 0 oct 14
18:27
b.txt
[root@linuxprobe test]# whoami ##root使用者
root
[root@linuxprobe test]# [ -r a.txt ] ## 對root無效?
[root@linuxprobe test]# echo $?
0[root@linuxprobe test]# [ -w a.txt ] ## 對root無效?
[root@linuxprobe test]# echo $?
0[root@linuxprobe test]# [ -x a.txt ] ## 執行許可權可以
[root@linuxprobe test]# echo $?
1[root@linuxprobe test]# su -linuxprobe ## 切換至普通使用者
[linuxprobe@linuxprobe ~]$ cd ../test/[linuxprobe@linuxprobe test]$ ll -h
total
0----------. 1 root root 0 oct 14
18:27
a.txt
-rwxrwxrwx. 1 root root 0 oct 14
18:27
b.txt
[linuxprobe@linuxprobe test]$ whoami
linuxprobe
[linuxprobe@linuxprobe test]$ [ -r a.txt ] ## 對普通使用者沒有讀的許可權
[linuxprobe@linuxprobe test]$ echo $?
1[linuxprobe@linuxprobe test]$ [ -w a.txt ] ## 同上
[linuxprobe@linuxprobe test]$ echo $?
1[linuxprobe@linuxprobe test]$ [ -x a.txt ] ## 同上
[linuxprobe@linuxprobe test]$ echo $?
1
[linuxprobe@linuxprobe test]$ lsa.txt b.txt
[linuxprobe@linuxprobe test]$ whoami
linuxprobe
[linuxprobe@linuxprobe test]$ ll -h
total
0----------. 1 root root 0 oct 14
18:27
a.txt
-rwxrwxrwx. 1 root root 0 oct 14
18:27
b.txt
[linuxprobe@linuxprobe test]$ [ -r b.txt ]
[linuxprobe@linuxprobe test]$ echo $?
0[linuxprobe@linuxprobe test]$ [ -w b.txt ]
[linuxprobe@linuxprobe test]$ echo $?
0[linuxprobe@linuxprobe test]$ [ -x b.txt ]
[linuxprobe@linuxprobe test]$ echo $?
0[linuxprobe@linuxprobe test]$ su -root
password:
[root@linuxprobe ~]# cd /home/test/[root@linuxprobe test]# ll -h
total
0----------. 1 root root 0 oct 14
18:27
a.txt
-rwxrwxrwx. 1 root root 0 oct 14
18:27
b.txt
[root@linuxprobe test]# whoami
root
[root@linuxprobe test]# [ -r b.txt ]
[root@linuxprobe test]# echo $?
0[root@linuxprobe test]# [ -w b.txt ]
[root@linuxprobe test]# echo $?
0[root@linuxprobe test]# [ -x b.txt ]
[root@linuxprobe test]# echo $?
0
Linux測試比較語句
測試和比較語句用於if或指令碼命令中 if condition then commands else if conditon then commandsfi或 condition command 如果condition為真則執行command condition command 如果conditio...
測試mysql語句效能 SQL語句效能測試
隨著軟體系統的複雜度提高,軟體系統的效能瓶頸可能出現的地方有很多,可能是 也可能是應用伺服器,可能是前端介面層,也可能是中介軟體,還有,可能是資料庫。而對於資料庫出現瓶頸而言,又要分兩種情況,一種是資料庫架構 設計有問題 另外一種則是提交處理的sql語句有問題。據統計,在資料庫應用系統中,大部分的效...
Mysql執行大檔案sql語句 未測試
如果.sql檔案過大,mysql會直接斷開連線 解決方法 在mysql的配置檔案my.cnf 中加入 一行max allowed packet 100m 該大小 mysql.sql檔案大小 mysqld max allowed packet 20000m wait timeout 20000000 ...