zoukankan      html  css  js  c++  java
  • 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(全选模式) , =
  • 相关阅读:
    洛谷P4768 [NOI2018]归程(可持久化并查集,最短路)
    FFT/NTT总结+洛谷P3803 【模板】多项式乘法(FFT)(FFT/NTT)
    洛谷P2480 [SDOI2010]古代猪文(费马小定理,卢卡斯定理,中国剩余定理,线性筛)
    洛谷P4035 [JSOI2008]球形空间产生器(高斯消元)
    洛谷P2054 [AHOI2005]洗牌(扩展欧几里德)
    洛谷P3868 [TJOI2009]猜数字(中国剩余定理,扩展欧几里德)
    洛谷P1516 青蛙的约会(扩展欧几里德)
    Heaven of Imaginary(PKUSC2018)
    二进制高精度模板(高精度)
    洛谷UVA12995 Farey Sequence(欧拉函数,线性筛)
  • 原文地址:https://www.cnblogs.com/intelwisd/p/8159581.html
Copyright © 2011-2022 走看看