0%

Linux VIM 命令及操作小结

整理出 Linux, VIM 常用到的 命令以及命令的用法,方便以后查找使用。

linux 下文件目录的操作权限:

  • chmod:
    修改文件、目录访问权限。
    rwx4/2/1
    示例: r-x-w-r--: 5 2 4

    r、w、x 对于目录、文件的含义是否相同??

    文件 目录
    r: 查看文件内容
    cat、more、less、tac
    vim(读) gedit(读)
    目录的内容(目录项)可以被查看
    ls、vim(读)
    w: 修改、删除 文件内容
    cat> / can >>
    vim(写、删) /gedit(写、删除)
    目录的内容(目录项)可以被修改、删除、增加
    mv、cp、rm、rmdir、mkdir、touch…
    x: 该文件可以运行。 该目录可以被进入
    cd

  • 进程信息查看:
    1
    ps aux | grep xxxx

    top —— Linux下的 任务管理器。

  • 终止进程:

    kill -9

    欲终止的 进程ID (可以通过 ps aux | grep 获取) 9 —— SIGKILL

  • 前台、后台:

    是否能与用户完成交互。

    & : 将进程放置到后台执行。

    jobs: 查看后台运行的进程

    fg:恢复后台一个进程到前台执行。 + 优先级高。 指定 某一个进程恢复到前台来。 用 jobs查看的 “进程编号”

  • 多终端热键:

    Ctrl + Alt + ↓ / ↑ —— 虚拟一块新桌面

    Ctrl + Alt + T —— 唤醒一个新终端(独立)

    Ctrl + shift + T —— 在一个终端里,创建多个shell标签。

  • ifconfig:

    查看当前网卡相关信息: —— IP地址。

    临时设置IP地址:

    sudo ifconfig ens33 新IP

    系统重启失效。

    sudo ifconfig ens33 up/down 使用命令 网卡启动、关闭

    • 永久设置IP地址:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      图形: 设置——网络——有线连接 + —— IPv4 —— 手动 —— 填入地址、子网掩码 、网关 —— “添加”

      网址: 网段。IP里面倒数第二字段。

      子网掩码: 255. 255.255. 0

      网关:网段确定后,网关即为该网段的 第一个ip地址。192.168.xxx.1 —— 192.168.xxx.255 (广播地址)

      命令:—— 通过修改配置文件,达到永久修改IP的目的。

      修改 /etc/network/interfaces 文件。 添加 网址、子网掩码、网关。 指定DNS服务器
  • ping

    发送一个测试数据包,到指定的 IP地址。测试是否 畅通。

    Ctrl + c 终止。

    -c 参数 指定发数据包的 次数。

  • 虚拟机网络设置:

    • 桥接模式:
      路由器给 虚拟 Linux 单独分配一个 IP地址。与 windows 所在同一网段。

    • NAT模式:
      Linux 虚拟机借助 windows 网卡,访问外网。linux 和 windows 公用 访问外网的iP。

  • find 命令:

    格式: find 待搜索目录 参数 “关键字”/ ‘关键字’

    • -name:

      find /home/itcast/go_1 -name "*.soft"

      在目录中找 .soft 结尾的文件。

    • -type

      f(普通文件)、dlcbps

      find /run/ -type "s"

      在目录中找 socket 文件。

    • -size:

      区范围时: 两个范围 之前都有加 -size 关键字。

      + : 大于、 - : 小于

      • 单位:
        • M 只支持大写。
        • k 只支持小写。
        • 无单位——默认单位是 512B。
    • -maxdepth

      指定搜索层级深度。 放置于其他参数之前。

      find -maxdepth 1 -type 'f' -name "*.go"

      只在当前目录下,搜索 .go 文件、目录。

    • -exec:

      对搜索结果执行命令

      find -maxdepth 1 -type 'f' -name "*.go" -exec ls -l {} \;

    • -xargs:

      对搜索结果执行命令

      find -maxdepth 1 -type 'f' -name "*.go" | xargs ls -l

      特例:如果文件名中含有空格, 如:文件名:‘abc xyz’

      find -maxdepth 1 -type 'f' -print0 | xargs -0 ls -l

  • grep :

    grep -r/-R "love"

    目标目录位置。
    递归的在指定目录中,找寻包含某字符串的 文件。

  • 结合 findxargsgrep

    find -maxdepth 1 -type 'f' -print0 | xargs -0 grep "love" -n

    找寻当前目录下,包含 “love”的文件,并显示在 多少行出现 (-n 行号)。

  • vim(vi)编辑器

    shell —> bash / vi —> vim

    • 三种工作模式:

      • 命令模式: 默认进入 vim 的工作模式。该种模式下,用户所有输入均被当成命令。

      • 编辑模式: 编写模式。写代码、文本内容。。。

      • 末行模式: 在 命令模式下, 按 “:” 进入末行模式。该种模式下,用户所有输入均被当成 末行命令。

    • 光标移动(命令模式);

      • h:左
      • j:下
      • k:上
      • L:右
    • 转换编辑模式:

      • i:向光标所在位置的 “前面”插入数据!

      • a:向光标所在位置的 “后面”插入数据!

      • o:向光标所在位置的 “下一行”插入数据!

      • s:以删除光标位置一个字符为代价,修改工作模式 —— 文本编辑模式。

      • O:向光标所在位置的 “上一行”插入数据!

      • I:向光标所在位置的 “行首”插入数据!

      • A:向光标所在位置的 “行尾”插入数据!

      • S:以删除光标位置一整行为代价,修改工作模式 —— 文本编辑模式。

    • 复制、粘贴:

      • yy:复制光标所在行。

      • Nyy:复制光标所在往后的N行(包含本行)。

      • p:粘贴至光标所在位置,下一行。

      • P(大写):粘贴至光标所在位置,上一行。

      • yw:将光标放置于单词的首字符上, 复制一个单词。

      • 区域复制:将光标放置于待复制区域的首字符上, 按 “v”(左下角出现 “可视”提示)使用 hjkl 选择复制区域。

    • 剪切、粘贴:

      • dd:剪切光标所在行。

      • Ndd:剪切光标所在往后的N行(包含本行)。

      • p:粘贴至光标所在位置,下一行。

      • `P(大写)``:粘贴至光标所在位置,上一行。

      • `dw:将光标放置于单词的首字符上, 剪切一个单词。

      • 区域剪切:将光标放置于待剪切区域的首字符上, 按 “v”(左下角出现 “可视”提示)使用 hjkl 选择剪切区域。

      • d0:从光标所在位置,删除到 行首。

      • d$(D): 从光标所在位置,删除到 行尾。

    • 删除:
      同剪切。

    • 字符操作:

      • x:删除光标选中字符

      • r:光标选中字符, 按 “r”, 按目标字符。 可以将 原字符,替换为 目标字符。

    • 跳转到指定行:

      • 命令模式:

        • gg:第一行

        • G:最后一行

        • gg=G: 自动排版。

        • NG:跳转到 第 N 行

        • vim hello.go + 56 : 打开文件同时,跳转到 56 行

      • 末行模式:

        • :N 回车: 跳转到 第 N 行
    • 查找:

      1. 想象一个单词查找。 输入“/”(显示在末行的位置), 再输入要查找的单词。

      2. 查找一个已经看到的单词。将光标放在该单词任意一个字符,“*”向后找, “#”向前找。 “n”代表下一个。

    • 撤销:“u”

    • 反撤销:ctrl - r

    • 替换:末行模式

      1. 单行替换: :s/旧单词/新单词。

        一行有多个“旧单词”, 使用 “g”。否则只替换一行的首个。

      2. 通篇替换: :%s/旧单词/新单词。

        一行有多个“旧单词”, 使用 “g”。否则只替换一行的首个。

      3. 指定区域替换: :nms/旧单词/新单词。

        替换从n行开始,到m行结束,出现的“旧单词”, 一行有多个“旧单词”, 使用 “g”。否则只替换一行的首个。

  • vim的配置:

    • 用户配置: 用户宿主目录下,创建 .vimrc (隐藏文件),写入 配置项。

    • 系统配置:sudo vi /etc/vim/vimrc (非隐藏文件)。写入 配置项。

  • 测试某软件是否安装:

    sudo aptitude show 软件名

    1. “未安装”:根据提示安装。
    1. “已安装”。
  • Linux 远程 登录 Linux

    • ssh -l 目标主机用户名 目标主机 iP地址。 ( 或 ssh itcast@127.0.0.1

      输入目标主机 密码。

      登录到,目标主机的 “家目录”

  • Linux 远程 发送文件给 Linux

    • scp -r 目标用户名@目标主机名:目标存储的绝对路径

      例子: scp -r ./test123.mp3 zhangsan@192.168.35.221:/home/zhangsan/test

      输入目标主机 密码。

    • 文件 直接存在在目标主机的指定目录下。

      test123.mp3 存储在 zhangsan用户的/home/zhangsan/test目录下。

坚持原创技术分享,您的支持将鼓励我继续创作!

欢迎关注我的其它发布渠道