標籤:shell 檔案操作
《Linux Shell指令碼攻略》 筆記
第三章:檔案操作1、生產任意大小的檔案[[email protected] dd_test]#
[[email protected] dd_test]# dd if=/dev/zero of=junk.data bs=1k count=10
10+0 records in
10+0 records out
10240 bytes (10 kB) copied, 0.00137023 s, 7.5 MB/s2、檔案系統相關測試[ -f $file_var ]: 給定的變數包含正常的檔案路徑或檔案名稱,則返回真[ -d $var ]: 給定的變數是目錄,則返回真。[ -e $var ]: 給定的變數包含的檔案存在,則返回真。[ [ -z $str1 ]]: 如果str1包含的是Null 字元串,則返回真。[ [ -n $str1 ]]: 如果str1包含的是非Null 字元串,則返回真。-gt: 大於-lt: 小於-ge: 大於或等於.-le: 小於或等於.
3、檔案許可權[[email protected] program_test]# chmod 777 cnts.sh
4、批量產生任意大小的檔案[[email protected] touch_more]# cat create_morefile.sh
#!/bin/bash
for name in {1..100}.txt
do
touch $name
dd if=/dev/zero of=$name bs=1k count=1
done
5、產生符號連結檔案[[email protected] touch_more]# ln -s 100.txt 100_symbol.txt
[[email protected] touch_more]# ll -al 100*
lrwxrwxrwx. 1 root root 7 Jan 2 00:24 100_symbol.txt -> 100.txt
-rw-r--r--. 1 root root 1024 Jan 2 00:22 100.txt
尋找符號連結的檔案方法一:[[email protected] touch_more]# ls -al | grep ‘^l‘ | awk ‘{print $9}‘ //特徵標記,以l開頭。
100_symbol.txt方法二:[[email protected] touch_more]# find ./ -type l
./100_symbol.txt
列印符號連結指向檔案的名稱:[[email protected] touch_more]# ls -al 100_symbol.txt |
awk ‘{ print $11 }‘
100.txt
6、遍曆檔案,分類型統計檔案
[[email protected] touch_more]# cat filestat.sh#!/bin/bashif [ $# -ne 1 ];then echo $0 basepath; exit 1fipath=$1declare -A statarray;while read line;do ftype=$(file -b "$line") let statarray["$ftype"]++;done < <(find $path -type f -print) //以子進程統計檔案名稱echo ===================FILE types and counts ===============for ftype in "${!statarray[@]}"; //數組表do echo $ftype : ${statarray["$ftype"]}done
6、即時觀看不斷增長的檔案[[email protected] touch_more]# tail -f filestat.sh
7、目錄切換[[email protected] program_test]# cd -
/home/yxx/program_test/touch_more
銘毅天下
轉載請標明出處,原文地址:http://blog.csdn.net/laoyang360/article/details/42364783
如果感覺本文對您有協助,請點擊‘頂’支援一下,您的支援是我堅持寫作最大的動力,謝謝!
《Linux Shell指令碼攻略》 筆記 第三章:檔案操作