vi编辑器
vi编辑器的三种模式:
命令模式:1,从命令模式切换至插入模式
i : 光标所在左侧输入 I : 光标所在行最左侧输入
0 : 光标移动到下一行(新的一行) O : 光标移动的上一行(新的一行)
a : 光标移动到所在行的右侧 A : 光标所在行的最右侧
2,复制 :
行:nyy n>0
单词:nyw n>0
3,粘贴:p
np : 粘贴n遍
4,撤销到上一步:u
撤销到上n步 : nu;
5,恢复到上一步:ctrl+r
6,替换:(在命令模式下)
替换一个字符: r
连续替换 : R
7,定位行:
可以在命令和底行模式使用。
向下定位: n+
向上定位: n-
8,删除:
删除字符 : nx(向右删除n个字符) nX(向左删除n个字符)
删除行 : ndd(向下删除n行) dd(删除当前行) n,n1 dd(删除n至n1行,光标需在n行处)
9,查找关键字:
/key_value (向下查找key:n 向上查找key:N)
10,全选:ggVG
11, 移动光标:↑ 向上移动光标 k
↓ 向下移动光标 j
← 向左移动光标 h
→ 向右移动光标 l
--ctrl + f 向下翻页(front)
--ctrl + b 向上翻页(back)
--ctrl + d 向下翻半页(down)
--ctrl + u 向上翻半页(up)
shitf + ↑ / ↓ [PgUp] , [PgDn]也有翻页功能
行间操作
跳转到最前面: gg
跳转到文本末尾 : $ 【end】
跳转到文本首 : ^ 【home】
底行模式 :
1,显示行号:set nu
2,取消行号:set nonu
3,保存 : w
4,退出 : q(系统提示保存)
5,保存退出 : wq
6,强制退出 : q! (对修改不做保存)
关于用户: (特点 : 多任务(线程)多用户操作)
1,切换用户 : su 用户名
2,增加用户 : useradd 用户名 (root权限)
3,修改密码 : passwd 密码
对于新建的用户,只有root权限才可以修改/添加新密码 ,用户本身可以修改自己的密码。
注:用户主目录(/home)
为用户的命令分配root权限:
root 为用户分配的部分权限都是记录在 : /etc/sudoers
注 : 每次sudo时都会去/etc/sudoers 中检查该用户的被分配的权限
为该用户分配所有机器的所有命令
用户名 ALL=(ALL) ALL
为该用户分配所有机器的某条命令
用户名 ALL=(ALL) command
6、编译器:将指定的语言翻译成机器语言
语言的发展历史:
1、机器语言:由0/1组成的指令 (计算机可以直接识别)
2、汇编指令:用助记来替代二进制指令
3、高级语言:用自然的语言来与机器沟通
Linux的编译器:gcc/g++/QT
gcc编译器:是一款优秀(1、编译语言多,2、质量高)的编译器
源程序:用高级语言编写的程序的文件
c语言: .c
c++语言:.cpp .C
java: .java
OC : .oc
编译:
1、 gcc 源程序.c 注:如果没有指定可执行文件名,默认生成a.out
2、指定可执行文件名:
gcc 源程序.c -o 可执行文件名
执行程序:路径/程序名
【3、编译过程:(函数) 】
C语言:是高级语言中的一种,是面向过程语言。(强语言)
程序=算法+数据
1、数据:基本数据类型(整型,字符整型,浮点型)
常量:不可改变的量
变量:可以改变的量
整型:
整型常量:十进制(0 -1 9 ) 八进制01010 16进制0x 【0 1 2,...,9,a,b,c,d,e,f】
整型变量:可以改变的量
类型:int short long (4 2 8Byte)
有无符号:signed unsigned (某变量分配给有符号时,原码默认第一项为符号项,若首项为一则符号为负,反之为正)
定义变量:[有无符号] 类型 变量名; (分配存储空间)
注:如果没有标名有无符号,则默认为有符号位
[signed] short a;
字符:
1.字符常量:'a'
普通字符:'a'
转义字符:'\n' '\'' '\t' '\\'(代表\)
字符串常量:"abcdef"
2.字符变量:
3.ASCII码:由于计算机只能识别0/1,只能由一串01组成的来替代字符
3、各进制转换为十进制:
十进制的权:10
二进制的权:2 1010---》
八进制的权:8
4、计算机的存储单元:存储信息的空间
最小的存储单元:bit (0或1) 10->1010 16bit
基本存储单元:Byte 1Byte=8bit
其他: 1Kb=1024Byte=2^10Byte
1MB=1024KB
1GB=1024MB
1TB=1024GB
原码(二进制):10-》 0000 1010 -1-》1000 0001
反码 10-》 1111 0101 (原码取反)-1-》 1111 1110
补码 10-》 1111 0110 (反码+1) -1-》 1111 1111
运算符:
1、求某数据类型或者变量的存储空间长度: sizeof 注:以Byte为单位
2、赋值运算符:
左值=右值; 注:左值必须为变量