Linux&vim(C++篇),常见实用命令合集

目录相关命令

cd //返回根目录
cd … //返回上级目录
cd demo/test //进入demo/test文件夹

文件文件夹操作命令

touch test1 test2 //新建test1、test2文件

ls //列出该目录下所有文件
ls -l //列出该目录下所有文件以及属性

psd //查看当前所在目录

rm test1 //删除test1文件
mkdir test //新建test文件夹
rmdir test //删除test空文件夹
rm -rf test //删除test文件夹和文件夹中的文件

mv test1/txt1 test2/txt2 //剪切某个文件夹下的文件到另一个文件夹
cp test1/txt1 test2/txt2 //复制某个文件夹下的文件到另一个文件夹

其他命令

Tab(或者两次Tab) //终端自动补全(文件名等等)

ip addr //查看本机ip地址
ctrl+d //关闭当前终端
ctrl+shift+n //打开新终端
netstat -anp |grep 80 //查看80端口是否被占用
kill -9 进程ID //杀死某个指定的进程
ctrl+c //退出运行中的代码
wget ip:port //查看端口是否可用
wget “http://xxxx” //模拟get请求

vim基本操作

vim一共有三种模式,命令模式,插入模式,编辑模式
刚进入的时候默认为命令模式。
命令模式下按 i 进入插入模式,ESC返回命令模式;
命令模式下按 :进入编辑模式,ESC返回命令模式;

编辑模式下:
保存:w
未修改退出:q
保存并退出:wq
不保存退出:q!
撤销:Ctrl+u

命令模式下:
u //撤销
ctrl+r //恢复撤销

v或者V //从当前开始复制
y //复制结束位置
p //粘贴到当前位置

dd //剪切当前行
n dd //剪切当前行以下n行
p //粘贴

C++代码运行过程

从代码到运行一共有四个步骤:
hello.cpp
预处理(处理头文件和宏定义)
hello.i
编译(检查语法是否有错误,转化成汇编语言)
hello.s
汇编(将汇编文件转化成二进制可执行文件)
hello.o
链接(将多个可执行文件链接起来,比如某个文件用了其他文件(自己写的+库函数)的函数或者变量)
hello

Linux下gcc和g++如何编译,以及makefile文件编写

gcc是c语言编译器,g++是C++编译器

  1. g++ test.cpp,默认该目录下产生a.out可执行文件
  2. g++ test.cpp -o 生成文件名,比如g++ test.cpp -o test.o(或者g++ -o test.o test.cpp),生成test.o文件
  3. g++ -E test.cpp -o test.i,预编译
  4. g++ -S test.cpp -o test.s 只编译不汇编
  5. g++ -c test.cpp -o test.o 编译汇编不链接

使用gdb调试程序

安装gdb:sudo apt-get install gdb

普通调试步骤如下:
1.g++ -g test.cpp默认生成a.out文件(需要编译通过)
2. gdb a.out进入调试模式,输入run开始调试
3. 输入quit(或者q)退出gdb

设断点调试:
gdb a.out进入调试模式后,可以按下列方式进行调试

break main //或者 “b main” ,通过函数名指定断点位置,在main函数处设置断点
b test.cpp:10 //第二种设置断点的方式,在test.cpp的第十行设置断点
run //或者(r),执行设置断点后的程序,将会停在main处
n //next,执行下一行
print i //或者 “p i” , 显示变量i
info local //输出所有本地变量
enter //回车键默认输入上一个命令
list //或者“l”,显示当前执行代码周围的代码
disable //清除之前设置的断点
c //continue,直接运行到程序结尾,还在gdb调试模式中

遇到过的问题

  1. 很多时候需要root权限才能操作,所以需要增加root权限
    sudo passwd root
    输入原密码,再输入新密码
    接下来输入su,如下图所示,就有了root权限(su 用户名 即可恢复普通用户)
    在这里插入图片描述

  2. 问题:Linux总是绑定80端口失败
    原因:在Linux上小于1024的端口需要权限才能绑定
    解决方案:用root权限运行程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值