Linux Shell Scripting Cookbook 讀書筆記 6

wget,curl, tar, rsynchtml

wget ftp://example.com/somefile.img -t 5 -O download.img -o loggit

-t表示重試的次數算法

-O指定輸出文件名cookie

-o指定一個日誌文件app

wget -c URLcurl

斷點續傳,若是下載在完成前被中斷,能夠用-c從斷點處開始下載svn

 

用curl指定參考頁,指定cookiepost

curl -I --referer http://www.baidu.com https://www.cnblogs.com --cookie "user=xxx;pass=xxx"加密

用curl指定頭部信息url

curl -H "Host:www.test.org" -H "Accept-language:en" URL

用curl進行認證

curl -u user:password http://www.test.org

curl -u user http://www.test.org #須要手動輸入密碼

發送post請求

curl -d "key1=var1&key2=var2"  URL -o output.html

 

tar命令自己只是歸檔功能,若是要壓縮,須要指定壓縮格式

-z gzip

-j bunzip

--lzma  lzma

其中-a選項能夠經過歸檔文件的擴展名自動判斷壓縮格式

例如: tar -cavf file.tar.gz file1 file2

tar追加文件

tar -rvf original.tar new_file

因爲tar命令可接受的參數有限,若是文件不少,能夠考慮用-r

FILE_LIST="file1 file2 file3 file4......."

for f in $FILE_LIST;

do

tar -rvf file.tar $f

done;

gzip -9 file.tar #-9壓縮率最高,-1速度最快

顯示tarball裏面的文件

 

-v 或者-vv用來顯示更多細節

將文件名指定爲命令行參數來提取特定的文件

tar -xvf file.tar file1 file2  #該命令只提取file1 file2

拼接兩個歸檔文件

tar -Af file1.tar file2.tar   #將file2.tar的內容合併到file1.tar中

比較歸檔文件與本地文件差異

tar -df file.tar file1 file2

file1: Mod time differs

file2: Size differs

從歸檔文件中刪除文件

tar -f file.tar --delete file1 file2

從歸檔文件中排除部分文件

tar -cf file.tar * --exclude "*.txt" #歸檔除了txt文件之外的全部文件

排除版本控制目錄,如.git,.svn

tar --exclude-vcs -czvf file.tar * 

 

rsync備份

rsync is a file transfer program capable of efficient remote update
via a fast differencing algorithm.

相對於cp命令,rsync使用了高效的差別算法,而且會比較源端與目的端的差別,只有當文件有更新纔會複製。

rsync也支持壓縮,加密

rsync -av /opt/myapp sryan@192.168.10.10:/tmp/

相關文章
相關標籤/搜索