VI编译器
1.三种模式:底行模式,命令模式,插入模式
命令模式:
1.1从命令模式切换到插入模式:
i:光标所在左侧输入 I:光标移动到所在行的最左边
o:光标移动到下一行(新的一行)O光标移动到上一行(新的一行)
a:光标移动到所在行的右测输入 A:光标移动到所在行的最右侧
1.2、复制:
行:nyy n>0
单词:nyw n>0
1.3、粘贴:p
1.4、撤销到上一步骤:u
1.5、恢复到上一步:Ctrl+r
1.6、替换:
替换一个字符:r
连续替换:R
1.7、定位行:
上:n-
下:n+
1.8、删除:删除字符nx(右) nX(左) n>0
删除行:ndd(删除n行) n,n1 dd(删除第n行到第n1行)
1.9、查找关键字:/key_value (向下查找key:n 向上查找key:N)
如:/h(查找文本中的h)
2.底行模式:
2.1、显示行号:set nu
2.2、取消行号:set nonu
Linux
1.读取文本内容:cat/more
cat读取所有内容
more读取一屏内容
2.文件对某“用户”操作的”权限“
权限:r可读read 4 w可写入write 2 x可执行excude 1
用户:创建u 群组g其他人o
修改权限:
chmod用户+、-权限1,用户+、-权限2 文件
-rw-r--r--. 1 LF LF 210 7月 7 10:27 msg.data
创建者权限r,w群组权限r其他人权限r
去掉创建者的读的权限
chmod u-r 文件
增加创建者的读的权限
chmod u+r 文件
删除/增加所有人权限
chmod a+/a-权限 文件
每个用户:4读2写1执行 4+2+1=7 4+0+0=4(只读) 4+2+0=6(可读写不能执行)
3.用户:(特点:1.多任务多用户操作)
3.1、切换用户:su 用户名
3.2、增加用户:useradd (root权限)
3.3、修改密码:passwd 密码 (passworold)
注:用户主目录(/home)
3.4为用户的命令分配root的权限
root为用户分配的部分权限都是记录在:/etc/sudoers
注:每次sudo时都回去 /etc/sudoers中检查该用户的分配策略
3.4.1为某机器某用户分配某种命令的权限
3.4.1.1为该用户所有机器的所有命令
用户名 ALL=(ALL) ALL
3.4.1.2为该用户分配所有机器的某条命令
用户名 ALL=(ALL) command
4.编译器:gcc
4.1gcc 源文件.c 注:如果没有指定可执行文件名,默认生a.out
4.2指定可执行文件名:
gcc 源文件.c -o 可执行文件名
执行程序:路径/程序名
5.c语言:
程序=算法+数据
5.1数据:基本数据类型(整型,字符型,浮点型)
常量:不可改变的量
变量可以改变的量
整型:
整型变量:十进制(0 ,1 -10) 八进制01010 十六进制0x
整型变量:可以改变的量
类型 int short long (4,2,8Byte)
有无符号:signed unsigned
定义变量:[有无付号]类型 变量名
注:如果没有标明符号,默认为有符号
字符:
1.字符常量: 'a'
普通字符:'a'
转义字符:'\n' '\'' '\t' '\\'
字符串常量:"abcd"
2.字符变量 :
3.ASSCII码:由于计算机只能识别0/1,只能由一串01组成的数字来代替字符
进制转换二进制0101转换为十进制
如下:0*2^3+1*2^2+0*2^1+0*2^0=5
其它进制类似
4、计算机的存储单元:存储信息的空间
最小的存储单元:bit (0或1) 10->1010 16bit
基本存储单元:Byte 1Byte=8bit
负数在计算机中以补码形式存放
举例:在有符号的情况下65535是超出存储范围的
65535
原码:1111111111111111
反码:0000000000000000(这里默认是有符号的故反码有差异为1000000000000000)
补码:1000000000000001
-1
原码:10000000000000001
反码:11111111111111110
补码:11111111111111111
-1的补码和65535的原码相同故在有符号时输出65535会输出-1;