Linux常用指令总结及编程操作

常用指令

系统操作

sudo 			#以其他身份执行命令,默认root
date
cal 2020
clear			#清屏
shutdown -h now #关闭系统
init 0 
telinit 0 
shutdown -r now #重启
reboot 			#重启
logout 			#注销 

目录操作

cd xxx		#在当前目录下进入xxx目录
			#蓝色为文件夹,白色为文件,绿色为可执行文件
cd ..		#返回上一目录
cd ../.. 	#返回上两级目录
cd -		#返回上次所在目录
pwd			#查看当前路径

查看目录

ls			#显示当前目录中的文件
ls -l		#显示当前目录文件机信息
ls -a		#显示所有文件(包括隐藏)

创建

touch xxx.xxx	#当前目录下创建xxx.xxx文件
mkdir xxx		#在当前目录下创建xxx目录(-p确保文件已存在)

复制

cp xxx target  		#将xxx复制到target目录(不包括目录),指定绝对目录
cp -a xxx target	#将xxx的所有文件及目录复制到target

重命名和移动

mv xxx yyy			 #将当前目录下的xxx文件重命名为yyy
mv xxx source targrt #将xxx文件从source目录移动到target目录,向外移指明绝对目录

删除操作

rm xxx			#删除当前目录下的xxx(目录非空时无法删除)
rmdir xxx		#删除当前目录下的xxx目录
rm -rf xxx		#删除xxx目录及目录下的内容
				#指定绝对目录

APT软件工具

apt-get install xxx #安装或更新一个deb包 
apt-get update 		#升级列表中的软件包 
apt-get upgrade 	#升级所有已安装的软件 

Vim操作

打开文件

vim xxx				#用vim打开当前目录下的xxx文件,若没有则创建

一般模式
通过vim打开自动进入一般模式,此模式下可以查看,复制粘贴和删除
ctrl+f 向下一页
ctrl+b 向上一页
home,end 移动到行首或行末
G 移动到最后一行
nG 移动到第n行
gg移动到最后一行
x删除光标后一个字符,X删除光标后,nx删除光标后n个字符
dd删除光标所在整行
yy复制整行
p复制内容在下一行粘贴,P上一行粘贴

/xxx 向下查找xxx,n上一个重复操作(继续向下查找)
?xxx 向上查找xxx,N继续向上查找

编辑模式
在一般模式下按下i,o,a,r任意字母进入编辑模式
此时可以编辑代码
按下Esc退出编辑模式回到一般模式

命令行模式
按下: / ? 可进入命令行模式,使用命令行代码进行保存退出等操作

:w 				#保存
:q 				#退出
:wq				#保存并退出
ZZ(shift+zz) 
:set nu 		#显示行号
:set nonu 		#取消显示行号

编译文件

使用g++命令

g++ xxx.xxx				#默认编译方式,生成a.out
g++ -std=c++14 xxx.xxx	#指定使用的编译方式
g++ xxx.xxx -o yyy		#指定得到运行文件的名称

cmake操作

虽然任何一个程序都可以使用g++命令进行编译,但当程序规模变得很大,存在多个文件夹,源文件,类,个文件之间还存在依赖关系,此时使用g++指令就会变得非常复杂,此时我们便选择使用cmake来管理项目

在一个cmake工程中,我们使用cmake命令生成makefile文件,再用make命令根据makefile的内容编译整个工程,makefile可理解为系统自动生成的编译指令

首先在项目目录下建立CMakeLists.txt,用于告诉cmake要在此目录下做的事

# 声明要求的 cmake 最低版本
cmake_minimum_required( VERSION 2.8 )
# 声明一个 cmake 工程,括号内为工程的名称
project( HelloWorld )
# 添加一个可执行程序,括号内为可执行程序名,加入编译的文件名
# 语法:add_executable( 程序名 源代码文件 )
add_executable( hello helloWorld.cpp )

上述语法必须遵从

编译步骤

cmake .		#分析该工程(当前目录),此时会生成中间文件如makefile
make		#对工程进行编译
			#通过后,在该目录下就得到CMakeLists.txt中声明的hello文件
./hello		#运行

实际上,完成的程序我们是不想保留中间文件的,所以一般我们在项目目录下创建一个build文件存储中间文件,完成后删除build文件再发布源码即可

mkdir build
cd build
cmake ..	#对上一目录分析
make

cmake下使用c++的库

在c++的程序编译中,只有带main函数的文件才会被编译成可执行文件另一些文件只会被打包成库,供其他程序调用,c++的库称为library

一个库可以是许多算法,程序的集合,需要头文件(.h)和源文件(.cpp)
Linux中的库分静态库(xxx.a)共享库(xxx.so),静态库每次调用都会生成一个副本,共享库只有一个副本,更节省空间

add_library( hlib hello_lib.cpp )			#静态库
add_library( hlib SHARED hello_lib.cpp )	#共享库

编译后会生成libhlib.a或libhlib.so文件,就是得到的库

要使得编译的可执行文件能跟库链接,需在CMakeLists.txt添加

add_executable( useHello useHello.cpp )
target_link_libraries( useHello hlib )		#使useHello与hlib链接

再使用cmake和make命令即可

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jason 20

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值