㈠ shell腳本:需根據文件的大小進行壓縮
sh -x yourshell
看看每個步驟
你的第一步就有問題了, file就是把目錄下的文件全都列出來了,取第二列就是文件名了。怎麼去和2000000比較???
tar也有問題,你壓縮成什麼?少了參數吧。。。
rm也有問題。你才壓縮一個文件,就把整個目錄幹掉了、、、
find . -size +2M 這樣不就把文件大於2M的弄出來了。。。僅供參考:
[root@localhost ~]# ls -sh a
27M a
[root@localhost ~]# find . -size +2M
./a
[root@localhost ~]# find . -size +2M -exec tar cjf /tmp/{}.tar.bz2 {} \;
[root@localhost ~]# ls /tmp/
a.tar.bz2
㈡ 用shell壓縮多個文件夾為zip
壓縮為bcd.zip,保存在a文件夾中,如果要靜默模式,zip命令加-q選項。
文件格式:
另指計算機文件壓縮演算法,原名真空,發明者為菲爾·卡茨,他於1989年1月公布了該格式的資料。
標准 ZIP 壓縮文件格式分析:標准 zip 文件格式由三部分組成:zip 壓縮數據段、中央目錄區、中央目錄區尾部。其中 zip 壓縮數據段又分為 zip 文件頭信息和壓縮數據。如圖 1、2、3 所示。帶☆的是在文件修復中經常用到的。
(2)shell壓縮文件擴展閱讀:
命令參數:
Copyright (C) 1990-1999 Info-ZIP
Type 'zip "-L"' for software license。
Zip 2.3 (November 29th 1999). Usage。
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]。
The default action is to add or replace zipfile entries from list, which。
can include the special name - to compress standard input。
If zipfile and list are omitted, zip compresses stdin to stdout。
-f freshen: only changed files -u update: only changed or new files。
參考資料來源:網路-Zip
㈢ shell腳本 把logs 目錄下的每個文件夾 裡面的文件都壓縮
#/bin/bash
path=/corelogs/card_center/logs
folderlist=`ls $path|grep -v '^$'`
for i in $folderlist
do
cd $path/$i
filelist=`ls|grep -v '^$'`
for k in $filelist
do
zip -q -r $k.zip $k
done
done
##這是將所有log文件壓縮在對應的日期目錄下
㈣ powershell 下怎麼壓縮zip文件
#注意依賴.net 4.5 及以上。
#壓縮
add-Type -AssemblyName 'System.IO.Compression.Filesystem'
$源目錄 = 'a:aaabb'
$目標文件 = 'a:ccc.zip'
[System.IO.Compression.ZipFile]::CreateFromDirectory($源目錄,$目標文件)
#下面這個函數 只打包 並不壓縮
function Add-Zip{
param([string]$zipfilename)
if(-not (test-path($zipfilename)))
{
set-content $zipfilename ("PK" + [char]5 + [char]6 + ("$([char]0)" * 18))
(dir $zipfilename).IsReadOnly = $false
}
$shellApplication = new-object -com shell.application
$zipPackage = $shellApplication.NameSpace($zipfilename)
foreach($file in $input){
$zipPackage.CopyHere($file.FullName)
Start-sleep -milliseconds 500
}}
㈤ shell腳本壓縮文件
#!/bin/bash
##for file zip and unzip
#date:2011/7/20
#input:current_filename
#use gunzip\bzip\tar commands to do this .
#two choices:pack||unpack
pack()
{
##use tar cmd to pack file
echo "Now will use tar to pack the file......"
echo "tar $CUR_FILE ......."
#sleep 1
tar -zcvf $CUR_FILE.tar.gz $CUR_FILE
if [ "$?" -eq "0" ];then
echo "pack file $CUR_FILE into tar.gz file ok~!"
else
echo "Error:Pack file into tar.gz failed~!"
exit 1
fi
}
unpack(){
##get file type
ftype=`file $CUR_FILE`
#echo file type
echo "Your file type is:###$ftype"
case "$ftype" in
"$CUR_FILE: Zip archive"*)
unzip $CUR_FILE
echo "unzip $CUR_FILE OK~!"
;;
"$CUR_FILE: gzip compressed"*)
gunzip $CUR_FILE
echo "gunzip $CUR_FILE OK~!"
;;
"$CUR_FILE: bzip2 compressed"*)
bunzip2 $CUR_FILE
echo "bunzip $CUR_FILE OK~!"
;;
*)
echo "File $CUR_FILE can not be uncompressed!!!"
exit 1
;;
esac
}
CUR_FILE="$1"
if [ -z $CUR_FILE];then
echo "Please input your filename!"
exit 1
else
echo "Your file name:$CUR_FILE"
##make target choice
echo "Which work you wanna do?"
select var in "pack" "unpack";do
break
done
echo "You selected $var file....."
case $var in
pack)
pack CUR_FILE
;;
unpack)
unpack CUR_FILE
;;
*)
echo "Usage:select option error!"
exit 1
esac
fi
㈥ SHELL腳本,解壓縮指定目錄下的ZIP文件到另一個目錄下
#!/bin/bash
foriin$(ls/opt/bin/*.zip2>/dev/null)
do
unzip$i-d/opt/wep
done
㈦ 如何讓shell把文件寫入zip
unzip System.zip
cp system/framewrok/abc.xml System/system/framewrok/abc.xml
zip -r System.zip System/
命令就是上面那樣,具體的目錄什麼的,你具體去操作
㈧ linux下把一個文件夾內的文件全部壓縮的shell命令
比如生成的文件是file.tar.gz 你要打包的文件夾是/home/test/下的所有文件,命令如下(最後的星號不要忘記哦)。 tar -cvzf file.tar.gz /home/test/*
㈨ linux下如何將一個新增文件加入到一個壓縮文件中
1、連接上相應的linux主機,進入到等待輸入shell指令的linux命令行狀態下。
㈩ 如何用shell腳本實現 壓縮Linux下某一目錄下的所有文件夾
#!/bin/bash
for dir in `ls --file-type -1`;
do
if [ `echo $dir | grep "/$"` ]; then
dir=`basename $dir`;
tar -zvcf $dir.tar.gz $dir;
fi
done
說明:保存至文件名compress.sh,並置於相應目錄下。
運行./compress.sh(或sh compress.sh)