linux 常用命令

来源:互联网 发布:ios 数据共享 编辑:程序博客网 时间:2024/05/29 17:09

拷贝

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

tar c $(find . -type f -name '*.src*') | tar x -C destDirtar c $(find . -type f -ctime -5 -name '*.src*') | tar x -C destDirfind . -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/bashif [ $# -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

0 0
原创粉丝点击