Linux vi 文本编辑器(续..笔记)

vi的编辑器:

1、三种模式:底行模式 命令模式 插入模式

        命令模式:

        1、从命令切换插入模式:

                i : 光标所在左侧输入         I 光标移动到所在行的最左则

                o :光标移动的下一行(新的一行) O:光标移动的上一行(新的一行)

                a :光标移动到所在行的右则输入 A:光标移动到所在行的最右则

        2、复制:

                行: nyy n>0

                单词:nyw n>0

        3、粘贴:p

        4、撤消到上一步骤:u

        5、恢复到上一步: ctrl+r

        6、替换:

                替换一个字符:r

                连续替换    :R

        7、定位行:

                上:n-  

                下:n+

        8、删除:

                删除字符:nx(右)  nX(左) n>0

                删除行:ndd   n,n1 dd

        9、查找关键字:/key_value (向下查找key:n 向止查找key:N )

        底行模式: 

        1、显示行号:set nu

        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执行   4+2+1=7   4+0+0=4(只读) 4+2+0=6(可读写不能执行)

                        chmod --- 文件

        4、用户:(特点:1多任务(进程)多用户操作)

                1、切换用户:su 用户名

                2、增加用户:useradd (root权限)

                3、修改密码:passwd 密码 (passworld)

                注:用户主目录(/home)

        5、为用户的命令分配root的权限:

                root为用户分配的部分权限都是记录在:/etc/sudoers

                        注:每次sudo时都会去/etc/sudores中检查该用户的分配策略

                1、为某机器上某用户分配某种命令的权限

                        1.1为该用户分配所有机器的所有命令

                                用户名  ALL=(ALL)  ALL

                        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、编译过程:(函数) 】

        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;

                        字符:

                                1.字符常量:'a' 

                                    普通字符:'a'

                                    转义字符:'\n' '\'' '\t'  '\\'

                                    字符串常量:"abcdef"

                                2.字符变量:

                                3.ASCII码:由于计算机只能识别0/1,只能由一串01组成的来替代字符

        2、各进制转换为十进制:

                十进制的权:10

                二进制的权:2   1010---》 

                八进制的权:8

        3、计算机的存储单元:存储信息的空间

                最小的存储单元: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、赋值运算符:

                            左值=右值;  注:左值必须为变量

 

 

 

你可能感兴趣的:(∮,--,Linux)