当前位置:首页 > 短网址资讯 > 正文内容

Linux下容易被忽视的那些命令用法

www.ft12.com7年前 (2017-08-15)短网址资讯1658

本文是FT12短网址珍藏多年的经验、总结,需要具备基本的linux操作基础。

一、前言

工作中发现很多同学对于Linux下的命令不太熟悉,尤其是一些功能强大的工具,使用者很少。正所谓工欲善其事,必先利其器。本文总结了Linux下常用命令的用法,希望能够帮助大家提升日常开发的效率。

二、命令

1.strace

strace用于跟踪程序执行过程中的系统调用,如跟踪test进程,只需要:

strace -p [test_pid] 或直接strace ./test

但如果需要:

  • 跟踪进程内的线程: -f 选项

  • 统计时间段内的各个系统调用次数分布:-C 选项

  • 过滤某些系统调用:-e trace选项,如-e trace=network只显示网络相关的系统调用,-e trace=open,close,read,write只显示这4个系统调用,常用于只获取某些特定的系统调用

  • 显示系统调用的时间:-ttt选项

  • 详细显示每行的数据,而不是... -s选项加大字符串的长度限制如-s 1024

比如,跟踪pid为12345的进程中所有线程的read和write系统调用,输出字符串的长度限制为1024:

strace -s 1024 -f -e trace=read,write -p 12345

2.tcpdump

tcpdump是Linux上的抓包工具,如抓取eth0网卡上的包,使用:

sudo tcpdump -i eth0

但如果需要:

  • 文本形式显示抓包数据:-A选项

  • 显示16进制的报文数据:-X选项

  • 输出结果到文件中 -w选项,如-w 1.cap将报文输出到1.cap文件,此文件可用wireshark查看

  • 过滤主机和端口号 如host 11.11.11.11 and port 12345过滤主机ip为11.11.11.11,端口号为12345的tcp报文

比如,抓取80端口的HTTP报文,以文本形式展示:

sudo tcpdump -i any port 80 -A

这样你就可以清楚看到GET、POST请求的内容了。

3.nc

nc可以在Linux上开启TCP Server、TCP Client、UDP Server、UDP Client。

如在端口号12345上开启TCP Server和Client模拟TCP通信:

Server:  nc -l 127.0.0.1 12345
Client:  nc 127.0.0.1 12345

在端口号12345上开启UDP Server和Client模拟TCP通信:

Server:  nc -ul 127.0.0.1 12345
Client:  nc -u 127.0.0.1 12345

Unix Socket通信示例:

Server:  nc -Ul /tmp/1.sock
Client:  nc -U /tmp/1.sock

4.curl

curl用于模拟HTTP请求,在终端模拟请求时常用,如最基本的用法:

curl http://www.baidu.com

但如果需要:

  • 指定HTTP首部 -H选项,如-H "Host: xx.xx.xx.xx"

  • 指定请求方法 -X选项,如-X POST,-d指定post数据

  • 显示请求详细信息,包括请求和响应首部 -v选项

  • 重定向请求自动追踪 -L选项

常见的curl请求选项-sSfL表示: 不显示进度信息,显示错误信息,发生HTTP错误时失败,自动跟踪重定向

5.find

find可用于查找文件,比如:

find . -name "1.txt"

表示在当前目录及其子目录下查找文件名为1.txt的文件,结合xargs使用功能更加强大,如:

find . -type f|xargs grep 'abcd'

表示在当前目录及其子目录下查找包含abcd字符串的文件行,经常用于搜索代码。

6.lsof

lsof命令主要用法包括:

  • sudo lsof -i :[port] 查看端口占用进程信息,经常用于端口绑定失败时确认端口被哪个进程占用

  • sudo lsof -p [pid] 查看进程打开了哪些文件或套接字

7.ss

Linux上的ss命令可以用于替换netstat,ss直接读取解析/proc/net下的统计信息,相比netstat遍历/proc下的每个PID目录,速度快很多。

常见示例:

  • ss -t -a 显示所有的TCP Sockets

  • ss -u -a 显示所有的UDP Sockets

  • ss -x src /tmp/a.sock 显示连接到/tmp/a.sock的进程

  • ss -o state [state TCP-STATE] 如ss -o state established显示所有建立的连接

8.awk/sed

