vi的编辑器
1.三种模式:底行模式,插入模式,命令模式
1.命令模式:
1.从命令切换到插入模式
I/i 光标移动到最左/左边
A/a 光标移动到最右/右边
O/o 光标移动到下/上一行
2.复制:
行:n yy n>0
单词:n yw n>0
3.粘贴:p
4.撤销到上一步骤:u (相当于左箭头)
5.恢复到上一步:ctrl+r (相当于右箭头)
6.替换:
替换一个字符:r
连续替换:R
7.定位行:
向上移动:n-
向下移动:n+
8.删除:
删除字符:nx(向右删除) nX(向左删除)
删除行:ndd(向下删除n行) n,n1 dd(删除n到n1之间的行)
9.查找关键字:/key (向下查找key:按n 向上查找key:按N)
2.底行模式:
1.显示行号:set nu
2.取消行号:set nonu
3.保存(写入write):w
4.退出(quit):q(q!强制退出)
5.保存退出:wq
3.插入模式
按esc键,从插入模式退出到命令模式
2.读取文本文档的内容:cat/more
3.文件对某“用户“操作的“权限”:
权限: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
去掉创建者的读的权限
chmod u-r,g-r,o-r 文件
增加权限:
chmod u+r,g+r,o+r 文件
增加/删除所有人:
chmod a+/-权限 文件
每个用户:4读2写1执行
chmod nnn 文件 (0<=n<=7)
4.虚拟器用户:(特点:多任务(进程)多用户操作)
1.切换用户:su 用户名
2.增加用户:useradd (sudo useradd 用户名) (root权限)
3.修改密码:passwd 密码 (sudo passwd 用户名) (passworld)
注:用户主目录(/home)
5.为用户的命令分配root的权限:
root为用户分配的权限都是记录在:/etc/sudoers
注:每次sudo时都会去/etc/sudoers中检查该用户的分配策略
1.为某机器上某用户分配某种命令的权限
1.1为该用户分配所有机器的所有命令
用户名 ALL=(ALL) ALL
su root=》vi /etc/sudoers=》
(进去root命令里面)(查看权限)
1.2为该用户分配所有机器的某种命令
用户名 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.执行文件:路径/程序名(./程序名)
7.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 (图4) 定义变量:[有无符号] 类型 变量名; (分配存储空间) 注:如果没有标名有无符号,则默认为有符号位 [signed] short a; 2. 字符: 1.字符常量:'a' 普通字符:'a' 转义字符:'\n' '\'' '\t' '\\' 字符串常量:"abcdef" 2.字符变量: 3.ASCII码:由于计算机只能识别0/1,只能由一串01组成的来替代字符 3、各进制转换为十进制: 十进制的权:10 二进制的权:2 八进制的权:8 4、计算机的存储单元:存储信息的空间 最小的存储单元:bit (0或1) 10->1010 16bit 基本存储单元:Byte 1Byte=8bit 其他: 1Kb=1024Byte=2^10Byte 1MB=1024KB 1GB=1024MB 1TB=1024GB 8.运算符: 1、求某数据类型或者变量的存储空间长度: sizeof 注:以Byte为单位 2、赋值运算符: 左值=右值; 注:左值必须为变量
