1:cat -s:压缩空白行;移除空白行 cat test.txt| tr '\n' '';

   cat -T:将制表符显示为^I;

   cat -n:显示行号

2:find :

    -name :根据文件名或正则表达式匹配;find . \( -name "*.txt" -o -name "*.py" \) -print

    -path:根据路径匹配;

    -maxdepath和-mindepath基于目录深度搜索;

    -type f(d\c\l等)文件类型;find . -type f -print

    -perm:文件权限;find . -perm 644 -print

    -size:文件大小(k\m\g\b\c等)find . -size +2k -print

    -user:文件的属主;find . -user root -print

    -prune:排除 find . \( -path ./old -prune \) -o \( -name "*.txt" -print \)

3:文件的校验(sha1sum和md5sum格式一致)

    在同一目录中通过 md5sum file >file.md5得到md5校验文件;然后md5sum -c file.md5比较是否一致;根据file.md5中的内容自动比较源文件md5,不需要和源文件同名。    

    递归计算校验和:    find /etc/ -type f  -print0 | xargs -0 md5sum >>dir.md5 

4:sort :    

    -n:按数字排序

    -r:按逆序排序

    -M:按月份排序

    -k:按第几列排序

    -z:以\0作为终止符和xargs -0相符

    -C:是否排序

5:uniq:消除重复行,文件必须先排序过

    -c:统计各行出现的次数

    -d:找出重复的行

    -z:产生\0为终止符和xargs -0相兼容

    如:uniq -z file.txt | xargs -0 rm 

6: 临时文件名的生成:$$当前进程号。如: file-$$.txt

7: 分割文件:

    dd if=/dev/zero of=/tmp/date.txt count=10M bs=10

    split -b 1m date.txt -d -a 4 (file)以1M每个文件大小分割文件,并以后缀定长为4。(前缀为file,默认为)

8:根据扩展名匹配:

    ${var%.*}从右到左匹配,匹配结果删除。如var=simple.jpg;则结果为var=simple。

    ${var#*.}从左到右匹配,匹配结果删除。如var=simple.jpg;则结果为var=jpg。

    ${var%%.*}和${var##*.}为贪婪匹配;使用更多。