-
sort
-
:按數字排序,預設是按照字元串排序.-n
-
:-r
反排序reverse
-
:排序的範圍,第-k a,b
到a
列b
-
:修改分隔符,例如:-t ":"
cp /etc/passwd /tmp/sh
sort -n -k 3,4 -t ":" student | awk 'BEGIN{FS=":"}{print $3 "\t" $4}'
sort -n -r -k 3,4 -t ":" student | awk 'BEGIN{FS=":"}{print $3 "\t" $4}'
回顧:
$?
:代表上一條指令是否執行正确
echo $?
或者用邏輯表達
[ -f /root ] && echo yes || echo no
條件判斷
- 判斷的2組格式
test -e /root/install.log
[ -e /root/install.log ]
- 檔案類型判斷(常用選項)
-e | 檔案存在為真 |
---|---|
-f | 檔案存在且為普通檔案則真 |
-d | 檔案存在且為目錄則真 |
test -e /root/install.log
[ -e /root/install.log ]
- 檔案權限(任意使用者有權限都算)
-r | read |
---|---|
-w | write |
-x | execute |
test -w /root/install.log
[ -r /root/install.log ]
硬連結( hard link
)與軟連結( soft link
)差別
hard link
soft link
-
hard link
- 硬連結是僅檔案名字不同但是inode号相同的檔案
- 硬連結和
有相同的
原file
和
inode
date block
- 不能對目錄建立
- 不能再交叉檔案系統建立硬連結,因為
在不同檔案系統不一樣
inode
- 删除一個硬連結不影響相同
檔案
inode
-
soft link
- 擁有自己的
和
inode
,存放的是指向檔案的路徑,類比于windows的快捷方式
block
- 可以對目錄建立
- 不存在的檔案和目錄也可以建立
- 可以在交叉的檔案系統建立
- 檔案時間比較
file1 -nt file2 | new time 修改時間是否新 |
---|---|
file1 -ot file2 | |
file1 -ef file2 | ,判斷檔案 是否相同,即是否為同一檔案 |
test /etc/passwd -nt /tmp/temp && echo 1 || echo 2
[ /etc/passwd -nt /tmp/temp ] ; echo $?
- 整數之間的比較
| 相等 |
---|---|
| 不相等 |
| 大于 |
| 大于等于 |
| 小于 |
| 小于等于 |
test 1 -eq 2 && echo yes || echo no
[ 1 -eq 2] ; echo $?
- 字元串之間的比較
| 為空則真 |
---|---|
| 非空則真 |
| 相等 |
| 不相等 |
test -z "string" && echo yes || echo no
[ -z "string" ] ; echo $?
- 邏輯判斷
| |
---|---|
| |
| |