学习C++前期准备
基于Linux下的环境搭建
1.linux系统介绍
linux系统介绍:
BCPL -> new B -> C -> UNIX -> Minix -> Linux
Linux 管理硬盘的能力很强,所以我们看到的只有一个分区
/ 根目录 所有的文件都储存在它下面
/bin 存储系统命令 ls
/dev 设备文件(一切皆文件)
/media 多媒体文件,U盘,光盘,共享文件夹
/proc 记录程序运行时的资源的使用情况
/sbin 储存超级管理员使用的系统命令
/sys 储存系统相关文件
/var 储存系统相关日志
/boot 储存系统启动相关的文件
/etc 储存各种软件相关的配置文件
/lib 储存各种库文件 静态库.a 共享库so
/mnt 与其他系统进行映射的目录
/root 超级管理员权限的目录
/selinux
/tmp 储存一些临时文件
/vmlinuz
/cdrom
/home 储存各个用户主目录
/lost+found
/opt 储存各种软件的目录
/run 储存一些临时文件
/srv 储存一些服务启动后的程序
/usr
.. 上级目录
. 本级目录
~ 用户主目录
注意:目录结构是倒悬结构,目录的切换只能上下,不能左右
*****************************************打字比较慢的同学练习:金山打字通***************
#####################################################
绝对路径和相对路径:
绝对路径:从根目录开始描述一个目录
相对路径:以当前目录(工作目录)开始描述一个路径
LInux系统命令:
常用命令:
ls 显示当前所在目录的文件
-a 显示当前目录的所有文件
-l 以详细的信息显示当前文件
cd 进入一个目录
clear 清理屏幕 或者 ctrl + l
pwd 获取当前目录的绝对路径
whoami 获取当前用户名
文件相关的命令:
注意:Linux下不是任何功能都对应以条命令
touch filename 创建文件
cat/more/head/tail 查看文件
cat:把文件的所有内容直接显示到终端,适合查看内容较少的文件
more:从文件开头开始显示文件内容,回车下一行,空格下一页,q退出
head:查看前十行的内容
tail:查看最后十行的内容
rm filename 删除文件
注意:不会经过回收站,直接删除
cp scr dest 复制文件
mv scr dest 移动文件
注意:可以重命名文件
目录相关的命令:
mkdir:创建目录
-q:递归创建多级目录
rmdir:删除目录
rm -rf:可以删除非空目录
cp -rf:复制目录
mv:移动目录,重命名目录
网络相关命令:
ifconfig:查看网络配置信息
windows下是ipconfig
修改IP地址和子网掩码:
sudo ifconfig ethn 10.0.xxx.xxx netmask 255.255.xxx
sudo ifconfig ethn up:启动网卡
sudo ifconfig ethn down:禁用网卡
ping ip地址/网址:测试网络是否连接
windows下:只测试4次,-t可以一直测试,ctrl+c退出
127.0.0.1 也叫本机地址,可以用来测试
ftp ip地址:输入用户名和密码
ls:
cd:
pwd:
put:上传文件
get:下载文件
采用明码传输,不够安全,一般公司内部使用
telnet ip地址:
采用明码传输,不够安全,一般公司内部使用
ssh 用户名@ip地址:
采用加密方式传输,比较安全
其他相关命令:
tar:压缩\解压文件
-zcvf:包名 压缩的文件名:压缩
-zxvf:包名 : 解压
chomd:更改文件权限
chomd mmm filename m=x(4)+w(2)+x(1)
mmm:用户;用户组员;其他人
chmod +/-权限 filename:所有用户一起改变
注意:目录一定要有执行权限才能进入
find 位置 条件 关键:查询文件
find ~ -name stdio.h
sudo reboot:重启系统
sudo init 0:关机
sudo apt-get install 软件名:安装软件
sudo apt-get update:更新软件源
sudo apt-get upgrade:更新系统
man key:查询帮助手册
分章节管理内容
1:系统命令
2:系统函数
3:标准库函数
附件:
2.linux环境安装步骤及环境前期配置
3.功能快捷键
Ubuntu系统使用小技巧:
Ctrl+alt+t:打开终端
Ctrl+l: 清理屏幕
Tab: 自动补全
up/down: 调出命令执行记录
Ctrl+Alt+方向键: 切换工作区
Alt+Tab: 切换任务
过滤:grep "关键字" 文件名
重定向、管道、通配符:
重定向:就是把命令的执行结果写入到文件中
cmd > filename 把命令的执行结果以清空的方式写入到文件中,如果文件不存在则新建。
cmd >> filename 把命令的执行结果以追加的方式写入到文件中,如果文件不存在则新建。
管道:相当于用一根管子把两个命令连接起来,一个命令的执行结果当做另一个命令的数据源
cmd1 | cmd2
find / | grep stdio.h
通配符:可以执行模糊命令
? 代表一个任意字符
* 代表任意多个字符
rm -rf / *
终端的配置文件:
打开 gedit ~/.bashrc 文件,在文件的末尾添加:
#
PS1='\u@\w\$ '
# 创建新目录并进入
mk()
{
mkdir $1 && cd $1
}
保存退出,关闭gedit
输入命令 source ~/.bashrc 使配置文件生效
简单的脚本文件:
脚本:由系统命令组成的带有执行权限的文本文件,执行脚本文件时被命令解释器读取并执行
chmod +x filename.sh touch a.c ...
./filename.sh
chmod +x filenamef gedit a.c ...
在文件夹中双击filenamef 运行
打字练习软件:typespeed
sudo apt-get install typespeed
注意:窗口80*24
vim编辑器:
在终端下采用纯键盘操作的一款文本编辑器,号称编辑器之神,可以升级(二次开发),可以扩展(安装插件)
基本用法:
进入vim:vim filename.c 如果文件存在则打开,不存在则创建
输入i:进入编辑模式,编写代码
保存退出:按Esc键回到正常模式,输入ZZ保存退出
三大模式:
正常模式:一般用于阅读文档,或者使用快捷键快速地修改文件
插入模式:一般用于编辑文档,输入内容
行底模式:一般用于配置vim,或者执行一些高级操作
模式切换:
正常 输入i-> 插入
插入 Esc -> 正常
正常 输入: -> 行底
行底 Esc -> 正常
注意:插入与行底不能直接切换
正常模式的操作:
光标移动:
h左 j下 k上 l右
gg 光标跳转到第一行
G 光标跳转到最后一行
n回车 光标往下跳转n行
n- 光标往上跳转n行
vim filename +n 进入文件后光标跳转到第n行
home 光标跳转行首
end 光标跳转行尾
pgup 向上翻一页
pgdn 向下翻一页
删除代码操作:
x 删除一个字符
nx 删除n个字符
dw/de 删除一个连续的字符串,区别是删不删除后面的空格
d$ 从光标处删除到行尾
d^ 从光标处删除到行首
dd 删除光标所在的一行
ndd 删除n行
dgg 删除到首行
dG 删除到尾行
复制代码操作:
yy 复制一行
nyy 复制n行
p 粘贴到光标的下一行
P 粘贴到光标的上一行
移动代码:
删除的内容会放在粘贴板上,使用p\P可以达到移动的效果
xp 交换两个字符
替换代码:
r 替换一个字符
cw 替换一个单词
R 进入替换模式
撤销代码:
u 撤销上一次操作
U 撤销整行的所有操作
Ctrl+r 取消撤销操作
进入插入模式的操作:
i 从光标处进入插入模式
I 从光标所在一行的行首进入插入模式
a 从光标下一个字符进入插入模式
A 从光标所在一行的行尾进入插入模式
o 从当前行下面插入一行空白行,进入插入模式
O 从当前行上面插入一行空白行,进入插入模式
插入模式下的操作:
Ctrl+p/n 自动补全 取变量名、函数名时尽量开头不同
Ctrl+i 自动缩进,相当于Tab键
Ctrl+j/m 相当于回车键
Ctrl+c 相当于Esc键
自定义按键:
Ctrl+z:保存退出功能
Ctrl+x:保存并编译代码
Ctrl+p:自动添加头文件和主函数
行底模式下的操作:
w 保存文档
q 退出文档
wq 保存并退出
q! 强制退出
x 保存并退出
X 加密文档 输入两次密码,再保存退出就加密了
解密: 行底模式输入 set key=
注意:ZZ只能保存文件内容,不保存文件属性,但wq保存内容和属性
!cmd 在文件中执行系统命令,并返回 例如:!ls
/key 在文件中查找关键词key ,n向下查找,N向上查找
%s/old/new 全部替换,把old关键词替换成new
set nu 设置显示行号
set nonu 设置隐藏行号
>n n行代码整体向右缩进一次
<n n行代码整体向左缩进一次
注意:在行底模式下,对vim的设置只是临时有效,如果想要长期有效需要把这些配置写入到vim的配置文件(~./vimrc)中,并保存
vim ~/.vimrc
for()
{
}
学习vim的建议:
1、适可而止
2、大概需要两周适应
3、Ubuntu自带的vim手册 vimtutor
更多推荐
学习C++前期准备
发布评论