练习:

1 创建一个5G的分区,文件系统为ext3,卷标为MYDATA,块大小为1024,预留管理

  空间为磁盘分区为3%,要求开机后可以自动挂载至/data目录,并且自动挂载的

  设备要使用卷标进行引用

2 创建一个本地回环文件/var/swaptemp/swapfile来用于swap;要求大小为512MB  

  卷标为SWAP_FILE,且开机自动启用此交换设备

 # mkdir /var/swaptemp

 # dd if=/dev/zero of=/var/swaptemp/swapfile bs=1M count=512

 # mkswap LABEL=SWAP_FILE /var/swaptemp/swapfile


/etc/fstab

/var/swaptemp/swapfile swap swap defaults 0 0

3 上述第一问,如何让其自动挂载的同时启用ACL功能

/etc/fstab

LABEL='MYDATA' /data ext3 defaults,acl 0 0


访问控制列表(ACL)的权限控制方法,增加权限给其他用户或组别,而不单只是简单    的"other"或者是拥有者不存在的组别


压缩、解压目录

压缩格式:gz bz2 xz zip z


压缩算法:算法不同,压缩比也会不同


compress:FILENAME.z

uncompress:


xz bz2 gz(压缩文件)


gzip:.gz 压缩完会删除原文件,不能压缩目录(文本文件)

   gzip /PATH/TO/SOMEFIEL

  -d 解压缩

  -#  1-9,指定压缩比,默认是6


gunzip:解压完后会删除原文件

   gzip /PATH/TO/SOMEFIEL.gz


zcat /PATH/TO/SOMEFIEL.gz 不解压的情况,查看文本文件的内容


bzip2:.bz2

比gzip有着更大的压缩比的压缩工具,使用格式相似

  bzip2 /PATH/TO/SOMEFIEL

     -d

     -# 1-9,指定压缩比,默认是6

     -k 压缩时保留原文件


  bunzip2 /PATH/TO/SOMEFIEL.bz2

  bzcat


xz:.xz  压缩比最大

 yum install xz

 cd /etc/yum.repos.d

 wget ftp://172.16.0.1/puv/gls/server.repos


   xz /PATH/TO/SOMEFIEL

    -d 解压缩

    -#  1-9,指定压缩比,默认是6

    -k 压缩时保留原文件

  unxz

  xzdec

  xzcat


zip:压缩后不删除原文件,既归档又压缩的工具

   zip FILENAME.zip FILE1 FILE2 ...

   unzip


archive:归档,归档本身并不意味着压缩


tar:归档工具,只归档不压缩

  -c:创建归档文件

  -f FILE.tar:操作的归档文件 -cf联合用

  -x:展开归档     tar -xf test.tar

  --xattrs:归档时,保留文件的扩展属性信息

  -t:不展开归档,直接查看归档了哪些文件


  -zcf:归档并调用gzip压缩

  -zxf:调用gzip并展开归档


  -jcf:bzip2

  -jxf:


  -Jcf:xz

  -Jxf:


tar -Jcf test.tar.xz test*.txt

    高级版本红帽支持

 解压可以省略压缩的字母 -z -j -J


查看tar -tf test.tar.bz2


cpio 做成归档或 展开归档,归档工具


read NAME

abc

echo $NAME

abc


vi sum.sh

#!/bin/bash

#

#echo -n "Input two intergers:"

read -t 5 -p "Input two intergers[1000 and 100]:"A B

[ -z $A ] && A=1000

[ -z $B ] && B=100

echo "$A plus $B is $[$A+$B]"


vi myark.sh

#!/bin/bash

#

read -p "Three files:"FILE1 FILE2 FILE3

read -p "Destination:"DEST

read -p "Compress[gzip|bzip2|xz]:"COMP


case $COMP in

gzip)

 tar -zcf ${DEST}.tar.gz $FILE1 $FILE2 $FILE3 ;;

bzip2)

 tar -jcf ${DEST}.tar.bz2 $FILE1 $FILE2 $FILE3 ;;

xz)

  tar -cf ${DEST}.tar $$FILE1 $FILE2 $FILE3

  xz ${DEST}.tar

  ;;

*)

  echo "Unkown."

  exit 9

  ;;

  

esac


read:

  -p  "PROMPT":给出提示


脚本编程:

   顺序结构

   选择结构

     if

     case

   循环结构

     for

     while

     until


while循环:适用于循环次数未知的场景

语法:

  while CONDITION;do

    statement

    ...

   done

计算100以内的和

#!/bin/bash

#

declare -i I =1

declare -i SUM =0


while [ $I -le 100 ];do

  SUM+=$I

  let I++

done


echo $SUM


vi translate.sh

#!/bin/bash

#

read -p "Input something:" STRING

while [ $STRING != 'quit' ];DO

  echo $STRING | tr 'a-z' 'A-Z' 

  read -p "Input something:" STRING

done


vi detect.sh

#!/bin/bash

#

who | grep "hadoop" &> /dev/null

RETVAL=#?


while [ $RETVAL -ne 0 ];do

  echo "`date`,hadoop is not log"

  sleep 5

  who | grep "hadoop" &> /dev/null

  RETVAL=#?

done


echo "hadoop is logged in."

  

xz message -> message.xz