1,find
find命令用来在linux上查找文件及包含指定内容的文件非常方便,灵活度也很高,配合grep使用可以有效查找定位
2,ldd
ldd打印一个可执行文件或者动态库的依赖库,方便用户确定运行环境以及拷贝需要的动态库
ldd xxxxxxx|cut -d ' ' -f 3 |grep so| xargs -I % cp % ./destination_path
3,awk
awk是一个linux端c++风格的命令,你甚至可以用awk写一段代码。
awk对字符串分隔提取非常有效
下面一个文件是处理并打印一个文件
cat 201605.log | awk -F ' - ' '
BEGIN{count=0;printf("Process The Logs!\n")}
'/cal1=%/'{
printf("LineNumber:%s\tColumnNumber:%s\t%s\n",NR,NF,$1);
count++;
str=$0;
gsub(/t=event/,"t=pageview",$0);
printf("%s\n", $3);
}
END{printf("The total number of special lines is %s\n",count)}
'
$1~$n表示一行中按照分割符分割的1-n段,$0表示这一整行
gsub是一个替换命令,用来gsub(a,b,c)之从c中用b替换a
NR,NF分别表示一行的行号以及该行有多少列
4, file
探测文件类型,并可以知道文件到底是什么文件
$ file test2.cpp
$ test2.cpp: C source, ASCII text
5, sed
字符串处理命令,替换字符串或者打印包含指定字符串的句子就是分分钟的事~
6,netstat
显示网络状态信息,-a显示所有连线中的socket,而-t(u)显示所有tcp(udp)链接。-r显示路由表。
$ netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 10.128.128.1 0.0.0.0 UG 0 0 0 eth0
7,alias
alias可以指定系统命令的源命令
alias nvidia-smi=watch -n 0.1 nvidia-smi
输入nvidia-smi等于直接执行watch -n 0.1 nvidia-smi
8, hexdump
hexdump -C
把文件转为8进制文件,用于定位compare一样,但md5不一样的两个文件的diff
(因为时间有限以及认知有限,所以许多命令用法也没写全也没给样例,大家可以上网找使用方法~