1、查看目录和文件大小
du -sh ./* du -sh * | sort -nr 这个排序不正常都是因为-h参数的原因 du -s * | sort -nr | head 选出排在前面的10个 du -s * | sort -nr | tail 选出排在后面的10个
2、linux ls按文件大小排序
ls -Sl
其是按照由大到小排序,如果想要反过来,从小到大,那么用:
ls -Slr
再者,如果想要输入是按照“便于人类阅读的方式”,那么就再加一个-h,表示"--human-readable"
这样单位就是k或者M ,比较容易看清楚结果
3、tr 删除字符和替换字符,去重字符
用法:tr [选项]... SET1 [SET2]
从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。
-c, -C, --complement 首先补足SET1
-d, --delete 删除匹配SET1 的内容,并不作替换
-s, --squeeze-repeats 如果匹配于SET1 的字符在输入序列中存在连续的重复,在替换时会被统一缩为一个字符的长度
-t, --truncate-set1 先将SET1 的长度截为和SET2 相等
--help 显示此帮助信息并退出
--version 显示版本信息并退出
SET 是一组字符串,一般都可按照字面含义理解。解析序列如下:
\NNN 八进制值为NNN 的字符(
1
至
3
个数位)
\\ 反斜杠
\a 终端鸣响
\b 退格
\f 换页
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
字符
1
-字符
2
从字符
1
到字符
2
的升序递增过程中经历的所有字符
[字符*] 在SET2 中适用,指定字符会被连续复制直到吻合设置
1
的长度
[字符*次数] 对字符执行指定次数的复制,若次数以
0
开头则被视为八进制数
[:alnum:] 所有的字母和数字
[:alpha:] 所有的字母
[:blank:] 所有呈水平排列的空白字符
[:cntrl:] 所有的控制字符
[:digit:] 所有的数字
[:graph:] 所有的可打印字符,不包括空格
[:lower:] 所有的小写字母
[:print:] 所有的可打印字符,包括空格
[:punct:] 所有的标点字符
[:space:] 所有呈水平或垂直排列的空白字符
[:upper:] 所有的大写字母
[:xdigit:] 所有的十六进制数
[=字符=] 所有和指定字符相等的字符
尝试固定长度随机数
root@iZwz93telmwbh624e5zetqZ:~# head /dev/urandom | tr -dc A-Za-z0- | head -c
虽然help中说"--exclude"可以忽略文件和目录,可是实际测试中发现并不能忽略目录。所以,要排除目录,还得用“--exclude-dir”
例如:
grep -rn --exclude-dir=build_* --exclude-dir=kernel --exclude-dir=drivers --exclude=*.out 'abcdefg' .
grep --exclude-dir=".svn" U_BOOT_CMD * -nR --exclude="cscope.out" --exclude="tags"