9.4
練習:
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
本文轉自飛行萌51CTO博客,原文鏈接:http://blog.51cto.com/8527508/1943247 ,如需轉載請自行聯系原作者
總結
- 上一篇: AngularJS的稍复杂form验证
- 下一篇: 记录mysql客户端所有的操作