hb120973135 发表于 2018-5-23 11:03:00

linux中的命令

  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##*.}为贪婪匹配;使用更多。

  

  

  

  

  

  

  

  

  
页: [1]
查看完整版本: linux中的命令