《C++游戏服务器开发入门到掌握》Vim和Shell

Shell 命令

常用命令

  • ps - e | grep ssh: 先查看是否开启了ssh,否则 Xshell 连接不了。
  • !!: 代表上次输入的命令。
  • wget: 类似于迅雷下载。-c如果中断,下次从断点处继续下载。wget -c http://mirrors.163.com/.help/sources.list.trusty获取更近的更新源。去/etc/apt目录下替换掉原来的sources.list(记得先备份,复制时还要改成一样的名字)
  • man: 查看命令手册,后面接命令。man who
  • who: 查看登录中的所有用户。
  • pwd: 查看当前所在目录。
  • cd: 切换目录。
  • touch: 如果没有,就创建文件。如果有,就修改文件时间戳。技巧:touch 一个文件留作印记。
  • cp: 复制文件。-i覆盖前会先询问。-l硬链接。-s软连接(可跨硬盘跨文件系统)。
  • ln: 创建连接文件。
  • rm: 删除文件(没有回收站,除非通过硬件手段找回)。-r递归(不带参数不能删除文件夹,空的也不行)。
  • mkdir: 创建文件夹。-p a/b/c创建包含子文件夹
  • rmdir: 删除文件夹(文件夹中有内容反而要用 rm 命令删除)。
  • mv: 修改文件名。

进程

  • ps: 查看进程(默认自己终端相关的)。unix风格-ef(够用了)。bsd风格alaglx。gnu风格--forest以树形展开。
  • top: 实时查看进程状态(windows 任务管理器)。可以按键操作,比如按 q 退出。(具体查看手册)。
  • htop: 更漂亮地查看进程状态(可能需要安装 htop)。
  • kill: 发送信号(可以用来结束进程,受权限影响)。kill -s INT 2032结束进程。后面会讲程序怎么处理发送过来的信号。-9强杀。
  • killall: 批量结束进程(运维用的比较多)。
  • df: 查看内存使用情况(用的不是太多)。-h更人性化(human)的显示。
  • du: 查看目录使用情况。-h更人性化(human)的显示。

apt-get 相关

  • apt-get install: 安装软件。
  • apt-get update: 更新资源(并没有下载包)
  • apt-get upgrade: 下载包更新。
  • dist-upgrade: 重大升级,相当于 windows7 升级到 windows8,基本不用。

查看文件

  • ls: 目录下有哪些文件。-l详细情况。-i文件节点。
  • stat: 更详细地查看文件情况。
  • file: 主要查看文件类型。

查看文件内容

  • cat: 快速查看文件内容(文件过大时,直接定位到最后)。
  • more: 查看文件内容(按屏幕划分进度查看,space 翻页,但不能往上翻)。
  • less: 查看文件内容(可往上翻,具体用 man 命令查看手册)。
  • tail: 查看最后10行内容(最常用的,查看日志)。tail -n 30 a.log查看最后30行。tail -f -n 3 a.log实时查看最后3行。
  • head: 查看前面10行内容(与 tail 一样,但没有 -f 选项)。
  • grep: 强大的功能。grep apple a.txt查看带有apple的行,还能加参数grep -c apple a.txt查看带apple的有几行。
  • 小技巧: 以上的命令还可以放在管道|后面,将其他程序的输出当做输入。比如:set | headcat a.txt | grep applegrep apple a.txt效果一样。

环境变量

  • echo: 查看(回声)。echo $PATH查看系统环境变量。echo $USER查看当前用户。cat $PATH让我理解了为什么用echo回声这个词(输出变量值)。
  • printenv: 查看全局环境变量(包含系统环境变量)。
  • set: 查看局部环境变量。
  • 设置自己的环境变量: test=goodapp(注意中间不能有空格,否则认为前面的是命令)。echo $test
  • export: 将局部环境变量导出。
  • unset: 撤销局部环境变量。

Shell 编程

  • 配置shell的东西: bash相关。vim ~/.bashrc.sh文件类似于 windows 中的.bat文件。
  • 例子: vim finder.sh#! /bin/sh换行who./finder.sh运行。
  • ./: 运行文件(前提是可运行的文件)。
  • chmod: 修改访问模式。
  • chown: 修改拥有者。

压缩包

  • zip: 压缩。(不常用)
  • unzip: 解压缩。(不常用)
  • tar: 结合参数。(使用较多)

Vim 命令

常用命令

  • :w: 保存文件。如果是新建文件,后面+空格+文件名
  • :q: 退出。后面+!强制退出。
  • i: 光标前插入。
  • a: 光标后插入。
  • I: 行首插入。
  • A: 行尾插入。
  • o: 向下插入一行。
  • O: 向上插入一行。
  • x: 删除单个字符。

比存活更进一步

  • 0: 移动到行首。
  • $: 移动到行尾。
  • ^: 移动到第一个可见字符。
  • g-: 移动到最后一个可见字符。
  • :set hlsearch: 设置高亮查找。
  • /: 向后查找。
  • ?: 向前查找。
  • n: 向后查找同一项。
  • N: 向前查找同一项。
  • p: 向下粘贴一行。
  • P: 向上粘贴一行。
  • yy: 复制一行。
  • u: 撤销。undo。
  • ctrl+r: 重做。(redo)
  • :x: 退出。自动识别是否需要存盘。
  • zz: 退出。自动识别是否需要存盘。比:x更快捷,目光无需转移(但好像18.04版本不起作用)。

