上節修改:
for I in `seq 0 $#`;do
if [ $# -gt 0 ];then
case
esac
fi
複習:
$0 目前腳本的檔案名
$n 傳遞給腳本或函數的參數
$# 傳遞給腳本或函數的參數個數
$* 傳遞給腳本或函數的所有參數
$@ 傳遞給腳本或函數的所有參數。被雙引号(" ")包含時,
與 $* 稍有不同
$? 上個指令的退出狀态,或函數的傳回值
$$ 目前Shell程序ID。對于 Shell 腳本,就是這些腳本所在的程序ID
練習:寫一個腳本showlogged.sh,其用法格式為:
showlogged.sh -v -o -h|--help
其中,-h選項隻能單獨使用,用于顯示幫助資訊;
-c選項時,顯示目前系統上登入的所有使用者數;
如果同時使用了-v選項,則既顯示同時登入的使用者數,又顯示
登入的使用者的相關資訊;如
Logged users:4.
They are:
root tty2 Feb 18 02:41
....
vim showlogged.sh
#!/bin/bash
#
declare -i SHOWNUM=0
declare -i SHOWUSERS=0
for I in `seq 1 $#`;do
if [ $# -gt 0 ];then
case $1 in
-h|--help)
echo "Usage:`basename $0` -h|--help -c|--count -v|00verbose"`
exit 0
;;
-v|--verbose)
let SHOWUSERS=1
shift ;;
-c|--count)
let SHOWNUM=1
*)
exit 7
esac
fi
done
if [ $SHOWNUM -eq 1 ];then
echo "logged users: `who | wc -l`."
if[ $SHOWUSER -eq 1 ];then
echo "They are:"
who
fi
磁盤管理:
機械式硬碟
U盤 CD光牒 軟碟 硬碟 錄音帶
solid
partition 分區
建立獨立的檔案系統的
MBR 主引導記錄 (0 磁道的512Byte)
Master Boot Record
Main Boot Record
劃分3個片段:
446bytes:BootLoader 程式
64bytes:
每16個位元組辨別一個分區
2bytes: Magic Number
标記MBR是否有效
主+擴充分區 <= 4
塊位圖:bitmap
inode(index node)
目錄:inode
檔案名
目錄項 dentry
block group
硬連結 像這一種直接指向同一個inode的不同路徑,他們彼此之間
可以稱作硬連結
ls -l 顯示的數字是硬連結的次數
1、隻能對檔案建立,不能應用于目錄
2、不能跨檔案系統
3、建立硬連結會增長檔案被連結的次數
符号連結
1、可應用于目錄
2、可以跨檔案系統
3、不會增加被連結檔案的連結次數
4、其大小為指定的路徑所包含的字元個數
ln [-s,-v] SRC DECT
-v 可以顯示過程
-s 表示建立軟連接配接
不帶任何選項就是建立硬連結
ln -s abc test/abc2
du 顯示檔案所占有的磁盤空間大小的
-s 目錄及目錄中的子檔案所占用的磁盤空間大小
-h
df 顯示整個磁盤分區的使用清況的
-h
-i 顯示整個磁盤分區inode的使用清況
-P 不能放在同一行顯示的,不換行顯示
本文轉自飛行萌51CTO部落格,原文連結: http://blog.51cto.com/8527508/1942803,如需轉載請自行聯系原作者