美文网首页
常用的linux命令

常用的linux命令

作者: DayDayUpppppp | 来源:发表于2017-09-23 15:16 被阅读0次
  1. awk
awk 'BEGIN{}  {} END{} '  文件名

#统计文本的第一列
awk '{print $1}' new.txt

#统计文件里面第一列各个元素出现的次数
awk ‘{res[$1]++} END{for (r in res) print r"  "res[r]}’  文件名
  1. sed
#文本替换
sed ‘s/要被替换的文本/替换的文本/g’  文件名

#打印文本里面包含特定字符的行
sed -n '/zhao/p' 文件名
  1. netstat
netstat
-a :all,表示列出所有的连接,服务监听,Socket资料
-t :tcp,列出tcp协议的服务
-u :udp,列出udp协议的服务
-n :port number, 用端口号来显示
-l :listening,列出当前监听服务
-p :program,列出服务程序的PID
  1. top and htop
    相当于linux下面的任务管理器

  2. ps

ps -aux

#vsz virtual memory size 虚拟内存的大小
#RSS 驻留集的大小
  1. grep
#我经常将grep和管道连在一起使用
netstat -antupl | grep nginx

#查找一个目录下面(这个目录下面可能有很多文件)包含字符串“zhao”的文件
grep -rn "zhao"

grep查找日志

# 查看xxx.log.* 文件里面的error
grep error xxx.log.*

# 查看日志,但是不看到timeout的错误
grep error xxx.log.* | grep -iv "timeout"

# 匹配多个关键字的一个 
grep -E "key1|key2|key3"  xxx.log

vim 匹配多个关键字

/key1\|key2
  1. find命令
#find 命令好像是一个很神奇and强大的命令
#我经常使用的是 
find 搜索的路径 -name  文件名

#如何搜索当前目录下面的cpp文件
find ./ -name  *.cpp
  1. 如何将一个进程进入后台运行?
  • commond 后面加一个 &
python xxx.py  &
  • 使用supervisor 工具
    这个一般让一个程序自动的启动。
  1. iostat
    查看磁盘的io情况

  2. df
    查看磁盘的使用情况
    du

    du -h --max-depth=1
    
  3. ssh命令

ssh 用户名@ip
比如 ssh zhaozheng@192.168.3.21

#如果我在图书馆想登陆实验室的服务器(不在一个网段下面)
#实验室路由器的wan ip是 100.64.210.151
#在实验室的路由器上面配置端口映射 将20000端口映射到 服务器的ip:22端口上面 
 ssh zz@100.64.210.151 -p 20000
  1. curl 和 ncat
    这两个很适合在网络编程和web开发里面使用。
  1. hexdump
    查看一个文件的十六进制表示
hexdump -C dump.rdb

00000000  52 45 44 49 53 30 30 30  36 fe 00 0d 03 73 74 75  |REDIS0006....stu|
00000010  1f 1f 00 00 00 1b 00 00  00 04 00 00 04 6e 61 6d  |.............nam|
00000020  65 06 04 7a 68 61 6f 06  03 61 67 65 05 fe 19 ff  |e..zhao..age....|
00000030  00 04 6e 61 6d 65 04 7a  68 61 6f ff 8d 39 29 8d  |..name.zhao..9).|
00000040  4b ee 5b b1                                       |K.[.|
00000044

# 在这个输出是十六进制表示,比如52(是十六进制的52,对应的ASC是R,两个十六进制的符号 表示一个字节)
# 最左侧的是文件的长度 00000000 表示相对的起始地址
# 00000010 是十六进制表示,10(十六进制)表示的是 16,也就是第十六个字节

  • curl
    curl命令是一个很好用的命令,curl可以发出网络请求,然后得到服务器返回的数据。显示在桌面上面。

    #显示服务器返回的html
    curl  127.0.0.1 
    
    #显示头部的信息
    curl -i  127.0.0.1
    

    输出的结果:

     % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                   Dload  Upload   Total   Spent    Left  Speed
    100   796  100   796    0     0    796      0  0:00:01 --:--:--  0:00:01 49750
    HTTP/1.1 200 OK
    Server: nginx/1.11.3
    Date: Sat, 23 Sep 2017 07:02:27 GMT
    Content-Type: text/html
    Content-Length: 796
    Last-Modified: Thu, 21 Sep 2017 12:49:40 GMT
    Connection: keep-alive
    ETag: "59c3b564-31c"
    Accept-Ranges: bytes
    
    <!DOCTYPE html>
    <html>
    <head>
    <title>Welcome to nginx!</title>
    ....
    
    
    #显示完整的通信的过程
    curl -v 127.0.0.1 
    
    #模拟get 和post 请求
    curl 127.0.0.1?id=3
    
    #post
    curl -d "id=3&name=zz"    127.0.0.1
    
  • 关于cookie
    #可以保存服务器返回的cookie到文件
    curl -c cookies http://example.com
    
    #可以使用这个文件作为cookie信息,进行后续的请求。
    curl -b cookies http://example.com
    
    #使用`--cookie`参数,可以让curl发送cookie
    curl --cookie "name=xxx" www.example.com
    

相关文章

网友评论

      本文标题:常用的linux命令

      本文链接:https://www.haomeiwen.com/subject/ktwxextx.html