Linux实用单行命令小集

本文将最近使用过的一些比较有趣而又威力强大的单行命令整理了一下,数量暂时不多。今后发现新的持续更新。

  

#导出帮助文档
man ls | col -b > ls.man.txt

 

#一些重要的帮助

man 2 syscalls - 内核系统请求的列表,按内核版本注释分类,系统编程必备。
man 2 select_tut - 关于select()系统请求的教程。
man 3 string - 在头文件内的所有函数。
man 3 stdio - 关于头文件的使用,标准输入/输出库的说明。
man 3 errno - 所有errorno的取值及说明。(C语言内类似其他语言的异常告知机制)
man 4 console_codes - Linux的终端控制码及其使用解释。
man 5 proc - 介绍/proc下的文件系统。
man 7 bootparam - 详细解释内核启动参数。
man 7 charsets - 解释各种语言的编码集。(gbk,gb2312等)
man 7 glob - 解释glob文件名管理机制的工作过程。
man 7 hier - 解释Linux文件系统结构各个部分的作用。
man 7 operator - C语言的运算符的列表。
man 7 regex - 介绍正则表达式。
man 7 suffixes - 常见文件后缀名的列表跟解释。
man 7 time - Linux的时钟机制解释。
man 7 units - 数值单位及其数值的解释。
man 7 utf8 - 描述UTF-8编码。
man 7 url - 解释URL、URI、URN等的标准。

 

 #查看file1和file2的并集
cat file1 file2 | sort | uniq

 

#查看file1和file2的交集
cat file1 file2 | sort | uniq -d


comm -12 11.dat 22.dat

 

#查看file1和file2的只有单边存在的集合

cat file1 file2 | sort | uniq -u

 

#查看仅在file1中存在的集合

comm -23 file1 file2

 

#查看仅在file2中存在的集合
comm -13 file1 file2

 

#显示当前目录前10个占用空间最大的文件或目录:
du -sh * | sort -nr | head

 

#找出当前目录下(包括子目录中)最大10个文件
find . -type f | xargs ls -l | awk '{print $5 " " $9}' | sort -nr | head

 

#找出当前目录下(包括子目录中)最新更新的10个文件
find . -type f | xargs ls -lt | head

 

#显示消耗内存最多的 10 个运行中的进程,以内存使用量排序
ps aux | sort -nk +4 | tail

 

#显示当前目录中所有子目录的大小
du -h --max-depth=1

 

#实时某个目录下查看最新改动过的文件
watch -d -n 1 'df; ls -FlAt /tmp'

 

#抽出表达式中所有的变量(去除重复)
echo '(int1 - 2)/100*int1 + int2 * int3' | \
tr '\(\)\+\-\*\/' ' ' | \         #删除符号:()+-*/
sed -re 's/\b[0-9]+\b/ /g' | \    #删除数字(变量中数字除外)
tr ' ' '\n' | \
sed '/^$/d' | \
sort -u

 

#统计C语系程序中实际行数(注释行,空行除外)
cat  xxx.c | \
sed '/^[ \t]*\/\*/,/.*\*\//d' | \  #删除/* */所在行
sed '/^[ \t]*\/\//d' | \           #删除//为首的行
sed '/^[ \t]*$/d' | \              #删除空行
wc -l

你可能感兴趣的:(脚本)