上节修改:
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
shift ;;
*)
echo "Usage:`basename $0` -h|--help -c|--count -v|00verbose"`
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
fi
磁盘管理:
机械式硬盘
U盘 光盘 软盘 硬盘 磁带
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 不能放在同一行显示的,不换行显示