awk和sed在文本处理方面十分强大,其中,awk按列进行处理,sed按行进行处理。

如采用冒号分隔数据,输出第一列数据($0代表行全部列数据,$1代表第一列,$2代表第二列...)

awk -F ":" '{print $1}'

在awk的结果基础上,结合sort、uniq和head等命令可以轻松完成频率统计等功能

查看文件的第100行到第200行:
sed -n '100,200p' log.txt
替换字符串中的特定子串
echo "int charset=gb2312 float"|sed "s/charset=gb2312/charset=UTF-8/g"
替换test文件每行匹配ab的部分为cd
sed -i 's/ab/cd/g' test

9.screen

当采用telnet或SSH登录远程主机时,因为网络中断的原因会导致session终止,此时会触发SIGHUP信号使得任务终止,因此我们常常会看到有些任务采用nohup的方式运行,避免任务被打断。screen通过多终端的方式,巧妙地解决了这个问题。 示例:

  • screen -S test 开启一个screen,这时拥有一个终端,所有执行的程序都会在ps中展示

  • Ctrl+a键+d键 退出当前screen,切到上级窗口

  • screen -ls 查看所有screen列表,如

    13333.test      (Detached)
    14039.test4     (Detached)
    表示两个screen,screen标识为13333.test和14039.test4
  • screen -r [pid.]tty.host 进入选定的screen,如screen -r 13333.test

  • exit 关闭当前screen


扫描二维码推送至手机访问。

版权声明:本文由短链接发布,如需转载请注明出处。

本文链接:https://www.ft12.com/article_412.html

标签: Linux命令
分享给朋友:

相关文章

月活超美国人口十分之一,各大科技巨头纷纷布局,智能音箱背后有何门道?

月活超美国人口十分之一,各大科技巨头纷纷布局,智能音箱背后有何门道?

撰稿|FT12短网址 编辑|短链接 未来生活一定是智能的,科幻小说里曾设想过的场景正一步步变成现实。在这个不可逆转的技术发展趋势里,智能音箱扮演的会是怎样的角色?现阶段的智能音箱及其背后的核心技术发展到了哪一步? 1 写...

MySQL 5.6 Online DDL异常分析

MySQL 5.6 Online DDL异常分析

0、导读MySQL 5.6里,按理说是可以支持Online DDL的,为啥在给一个表增加字段/增加索引时,却把该表上的DML给阻塞了呢?1、问题我的朋友小明,在使用Percona 5.6.30版本,想要对一个表增加辅助索引,想着MySQL...

你才喜欢郭敬明呢,你全家都喜欢郭敬明

在我们哪所十八线乡村野鸡高中,喜欢郭敬明是一件特别酷的事情呢吃过没文化的亏,高中读郭敬明的书,喜欢到想哭,尤其是《小时代》,唐宛如那句“让我受到了惊吓”是高中生活特别好的调味剂,适合跟朋友各种逗乐的语境。后来也试着再翻翻看,毕竟当初觉得幽默...

道德沦丧!中国电商平台被爆集体造假,造假者月入10万…

道德沦丧!中国电商平台被爆集体造假,造假者月入10万…

 近几年网购发展迅速,人们可以足不出户,就可以享受到其他国家优质的产品。然而,那些某些电商网站上大量所谓的“境外购”、“海外购”,真的是从国外买到的产品吗?近日,《新京报》曝光了一桩惊天海淘平台造假大案,国内所有大型海淘平台,几乎...

给人工智能降点温:深度学习不是万能良药

给人工智能降点温:深度学习不是万能良药

策划|FT12短网址 译者|短链接 近几年,深度学习已经进入一定程度的狂热状态,人们正试图用这个技术解决每一个问题。然而,深度学习真是万能的吗?阅读此文后,你便能够从深层理解为什么深度学习并不是想象的那般“...

短网址专访:为什么大家都喜欢看AI机器人跟人脑下棋打牌?

短网址专访:为什么大家都喜欢看AI机器人跟人脑下棋打牌?

[ 短网址导读 ] 一个会下棋的AI也并非科学家的终极方针,其更活跃的含义在于,AI算法在研讨棋术的进程中不断精进和进步,会带来更多计划上的立异,然后在根本上进步人工智能算法的才能和适用范围。图像来自“123rf.com.cn”为...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。