Linux基础(vim)
1.源文件到可执行文件经历了什么?
gcc -E main.c -o(输出) main.i
第一阶段:预处理:加载了include文件
gcc -S main.i -o main.s
第二阶段:编译(编译成汇编文件)
gcc -c main.s -o main.o
第三阶段:汇编(汇编成二进制文件)
gcc main.o (-o hello[生成的文件]可加不可家)
第四阶段:链接(链接函数库)
2.Linux常用操作:
C语言最早是论文级别的,各个公司实现了一些标准,一些版本的差异,厂商(微软,Gnu...),还有不同的平台有些差异。
2.1 内核版本:
centOS和ubuntu都是linux内核。
fdisk -l:查看插入的优盘,(有权限,必须是root)(要设置虚拟机usb控制器中usb的兼容性3.0即可)。
linux的命令:
ls -l /home:查看home下的详细文件
ls /home:查看home文件下的文件
su:切换用户,切换的普通用户不用密码,切换到管理员root需要密码并且显示唯一的标识#。
清屏:clear(c+l);
pwd:显示当前目录路径,描写路径时Tab补全。
mkdir:新建文件夹
./ :当前路径下(一般省略)
cd .. : 上一级文件
相对路径和绝对路径:
相对路径:相对于当前文件的路径。
绝对路径:相对于根目录文件的路径。
文件操作:
touch: 新建文(可称成多个)
mkdir: 新建文件(..)
rm -rf: 删除(-f:foirce,-r:recursive)
mv : 剪切文件(后面根文件和路径)
cp -r(recursive递归包括所有的) : 文件夹的拷贝
mv A B:修改文件A为文件B
cp A B:备份(cp config config.bak)假如备份后修改一个文件,出错无法还原后,则用备份的覆盖修改的。(cp config.bak config)
cat A : 直接打印到此文件中
head (-n行数) A : 查看文章头
tail (-n行数) A : 查看文章尾
less,move
find (路径) -name A :查找具体文件
用户管理:
su :切换用户(家目录,root有专门的家“root/”,其他的用户家目录“/home/userName”,cd 空可查看。)
useradd A : 添加用户(必须是root用户)
passwd B : 给用户添加密码
userdel A : 删除一个用户(但是home文件夹下依然有这个用户--- userdel -r A:全部删掉)没删除的原因,没切换一个用户后要让切换的用户exist退出,不然占用一个终端。
userdel guilin : 查看终端
网络命令:
ifconfig : 查看自己的网络
双方ping命令ping通,说明网络是通的。说明网络是通的。
set service network restart : 网络重启。
setup 重设置网络相关配置ip等
service network restart : 网络重启
service iptables(防火墙) status :查看防火墙
service iptables stop : 关闭防火墙
chkconfig iptables off : 禁用防火墙
sestatus : 查看所有的防火墙状态
setenforce 0 : SELinux防火墙的关闭
vim文本编辑器
在命令行中vim回车即可打开vim编辑器
shift+: : 进入末行执行命令模式
:q : 退出
:w : 保存
:wq : 保存退出
:w 名字 :另存为
重点:命令模式
vim hello.c(相当于新建一个hello.c文件)并且打开,但是如果关闭,路径下是没有此文件的,要保存。
vimtutor工具:vimtutor -g zh(中文版vim介绍 )
删除:光标在字符上按住x.
末尾添加:shift+A移动到末尾并且为处插入模式。按0回到行首
dw : 删除光标的单词
d$ : 删除光标以后的一行
de : 和dw一样只是保留了空格
2dw : 删除2个单词
2w/e : 光标向后的两个单词
u : 回退
U : 整行还原
(n)dd : (剪切)删除光标的一行
ctr + r : 撤销之后再撤销(u无法代替)
dd + p : 剪切复制
dd + yy : 复制
r : 光标所在的字符按r修改(单个字符替换)
R : 光标后的整个替换
c(n)w/e/$ : 在修改的单词,删除单词直接进入插入模式
gg : 本文开头
shift+g : 文章末尾
(500)+gg : 调到固定的行
搜索类命名:
/查找的单词 + n : 往下跳,shift+n 向上
配对括号类:
shift + % : 可出现配对的括号
替换类命令:
:s/thee/the/g : 光标所在的行的thee替换为the.
n1,n2 s/thee/the/g : n1,n2行中的thee替换为the
:%s/thee/the/g : 改变每个文件中的每个匹配单词
:%s/thee/the/gc : 找到整个文件中所要替换的每个匹配的单词,并且对每个单词提示是否替换。
vim内执行外部命令
:ls,touch aa.c ...等回车重新回到编辑器。
打开类命令:
o : 在当前行的下一行插入
shift + O :上一行
a : 和i一样在单词的后面
e : 每个单词的后面插入
R : 对一个单词继续进行替换
复制类命令:
yy + p : 复制一行黏贴
v(可视模式)+方向键(选中)+ y到要复制的地方j+g,在输入p即可复制粘贴。
yw : 复制一个单词
vimrc配置命令:
esc+i : 的使用,相当于向前进格。
esc,esc+i,o,shift+O
已简单的hello world为例
#include<>,时esc+i即可进入尖括弧里插入操作,int main() esc,o,即可进如此行的下一行插入操作,{},esc,i,回车打括弧的分行,tab键缩进...
:set 设置的只是在此文件编辑器中使用
vimrc全局配置;...
代码格式化:gg shfit + v(行选),shfit + g(全选模式) , =
Linux基础(vim)的更多相关文章
- Linux基础-vim编辑器
使用vi编辑器编辑文件/1.txt进入编辑模式写入内容“hello world” 命令行模式输入i,进入编辑模式 写入HelloWorld,按ESC进入命令行模式,输入:进入扩展模式输入wq保存退出 ...
- linux 基础 VIM 编辑器
- 【linux基础】vim多窗口功能
前言 实现多个文档文件在同一个屏幕上显示多个窗口. 实现过程 在指令列模式输入『:sp {filename}』即可!那个 filename 可有可无, 如果想要在新窗口启动另一个文件,filename ...
- 【Linux基础】vim如何显示文件名称
前言 使用vim的时候有时候需要查看文件路径或者名称,本文对此进行记录. 操作过程 一般模式下 method1: :f method2: 快捷键CTRL+g/G(大小写均可); method3: 查看 ...
- Linux基础练习题(二)
Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...
- Linux课程实践一:Linux基础实践(SSH)
一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...
- Linux基础3(文件权限)
文件权限 1.普通权限 (登陆用户对文件或目录的读写执行的权限) 普通权限对管理员用户无效 文件和目录 都有4中类型的用户u 所有者 : 文件.目录的创建者g 所属组 : 文件.目录属于的用户组o 其 ...
- Linux课程实践一:Linux基础实践(基础操作)
一.软件源维护 1. 基本操作 (1)查看源列表 sudo vim /etc/apt/sources.list deb:二进制软件安装包 deb-src:源码包 (2)备份软件源列表 sudo cp ...
- 实践一:Linux基础实践
一.Linux基础实践 1.1 1. 掌握软件源的维护方法,配置系统使用软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 这部分内容在许多学长学姐的报告里都有很详细的讲解,我在此就不赘述 ...
随机推荐
- pandas学习系列(一):时间序列
最近参加了天池的一个机场航空人流量预测大赛,需要用时间序列来预测,因此开始使用python的pandas库 发现pandas库功能的确很强大,因此在这记录我的pandas学习之路. # -*- cod ...
- 洛谷 P3902 递增
P3902 递增 题目描述 现有数列A_1,A_2,\cdots,A_NA1,A2,⋯,AN,修改最少的数字,使得数列严格单调递增. 输入输出格式 输入格式: 第1 行,1 个整数N 第2 行, ...
- HBase为什么快 HBase原理。 HBase几个问题
背景色表示可以自己做实验搞定 1 模拟一组数据 1.2.3.4.5.6.7.8.9.10 1 入 限定符 'one' 2 入 'two' 3 入 'three' 4 f ...
- KVM硬件辅助虚拟化之 EPT in Nested Virtualization
在嵌套虚拟环境(Nested Virtualization)下,执行在hypervisor上的Virtual Machine仍能够作为hypervisor去执行其他的Virutal Machine,而 ...
- 欢迎各位技术牛人增加Swift QQ群:343549891
急招:五年以上Swift开发经验,24个月工资.30天年假.配司机专车. 欢迎各位技术牛人增加Swift 敏捷大拇指 官方QQ群1: 报上"来自CSDN"就可以.谢谢! 訪问 大拇 ...
- Oracle数据库备份恢复,巡检须要关注的对象设置以及相关恢复概述
数据库备份恢复.巡检须要关注的对象设置: 1.数据库名称,以及DBID: --dbid在v$database中 SYS@ORCL>select dbid,name from v$dat ...
- vim 脚本之快速打印log
" zsl_log.vim " Version: 1.0 if exists("g:zsl_loaded_log") || &cp || v:versi ...
- python音频处理相关类库
一.eyeD3 以下是eyed3的官方介绍 eyeD3 is a Python tool for working with audio files, specifically mp3 files co ...
- uni-app 地图初用 map
一.uni-app 地图初用 map 代码如下: <template> <view> <!-- <page-head :title="title" ...
- shell中IF的用法介绍
一.语法结构 if [ condition ] then statements [elif condition then statements. ..] [else ...