又进一步

  • .: 重复上一个有改变文本的命令(默认的单行移动光标不算)(插入换行等命令都可以)。
  • N: 重复某个命令N次。2dd连续删除两行。
  • :set number: 打开行数显示。
  • NG: 跳至第N行。
  • :N: 跳至第N行。
  • gg: 跳至第一行。
  • G: 跳至最后一行。
  • w: 跳至下一个单词的开头。
  • e: 跳至下一个单词的结尾。
  • W: 跳至下一个字符串的开头。
  • E: 跳至下一个字符串的结尾。
  • %: 移动到匹配括号,包括(, {, [, ], }, )
  • 星号(*): 跳至下一个相同单词。
  • #: 跳至上一个相同单词。
  • v: 进入 visual 模式(可视化模式、选中),可以移动光标选择范围,运行命令是针对选项范围的。(yy、dd 这样的命令只需要输入一个就生效了。)
  • V: 整行选中的 visual 模式。

继续进步

  • fn: 跳至本行下一个 n 字符处。
  • tn: 跳至本行下一个 n 字符前(to)。
  • Fn: 跳至本行上一个 n 字符处。
  • Tn: 跳至本行上一个 n 字符后(to)。
  • J: 把下一行移动到行尾。
  • :vs: 左右分屏。ctrl+w w切换。
  • :sp: 上下分屏。
  • :hide: 隐藏分屏。
  • :b a.txt: 打开另一个文件的buffer(需要vim提前打开)。步骤:vim a.txt b.txt:vs:b b.txt
  • :e a.txt: 编辑另一个文件(不需要vim提前打开)

组合命令

  • dtn: 删除当前光标至 n 字符前(组合命令)。
  • vi": 选择两个""间不包含引号的内容。
  • va": 同上,但是包含引号。
  • vi): 选择()间内容,但是不包含()本身。
  • va): 同上,但是包含()本身。
  • ctrl+v: 进入块模式(windows下不支持)。
  • ctrl+n: 代码提示。
  • ctrl+p: 代码提示。
  • =: 自动给缩进。
  • vimtutor: 查看vim教程(在外面输入)。
  • dw: 删除一个单词。
  • bdw: 光标回退到单词开头,删除一个单词。

Scp 和 Vim 教程

  • git --version: 查看 git 版本。
  • scp --version: 查看 scp 版本。
  • scp: 安全拷贝。scp root@123.207.122.250:/root/a.txt .将远程文件拷贝到当前目录。
  • **ssh-keygen -t rsa:**不 用每次都输入密码。
  • .vimrc: vim 配置文件,在账号目录下生效。可自己创建:vim .vimrc,然后:set number,之后每次打开 vim 都会显示行号了。

课后练习知识点

  • **ADL:**参数相关查找(Argument Dependent Lookup),函数调用时会根据参数的作用域去查找函数定义。
  • grep:(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
  • 这里写图片描述

慕课网LinuxC学习笔记

Vim

概念
指令模式、编辑模式。
快捷键
  • i:光标前插入
  • a:光标后插入
  • I:行首插入
  • A:行尾插入
  • o:另起一行(下)
  • O:另起一行(上)
  • [n]dd:删除n行
  • p:粘贴
  • -------------------------分隔(以下的为:加指令)
  • w:保存
  • q:退出
  • sp:多窗口打开文件
  • ctrl+w+↓:跳转到下面的窗口
  • set nu:打开行号
  • ctrl+s:锁定
  • ctrl+q:解除锁定
  • ctrl+z:后台运行,jobs查看任务,fg %n恢复第n个任务。

C

理论
  • 程序和操作系统之间的沟通
命令
  • cc/gcc:编译成.out可执行文件。-c max.c 编译不包含mian函数的文件;-o max.o 命名文件
  • ./a.out:执行文件
  • vim Makefile:制作版本管理工具(暂理解跟maven一样)# 注释
  • make:一键编译,附带版本管理功能,没修改的.c文件不会编译。
  • &&:当前一条命令执行成功后(return 0),执行后一条命令。
  • echo $?:查看返回码
逐级理解
  1. 单个.c,一个函数
  2. 单个.c,两个函数
  3. 两个.c,gcc hello.c max.c。Warnning(隐式声明)
  4. 两个.c,hello包含max。gcc hello.c。√(编译太费时间)
  5. 两个.c,一个.o。gcc hello.c max.o。Warnning(不知道.o函数类型,参数类型)
  6. 两个.c,一个.o,一个.h。gcc hello.c。√(终极形态)
成就
  • 结合目前所学知识(加上网上借用的replace字符串替换函数),做成了一个提高工作效率,解决重复编码的小工具。

gdb调试

命令
  • gcc -v:查看
  • gdb -help:查看gdb,没有安装会提示:apt install gdb。
  • gcc -g main.c -o main.out:这样编译出来的out文件才支持调试模式。
  • gdb ./main.out:调试运行。
调试下
  • l:查看代码(list)
  • 回车:执行上一个输入。
  • start:开始调试(默认进入断电(第一行))
  • n:执行下一步(next)
  • s:进入函数(step)
  • p a:查看变量a的值(print)
  • bt:查看函数堆栈
  • f 1:切换到函数栈1
  • break n:在n行打断点
  • q:退出调试

参考自《C++游戏服务器开发入门到掌握》教学视频。

如有侵权,请联系本人删除。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值