1226 文件系统,对话框

上午:


文件系统:FS(作用:管理文件)
Windows:fat32,ntfs
Linux:VFS
ext2,ext3,ext4,reiserfs
jfs,xfs
iso9660 光盘文件系统
NFS,SMBFS,GFS(redhat集群文件系统),OCFS(oracle的集群文件系统) 网络文件系统


SuperBlock 整个磁盘信息
GDT 块描述信息




ext2 最大4TB



硬链接;不可以跨分区,不可以指向目录
软连接(只有软连接的文件类型才为L,有自己的inode号,内容只存放路径,可以跨分区,可以指向目录)

ln [-sv] src dst



特殊文件:只占用inode号,不占磁盘空间


#du /root磁盘空间利用情况
#du -s /root 总利用大小
#du -sh /root
#df 每个分区空闲情况
#df -h

#df -h -T 文件类型
#df -i 显示inode号数目

硬盘总大小/8k(默认) 大约等于总inode号个数



df
df 命令显示磁盘用量,加-h 选项可以以KB、MB、GB等单位输出,加-H 也以KB、MB、GB输出,但是是以1000B为1KB,而非1024B。
[kevinz@stationXX kevinz] $ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda5 12G 1.6G 10G 14% /
/dev/hda1 36M 2.5M 31M 8% /boot

[kevinz@stationXX kevinz] $df -H
Filesystem Size Used Avail Use% Mounted on
/dev/hda5 13G 1.7G 10G 14% /
/dev/hda1 37M 2.6M 31M 8% /boot



du
du命令计算目录下文件占用磁盘的大小,以KB为单位,也加-h 选项。例如du -sh (–s 用来察看文件夹实际情况)。

磁盘分区:
/dev
IDE:/dev/hd*
SCSI,SATA,USB:/dve/sd*

/dev/sda1 /dev/sda2
逻辑分区从5开始编号

先挂载,才可以使用

mount /dev/cdrom /mnt/cdrom
fdisk -l
mount /dev/sdb1 /mnt/usb

umount /dev/sdb1
umount /mnt/usb

sync 实现把内存中的内容一次性的写入


文件压缩和解压缩
compress/uncompress .z
gzip/gunzip .gz (压缩和解压缩会删除原文件)

gzip -d 解压缩
gzip -n (1-9,表压缩比,默认6)

bzip2/bunzip2 .bz2



zip/unzip .zip (可以压缩目录,要指明压缩后名字,不删除源文件)

tar 归档:可以不用“ —”
#tar -cf myfile.tar file1 file2 file3 (不删除原文件)

#tar -xf myfiel.tar

#tar -tf myfile.tar 不展开查看源文件

#tar -zcf myfile.tar.gz *.sh
#tar -jcf myfile.tar.bz2 *.sh


#tar -zxf myfile.tar.gz
#tar -jxf myfile.tar.bz2

#tar -ztf myfile.tar.gz
#tar -jtf myfile.tar.bz2

-v 显示过程

#tar -zcvf myfile.tar.gz *.sh

-C 指定展开目录
#tar -zxvf myfile.tar.gz -C /tmp






#!/bin/bash
TMP=`mktemp /tmp/disk.XXX`

df -l | grep -v "^/dev/[^[:space:]]*[[:space:]]*$"|cut -d% -f2| grep -v -E "Mounted |/dev/shm" >$TMP


show_menue(){
let I=1
while read LINE;do
echo "$I : $LINE"
let I++
done <$TMP
}

show_menue

read -p "Your choice('Q' for quit):" CHOICE



#cd /tmp(临时文件默认目录)

echo $TMPDIR
mktemp a.XX




颜色:
^[ ( ctrl+v ctrl +[ ) 与 \033一样



脚本
./a.sh -c zip filename



#!/bin/bash
mycompress (){
case $1 in
'gzip') gzip -c $2 > ${2}.gz;;
'bzip2') bzip2 -k $2;;
'zip') zip ${2}.zip $2;;
*) exit 1
esac
}
while getopts ":c:" SWITCH; do
case $SWITCH in
'c')
CTOOL=$OPTARG
;;
\?)echo "wrong"
exit;;
esac
done

shift $[$OPTING-1]
mycompress $CTOOL $1






dialog

gauge实例:

#!/bin/bash
PERCENT=O
(
for I in /etc/*;do
if [ $PERCENT -le 100 ];then
cp -r $I /tmp/test 2> /dev/null
echo "XXX"
echo "Copy the file $I..."
echo "XXX"
echo $PERCENT
fi
let PERCENT+=1
sleep 0.1
done ) | dialog --title "Coping..." --gauge "start to copy the file..." 6 50 0




通过dialog实现添加用户

#!/bin/bash
I=`dialog --stdout --title "Input useradd name" --inputbox "Please inpute name:" 10 30`
if ! cut -d: -f1 /etc/passwd | grep "^${I}$" &> /dev/null;then
useradd $I
echo "$I" | passwd --stdin $I
fi




copy 一个目录所有文件,并实现显示copy进度(dialog)

M=`du -s /etc | awk '{print$1}'`
N=$[`du -s /etc | awk '{print$1}'`/100]





1)作业:
shell脚本学习指南
123456789,10,11,13章





2)读/etc/rc.d/rc.sysinit (系统初始化脚本)至少前200行
/etc/rc.d/init.d/functions




作业:用表单添加用户



用户名
UID 有默认,为最后一个+1
全名
家目录 有默认/home/,如果用户什么也没有补充,应要求家目录是/home/username/
shell类型 默认/bin/bash


再显示一个窗体,提示用户输入密码,有默认值(同用户名)





#system-config-services
#chkconfig ip6tables off

#pirut & (有yum源支持)


selinux
#getenforce
#setenforce 0
vim /etc/selinux/config
vim /etc/sysconfig/selinux



service iptables status
service iptables stop 暂时关闭
chkconfig iptables 0ff 永久关闭



RHCT->RHCE->RHCA
RHCSS,RHCVS,JBoss



http://kbase.redhat.com/faq

你可能感兴趣的:(职场,文件系统,对话框,休闲)