linux 常用命令

拷贝

拷贝指定的文件到指定的目录并保持原始的目录结构:

tar c $(find . -type f -name '*.src*') | tar x -C destDir
tar c $(find . -type f -ctime -5 -name '*.src*') | tar x -C destDir
find . -type f -ctime -5 -name '*.src*' | xargs tar c | tar x -C destDir

拷贝目录结构:

find . -type d  -name srcDir -exec mkdir -p destDir/'{}' \; 
find . -type d  -name uartTest -exec mkdir -p test/\{\} \;
#后面的';'不能少,最后一个'\'之前有个空格
格式不对会出现find: missing argument to `-exec'的错误!

拷贝指定的多个文件到指定的目录并保持原始的目录结构:

#!/bin/bash
if [ $# -lt 2 ] 
    then 
    echo 
    echo "Usage: ./cpfiles.sh destDir/ srcFile1.c srcFile2.c srcFile.java ..."
    echo "Function: copy srcFile1.c srcFile2.c srcFile.java to destDir/ and create the original directory structure"
    echo 
    exit 
else

    for var in $@
    do
        if [ $var != $1 ] 
        then
        #   fs=$(find . -type f -name $var)
        echo "copying $var..."
        find . -type f -name $var | xargs tar c | tar x -C $1
        else
            if [ ! -d $var ]
                then 
                echo "$var not exists!"
                echo "exit"
                exit
            else
                echo "copying files to $1"
            fi
        fi
    done

    echo "Finished!"
fi

分卷压缩解压

要将目录logs打包压缩并分割成多个1M的文件,可以用下面的命令:
tar cjf - logs/ |split -b 1m - logs.tar.bz2.
完成后会产生下列文件:
logs.tar.bz2.aa, logs.tar.bz2.ab, logs.tar.bz2.ac
要解压的时候只要执行下面的命令就可以了:
cat logs.tar.bz2.a* | tar xj

再举例:
要将文件test.pdf分包压缩成500 bytes的文件:
tar czf - test.pdf | split -b 500 - test.tar.gz
最后要提醒但是那两个”-“不要漏了,那是tar的ouput和split的input的参数。
tar cjf - logs/ |split -b 1m - logs.tar.bz2.
完成后会产生下列文件:
logs.tar.bz2.aa, logs.tar.bz2.ab, logs.tar.bz2.ac
要解压的时候只要执行下面的命令就可以了:
cat logs.tar.bz2.a* | tar xj

MD5校验

md5sum p182 > cc.txt
cat cc.txt
0f0b000b096ac947d6067466cc60ffd0 p182
修改文件后
md5sum p182 -c cc.txt
md5sum: p182: no properly formatted MD5 checksum lines found
p182: FAILED
md5sum: WARNING: 1 of 1 computed checksum did NOT match

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值