linux实用的小工具,从菜鸟到高手进阶

paste

按各种方式合并文件,另外这个工具最大的特点是它的‘-’用法 ls | paste - - - -, 试试

应用实例:

  1. ls | paste - - -将结果按每行3个进行显示
  2. 合并文件

        f1.txt   f2.txt

        1 2      n a

        3 4      b j

        paste f1.txt f2.txt, 结果:

       1 2      n a

       3 4      b j

(还可以横向合并)


split

按行数分割大文件

uniq

sort

tail

head

awk

可以划分列,对列进行处理,如果仅仅处理行,用sed应该就够,如果要处理列,用awk吧

awk求和:
awk -F ',' 'BEGIN{total=0}{total+=$1}END{print total}'


sed

字符串替换,追加,字符串行处理

应用事例:

  1. 增加一个ip到apache配置文件:sed -i "s/allow from/& $ipaddress" httpd-auth.conf
-i:表示将更改保存到文件


cut

按字符数cut,按域cut

join

跟数据库的操作一样

cat

cat -v可以显示控制字符,接着输入各种功能键,控制键就可以显示出这些键的字符

tcpdump

tr

替换字符,删除(就是将字符替换为空),大小写转化

应用实例:

  1. tr "[a-z]" "[A-Z]" 替换大小写
  2. tr -s "[\015\032]" "\n" 去掉dos下的^m和^z, \015是^m,也就是\r. \032是^z,文件结束符
grep
grep -E支持扩展的搜索
应用实例:
  1. grep -E "\(123\)|\(abc\)"  input 查找有123或者abc字符串的行

nm
查看so里面的函数
ldd
查看so的依赖关系

watch
watch netstat -s:
watch 定期调用命令

netstat -s 打印网络的一些统计信息

pstack -p pid
打印指定进程的栈信息

strace -p pid -c
打印一段时间的系统调用情况,打印当前的不要加-c

date 命令:
用来查看系统日期,这里要说一下另外2个很有用的显示选项,在调试程序的时候,用的很频繁
date -d "now" +%s:用自1970的秒数来显示现在的时间,其中now可以用xx days/weeks/months ago等来替换,%s可以用%Y等来替换,具体可以man date
date -d @133008899: 用来显示自1970年秒数表示的时间,显示time_t的字符串时间信息 


top命令:
基本的大家都懂,这里介绍一下按列排序的功能, F可以选择按某列排序,按使用内存大小排序快捷键:M
按1,显示详细各个cpu的使用情况
按H,显示到具体线程

pmap命令:
pmap -p pid 查看具体进程内存的使用详细情况

grep命令:
基本的大家都懂,这里介绍2个不太常用,但是要用的时候,很重要,不一定会知道的参数
grep -A num 显示匹配行之后的num行
grep -B num 显示匹配行之前的num行


addr2line: 显示内存地址对应的代码行号, 这个结合objdump,或者dmsg内核日志,可以定位没有core文件的进程当机原因

size: 查看可执行文件,每个段的大小 (总的大小会比可执行文件的大小大,估计可执行文件有压缩)

ssh使用技巧:
~ctr+z可以将当前的ssh切换到后台,这样就可以回到原来的local主机, 可以使用jobs查看到后台的进程,fg %num 将指定进程重新放回前台,通过这个技巧,可以方便的在多个ssh之间切换,而不需要打开多个终端界面

ps命令
可以查看运行的进程,但是如果要看进程文件的绝对路径,可以这么做:
1.   ps  获得PID 
2.   进入proc文件系统里对应的目录:/proc/ <PID> 
3.   ls   -l exe链接对应的就是可执行文件的全路经

history:

这个命令有个使用技巧, ctr+r可以搜索以前使用过的命令 ,然后每按一次ctr+r可以继续往前搜索


# history | more 

1 service network restart 

2 exit 

3 id 

4 cat /etc/redhat-release 

# !4 

cat /etc/redhat-release

执行历史命令中的特定命令


执行以特定字开头的历史命令

# !ps 只要在特定命令前加上!就可以了


od - 

dump files in octal and other formats


ldd -r 

可以查看程序依赖的so,以及so所在的位置


pgrep pkill  

process_name 查看和杀死进程,省输入


readelf -S  

查看so,elf文件的各个段,可以判断文件是debug还是release


uptime

查看cpu负载,load average是指cpu队列的进程个数,判断点是跟cpu的个数对比。这个命令在cpu很卡的时候也可以用(top命令无法使用)


bind

bind可以很方便地在shell中实现宏或按键的绑定。

在进行按键绑定的时候,我们需要先获取到绑定按键对应的字符序列。

比如获取F12的字符序列获取方法如下:先按下Ctrl+V,然后按下F12 .我们就可以得到F12的字符序列 ^[[24~。

接着使用bind进行绑定。


dos2unix

用来将dos格式文件转成unix格式

待续

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值