Li RUONAN


一枚行走在前端道路上的程序媛 ~~


Linux && Vim

最近部署agent代理和nginx转发,经常性使用linux命令、vim编辑linux文件,真是学到了不少哎。

1. 先总结一波Linux命令吧:

  • 查看系统信息

    1. 查看系统内核版本:uname -a // -r 是系统的发行版本;-m 是主机类型
    2. 查看主机名: uname -n
    3. 查看CPU的相关信息:cat /proc/cpuinfo
    4. 查看内存的相关信息:cat /proc/meminfo
  • 查看磁盘空间使用情况

    • 格式: df -h
  • 查看哪个程序在用特定端口

    • 格式: netstat -apen | grep 端口号
    • 范例: netstat -apen | grep 8080
    • *说明:netstat [-a][-e][-n][-o][-p Protocol][-r][-s][Interval]
      • 补充:-a 显示所有socket,包括正在监听的;-p 显示建立相关连接的程序名和PID;-e 显示以太网统计。此选项可以与 -s 选项结合使用;-n 以网络IP地址代替名称,显示出网络连接情形。
  • 查看当前路径下的文件/文件夹大小

    • 格式: du -shc 文件名/文件夹名
  • 更改为其它使用者的身份

    • 格式: su 使用者帐号
    • 范例: su work
  • 改变文件夹的权限

    • 格式:sudo chmod a+w -R app/
    • 说明:a+w 读写权限;-R 递归遍历
  • 远程登陆

  • 查看文件的行数

    • 格式: wc -l 文件名
    • 范例: wc -l web.conf
  • 比较两个文件的不同之处

    • 格式: diff 文件1 文件2
    • 范例: diff a.js b.js
  • 从本地上传文件到服务器

    • 格式: rz -be
    • *说明:若要保证上传的文件内容在服务器端保存之后与原始文件一致,最好同时设置这两个标志:
      -b 以二进制方式,默认为文本方式。-e 对所有控制字符转义。
  • 从其他机器拷贝文件夹

    • 格式: scp -r 文件夹名 用户名@机器名:/路径
    • 范例: scp -r logs liruonan:/home/www
  • 实时监控日志文件内容

    • 格式: tail -f 日志文件名
    • 范例: tail -f app.log
  • 查找某文件中出现指定字符串的行

    • 格式: grep 指定字符串 文件名
    • 范例: grep ‘812560550’ qq.log
    • *说明:找出日志文件 qq.log中包含‘812560550’的行
      • 补充:’-A n’显示匹配行和其之后的n行;’-B n’显示匹配行和之后的n行;’-C n’显示匹配行和其前和其后的各n行;-o只显示匹配项,以行分割;–color将显示中的匹配项显示为红色;-E使用正则表达式进行匹配;-c输出匹配的行数;-i 忽略大小写的方式进行匹配;-v只显示不匹配的行;-r/-R递归搜索当前目录的文件。

2. Vim文本编辑器

  1. 命令行模式下,按下i, o, a 等字符进入编辑模式
  2. 编辑模式下,按下ESC,回到一般模式
  3. 一般模式下,输入:wq 即可保存离开
  4. 常用命令:
    • [Ctrl] + [f]: 屏幕『向下』移动一页
    • [Ctrl] + [b]: 屏幕『向上』移动一页
    • 0 或功能键[Home]:移动到这一行的最前面字符处
    • $ 或功能键[End]: 移动到这一行的最后面字符处
    • G:移动到这个档案的最后一行(复制、粘贴、删除中常用)
    • gg:移动到这个档案的第一行,相当于 1G
    • n:光标向下移动 n 行
    • dd:删除游标所在的那一整行
    • :set nu:显示行号,设定之后,会在每一行的前缀显示该行的行号