一般来说,我们ubuntu系统自带的文本编辑器是vi,而红帽子自带的可能更新到了vim,vim是由vi发展而来的,是升级版本,vim的兼容性更强,功能更强大。
怎么区分自己电脑安装的是vi还是vim,可以通过方向键区分,vim的方向键可以用,vi用不了。
vim则可以说是开发者非常好用的一个工具。
vim官网:www.vim.org
如果自己电脑没有安装vim,那么在终端上输入vim,电脑会自动识别没有安装,然后界面上会显示如何去安装vim的命令:
vim将使用场景分为三种模式:
i | //进入到当前光标位置的前面,开始插入 |
---|---|
a | //进入到当前光标位置的后面,开始插入 |
I | //进入到当前光标所在行的行头,开始插入 |
A | //进入到当前光标所在行的行尾,开始插入 |
o | //切换到当前光标所在行的下一行,开始插入 |
O | //切换到当前光标所在行的上一行,开始插入 |
x | //删除当前光标所在位置的字符 |
注意:上边这6个是在记不清,只记住i就可以,通过i进入到插入模式,然后方向键挪动也是可以的,当然都能记住是最好的
“:” | //对文本的设置或者保存工作 |
---|---|
w | 只保存 |
wq | 保存并退出 |
x | 等同于wq |
q | 只退出 |
q! | 强制退出(不保存退出) |
w newfile | 另存为 |
set nu | //显示行号 |
set nonu | //不显示行号 |
set hlsearch | //显示搜索结果高亮 |
set nohlsearch | //不显示搜索结果高亮 |
“/” | //对文本进行全文向下搜索字符串“string” 例如/wxy(区分大小写) |
“?” | //对文本进行全文向上搜索字符串“string” 例如/wxy(区分大小写) |
如果搜索到之后,我们还想接着向下找下一个:可以使用命令:n //表示重复上一次的搜索命令
dd | //删除当前行 |
---|---|
n dd | //删除从光标开始向下的n行数据 |
yy | //拷贝当前行 |
n yy | //拷贝从光标开始向下的n行数据 |
p | //粘贴 |
u | //撤销上一步操作 |
ctrl + r | //恢复上一步撤销的操作 |
r | //替换一个字符 |
shift + 6 | //将光标移动到当前行的行头 |
shift +4 | //将光标移动到当前行的行尾 |
gg | //将光标移动到整个文本的第一行 |
G(shift+g) | // 将光标移动到整个文本的最后一行 |
n + G(n shift+g) | //将光标移动第n行 |
d n G | //删除光标到第n行的内容 |
y n G | //拷贝光标到第n行的内容 |
H | //移动到当前屏幕的第一行 |
M | //移动到当前屏幕的中间行 |
L | //移动到当前屏幕的末尾行 |
“.” | //重复上一步操作 |
所在位置:/etc/vim/vimrc
1.切换到root用户
2.打开vim的配置文件vimrc
3.在vimrc 文件的末尾 添加自己想添加的命令(建议赋值粘贴,或者仔细的敲):
set nu
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set smartindent
set hlsearch
4.通过Esc从插入模式退出到命令模式,然后通过末行模式:wq(:x)保存退出
5.通过命令exit 退出root用户
为什么不使用vim去查看,vim可以查看,但是有修改的风险,所以如果只向查看的话,尽量避免使用
vim,而是使用其他专门用于查看的命令。
命令如下:cat > A.txt(注意:这里执行起来,首先A.txt会被清空)
示例如下
注意:“>” 会对原文件清空,然后再从头开始吸入(使用的时候一定要清楚源文件内容还需不需要
注意:“>>” 是将光标先重新定向到文件的末尾,然后再写入数据,所以原先的数据不会丢失
当文件的内容超出屏幕的显示范围,则可以使用more命令,分屏显示文件内容。
示例如下:(more /etc/vim/vimrc)
进入到查看界面,这时可以通过空格(一次跳转的多)或者回车(一次跳转的少)的方式向下查看剩余数据。
如果不想接着向下看了,则可以按q退出。
注意:红帽子系统是可以通过上下键查看数据的,ubuntu对于more上下键不支持。
区别:
进入到查看界面,这时可以通过空格(一次跳转的多)或者回车(一次跳转的少)的方式向下查看剩余数据。
如果不想接着向下看了,则可以按q退出
显示文件前n行的内容,使用方式 head -num filename
示例如下:
注意:不写num行数参数,则默认显示10行*
tail这个命令可以用来查看日志文件,因为日志文件一般来说只去查看近期产生的记录数据,也就是查看日志文件的末尾
例如通过命令:tail -f filename(-f follow 实时跟踪显示文件末尾的信息)重启一个终端,通过命令cat >> filename,实时输入数据,则看tail -f 界面可不可以同步显示
linux是一个多用户多任务的操作系统,所以需要对于如果管理用户有了解
root:超级管理员
存储位置: /etc/passwd
每行用户基本信息都与“:”作为分隔符,将其共划分成7个段,每一个段代表的含义如下:
用户名 | 密码 | UID | GID | 描述性信息 | 主目录 | 默认的shell |
---|---|---|---|---|---|---|
root | x | 0 | 0 | 对于用户的简单描述 | /root | /bin/bash |
存储位置:/etc/shadow
格式:用户名: 加 密 算 法 的 i d 号 加密算法的id号 加密算法的id号加密密钥$密文
有兴趣的话可以简单了解一下加密算法:MD5
创建新用户的同时,应该会在/home下创建一个该用户的家目录,ubuntu系统不会自动添加,而红帽子系统会自动添加,那么ubuntu系统可以用户手动添加这个家目录,或者通过图形化界面添加新用户
添加新用户命令:useradd user_name(或者使用adduser,adduser更傻瓜式创建)
注意:添加新用户需要root权限
通过passwd命令修改
例如:passwd stu(修改普通用户的密码)
示例如下:
注意:如果修改后的密码过于简单,系统可能通过不了,如果非要使用简单密码(例如123456),则切换到root权限,强行设置简单密码限
使用命令userdel删除用户
注意:
显示当前终端上有关的进程信息
结束或者挂起一个进程
进程放到前台运行:路径+可执行文件名
进程发到后台运行:路径+可执行文件名 + &
ctrl + d | 结束输入 |
---|---|
ctrl + c | 结束终端上的进程 |
ctrl + z | 挂机进程 |
ctrl + l | 清屏 |
将后台运行的任务或者挂起的任务挪动到前台执行
命令格式:fg %任务号
之前我们说对一个源文件进行编译,其实上述可以细分为四个步骤,预处理(预编译),编译,汇编,链接
命令如下:
(1)预处理 (-E(大写))
gcc -E main.c -o mian.i
(2)编译(-S(大写))
gcc -S main.i -o mian.s
(3)汇编(-c(小写))
gcc -c main.s -o main.o
(4)链接(-o 指定生成的文件名)
gcc main.o*
编译后生成的可执行文件,例如a.out可以用过./a.out去启动,但是如果不加“./”,想让a.out像pwd,ls一样去执行,则显示错误,说未找到命令,这时怎么办?
我们发现,pwd,ls可以直接执行,因为他们在标准路径下有备份,那么我们如果也将a.out放到标准路径下/usr/bin,是否可以达到相同的效果?
上述一般“.c”文件是通过gcc去编译,而“.cpp”文件使用过g++,那么“.cpp”有几种方法编译:
第一种:通过g++进行编译
那么命令如下:g++ main.c