3 Bash
3.8.2 Toán tu’’ test và d¯ieˆ`u kieˆ
˙n cu’a bieˆ’u thu´’c
Bieˆ’u thu´’c d¯ieˆ`u kieˆ
˙n, su’’ du
˙ng trong toán tu’’test, d¯u’o
˙’c xây du˙’ng trên co’ so’’ kieˆ’m tra thuoˆ˙c tính taˆ
˙p tin, so sánh các dòng và các so sánh soˆ´ ho
˙c thông thu’o`’ng. Bieˆ’u thu´’c phu´’c ta
˙p ho’n d¯u’o
˙’c ta˙o ra tu`’ các thao tác d¯o’n và kép sau ("nhu˜’ng viên ga
˙ch co’ so’’"): • -a file
D
¯ úng neˆ´ u taˆ
˙p tin có tênfiletoˆ`n ta ˙i. • -b file
D
¯ úng neˆ´ ufiletoˆ`n ta
˙i, và là moˆ ˙t taˆ
˙p tin thieˆ´t bi
˙khoˆ´ i (block device) d¯a˘ ˙c bieˆ
˙t. • -c file
D
¯ úng neˆ´ ufiletoˆ`n ta
˙i, và là moˆ ˙t taˆ
˙p tin thieˆ´t bi
˙ký tu˙’ (charater device) d¯a˘˙c bieˆ ˙t. • -d file
D
¯ úng neˆ´ ufiletoˆ`n ta
˙i và là moˆ ˙t thu’ mu ˙c. • -e file D ¯ úng neˆ´ u taˆ
˙p tin có tênfiletoˆ`n ta ˙i.
• -f file
D
¯ úng neˆ´ u taˆ
˙p tin có tênfiletoˆ`n ta
˙i và là moˆ ˙t taˆ
˙p tin thông thu’o`’ng. • -g file
D
¯ úng neˆ´ u taˆ
˙p tin có tênfiletoˆ`n ta
˙i và d¯u’o
˙’c d¯a˘˙t bit thay d¯oˆ’i nhóm.
• -h filehay-L file
D
¯ úng neˆ´ u taˆ
˙p tin có tênfiletoˆ`n ta
˙i và là liên keˆ´t meˆ`m (liên keˆ´t tu’o
˙’ng tru’ng). • -k file
D
¯ úng neˆ´ u taˆ
˙p tin có tênfiletoˆ`n ta
˙i và d¯u’o
˙’c d¯a˘˙t bit sticky. • -p file
D
¯ úng neˆ´ u taˆ
˙p tin có tênfiletoˆ`n ta
˙i và là tên cu’a moˆ
˙t oˆ´ ng (kênh FIFO). • -p file
D
¯ úng neˆ´ u taˆ
˙p tin có tênfiletoˆ`n ta
˙i và là tên cu’a moˆ
˙t oˆ´ ng (kênh FIFO). • -r file
D
¯ úng neˆ´ u taˆ
˙p tin có tênfiletoˆ`n ta
˙i và có quyeˆ`n d¯o ˙c. • -s file
D
¯ úng neˆ´ u taˆ
˙p tin có tênfiletoˆ`n ta
˙i và kích thu’o´’c lo´’n ho’n không. • -t fd
D
¯ úng neˆ´ u boˆ
˙ mô ta’ cu’a taˆ
˙p tin (fd) mo’’ và chı’ lên terminal. • -u file
D
¯ úng neˆ´ u taˆ
˙p tin có tênfiletoˆ`n ta
˙i và d¯u’o
˙’c d¯a˘˙t bit thay d¯oˆ’i ngu’o`’i dùng.
• -w file
D
¯ úng neˆ´ u taˆ
˙p tin có tênfiletoˆ`n ta
˙i và có quyeˆ`n ghi. • -x file
D
¯ úng neˆ´ u taˆ
˙p tin có tênfiletoˆ`n ta
˙i và có quyeˆ`n thu ˙’c thi. • -0 file
D
¯ úng, neˆ´ u taˆ
˙p tin có tênfilevà chu’ so’’ hu˜’u cu’a nó là ngu’o`’i dùng mà ID có hieˆ ˙u lu˙’c chı’ d¯eˆ´n.
• -G file
D
¯ úng, neˆ´ u taˆ
˙p tin có tênfiletoˆ`n ta
˙i và thuoˆ ˙c veˆ` nhóm, xác d¯i ˙nh bo’’i ID nhóm có hieˆ ˙u lu ˙’c. • -S file D ¯ úng, neˆ´ u taˆ
˙p tin có tênfiletoˆ`n ta
˙i và là socket. • -N file
D
¯ úng, neˆ´ u taˆ
˙p tin có tênfiletoˆ`n ta
˙i và thay d¯oˆ’i tu`’ laˆ`n d¯u’o
˙’c d¯o˙c cuoˆ´ i cùng. • file1 -nt file2
D
¯ úng, neˆ´ u taˆ
˙p tinfile1có tho`’i gian su’’a d¯oˆ’i muoˆ
3.8 Shell - moˆ
˙t ngôn ngu˜’ laˆ
˙p trình 45
• file1 -ot file2
D
¯ úng, neˆ´ u taˆ
˙p tinfile1"già" ho’nfile1(tru’o`’ng ho
˙’p ngu’o˙’c la˙i cu’a tru’o`’ng ho
˙’p trên). • file1 -ef file2
D
¯ úng, neˆ´ u taˆ
˙p tinfile1vàfile2có cùng moˆ
˙t soˆ´ thieˆ´t bi
˙ và chı’ soˆ´ mô ta’ inode. • -o optname
D
¯ úng, neˆ´ u tùy cho
˙n optnamecu’a heˆ
˙ vo’ d¯u’o
˙’c kích hoa˙t. Chi tieˆ´t xin xem trên trang
man bash. • -z string
D
¯ úng, neˆ´ u d¯oˆ
˙ dài cu’a chuoˆ˜istringba˘`ng không. • -n string
D
¯ úng, neˆ´ u d¯oˆ
˙ dài cu’a chuoˆ˜i khác không. • string1 == string2
D
¯ úng, neˆ´ u hai chuoˆ˜i trùng nhau. Có theˆ’ thay hai==ba˘`ng moˆ ˙t=. • string1 !== string2
D
¯ úng, neˆ´ u hai chuoˆ˜i không trùng nhau. • string1 < string2
D
¯ úng, neˆ´ u chuoˆ˜istring1, theo tu`’ d¯ieˆ’n, d¯u´’ng tru’o´’c chuoˆ˜istring2 (d¯oˆ´ i vo´’i ngôn ngu˜’ hieˆ
˙n tho`’i).
• string1 > string2
D
¯ úng, neˆ´ u chuoˆ˜istring1, theo tu`’d¯ieˆ’n, d¯u´’ng sau chuoˆ˜istring2(d¯oˆ´ i vo´’i ngôn ngu˜’ hieˆ
˙n tho`’i).
• arg1 OP arg2
O’’ d¯ây OP là moˆ
˙t trong các phép so sánh soˆ´ ho
˙c:-eq(ba˘`ng),-ne(khác, không ba˘`ng),
-lt (nho’ ho’n),-le(nho’ ho’n hoa˘
˙c ba˘`ng), -gt(lo´’n ho’n),-ge (lo´’n ho’n hoa˘
˙c ba˘`ng). O’’ choˆ˜ các tham soˆ´ arg1 và arg2 có theˆ’ su’’du
˙ng các soˆ´ nguyên (âm hoa˘
˙c du’o’ng). Tu`’ các bieˆ’u thu´’c d¯ieˆ`u kieˆ
˙n co’ ba’n này có theˆ’ xây du
˙’ng các bieˆ’u thu´’c phu´’c ta˙p theo ý muoˆ´ n nho`’ các phép lôgíc thông thu’o`’ng PHU’ D¯ I
˙NH, VÀ (coˆ ˙ng) và HOA ˘ ˙C: • !(expression) Phép phu’ d¯i
˙nh. D¯ úng, neˆ´ u bieˆ’u thu´’c sai.
• expression1 -a expression2
Phép coˆ
˙ng lôgicAND. D¯ úng neˆ´ u ca’ hai bieˆ’u thu´’c d¯eˆ`u d¯úng.
• expression1 -o expression2
Phép lôgíc hoa˘
˙cOR. D¯ úng neˆ´ u moˆ