Linux笔记


两种查看命令的帮助信息:
    1.command --help :如 ls --help
    2.man command : 如 man ls(man是manual(手册、指南)的缩写)
    方法2退出帮助文档: q


查看文件列表:
    ls:列出可见文件、文件夹的名称。ls:list的简写
    ls -a :列出所有文件(包括隐藏文件、文件夹)的名称。a:all的简写
    ls -l :列出文件的详细信息。l:long的简写
    ll:列出所有文件的详细信息。等价于  ls -al


切换目录(cd:change directory):
    cd d : 切换到d文件夹
    cd . :当前目录
    cd .. :返回上级目录
    cd / :根目录
    cd : 回到用户目录

创建、删除目录:
    mkdir temp :创建temp文件夹
    mkdir -p temp/tmp/tp :如果父目录不存在,则创建。p:parents的简写
    rmdir temp :删除temp文件夹,只能删除空文件夹


文件操作:
    创建文件:
        touch a.txt:创建a.txt文件

    复制文件:
        cp a.txt temp:复制a.txt文件到temp文件夹目录。如果有同名文件则覆盖
        cp a.txt temp/b.txt:复制a.txt文件到temp文件夹,并重命名为b.txt。如果有同名文件则覆盖
        cp a.txt b.txt:同目录下复制要重命名文件。如果有同名文件则覆盖
        cp -r temp tmp:复制temp文件夹到tmp文件夹下。如果有同名文件夹则覆盖。r:recursive 递归
        cp a/b/c/1.txt .:复制a/b/c/1.txt文件到当前目录
        拷贝时防止被覆盖的话可以加 -i ,如果有同名文件则会提示,y表示覆盖、n表示不覆盖。

    移动文件:
        mv a.txt temp:移动a.txt文件到temp目录下。如果有同名文件则覆盖
        mv a.txt temp/b.txt:移动a.txt文件到temp文件夹下,并重命名为b.txt。如果有同名文件则覆盖
        mv a.txt b.txt:重命名文件。如果有同名文件则覆盖
        mv temp tmp:移动temp文件夹到tmp文件夹下。如果有同名文件夹则覆盖
        移动时防止被覆盖的话可以加 -i ,如果有同名文件则会提示,y表示覆盖、n表示不覆盖。


    删除文件:
        rm a.txt:删除文件
        rm -f a.txt:强制删除a.txt文件。f:force的简写
        rm -r temp:递归删除temp文件夹。r:recursive
        rm -rf temp:强制递归删除temp文件夹


查看文件内容:
    cat file:一次性显示文件所有内容,不能上下翻着看。-n : 显示行号
    less file:分屏显示内容,可以上下键按行查看,也可以PgUp、PgDn上下翻页查看。


管道:
    |:作用是将前面命令的输出作为后面命令的输入。如:ls | grep H :列出当前目录下以H开头的文件或文件夹


查找:
    find 命令格式:find [路径] -name "a.txt" :查找指定路径下的a.txt文件,包含子目录。
    如果省略路径表示在当前文件夹下查找。

    find -name a.txt:在当前目录下遍历查找a.txt文件
    find -name "test*":在当前目录下遍历查找文件名以test开头的文件。
    grep "hello" a.txt:在a.txt文件中搜索打印包含“hello”字符串的行
    grep -i "hello" a.txt:在a.txt文件中搜索打印包含忽略大小写的“hello”字符串的行(-i 忽略大小写)
    grep -r "hello" *:遍历查找所有包含“hello”字符串的文件
    grep -rn "hello" *:遍历查找所有包含“hello”字符串的文件,并输出字符串所在的行号。n:line number的简写
    find * | grep "hello":遍历查找所有文件名包含“hello”的文件


echo 文本内容 :echo会在终端中显示一遍文本内容。


重定向输出
    >:覆盖原有内容。如:cat etc/hosts > a.txt
    >>:在原有内容后面追加。如:cat etc/hosts >> a.txt

echo和重定向一起使用,相当于写文件。如:echo hello > a.txt


远程管理常用命令

关机/重启
    shutdown 选项 时间:关机/重启。不指定选项和参数默认表示1分钟后关机。远程维护服务器时,最好不要关机,要使用重启。
    如 shutdown now:立刻关机;
       shutdown -r now:立刻重启
       shutdown 20:25:系统将在20:25分关机
       shutdown +10:系统将在十分钟后关机
       shutdown -c:取消之前的关机/重启计划


查看或配置网卡信息
    ifconfig :查看/配置计算机当前的网卡配置信息
    ping ip地址/域名 :检测到目标IP地址的连接是否正常。ping 127.0.0.1 可以检测本地网卡是否正常工作。


远程登录和复制文件(远程管理服务器时使用)
    ssh是secure shell的缩写,是一个远程登录的命令。

    Linux/unix系统下ssh是自带的,不需要额外安装客户端软件,直接使用命令即可。Windows系统则需要额外安装PuTTY或者XShell客户端。


    登录命令:
        ssh [-p 端口号] 用户名@IP地址
    如果是默认端口号,则可以省略。IP地址也可以是域名。每次登陆都需要输入密码。

    常见服务端口号列表:
        ssh服务器  22
        web服务器  80
        https      443
        ftp服务器  21

    免密码登陆
        步骤:在.ssh目录下执行命令,先生成公钥,再上传公钥到要登陆的服务器,服务器端会把客户端上传的公钥追加到.ssh/authorized_keys文件中。
        命令如下:
            ssh-keygen :执行该命令一直回车键即会在.ssh目录下生成id_rsa.pub公钥。
            ssh-copy-id -p 22 username@remote :执行该命令则会把公钥上传到目标服务器。后续登陆及操作不再需要输入命令。

    配置别名
        每次使用服务器时使用-p port username@remote很麻烦,可以在.ssh/config文件中追加以下内容以便可以使用别名替代端口、用户名及IP地址:
            host alias
                hostname ip地址
                user zyf
                port 22
        保存之后就可以使用ssh alias直接连接服务器了。

    scp是secure copy的缩写,是一个在Linux/unix下用来进行远程拷贝文件的命令。它的命令格式与ssh基本相同,只是指定端口号时用的是大写P。
    
    把本地当前目录下的01.py文件拷贝到远程home目录下的Desktop/01.py:
        scp -P 22 01.py username@remote:Desktop/01.py

    把远程家目录下的Desktop/01.py文件拷贝到本地当前目录下:
        scp -P 22 username@remote:Desktop/01.py 01.py
    加上-r选项则表示递归传输文件夹中的所有内容,如把本地当前目录下的demo文件夹拷贝到远程家目录下的Desktop文件夹下:
        scp -r demo username@remote:Desktop

    scp命令也可以使用别名进行操作。

    在Windows系统中,可以安装PuTTY使用pscp命令行工具或者安装FileZilla使用FTP进行文件传输。


用户权限
    用户是Linux系统工作中重要的一环,用户管理包括用户与组管理。每个用户针对不同的文件或目录有不同的权限。
    权限包括读、写、执行。
    使用ll查看文件列表时,单条信息如: -rwxrw-r--  1 zyf zyf  329  9月 14 11:40 a.txt
    从左到右依次是:
        *权限,如:-rw-rw-r-- 或 drwxrwxr-x
            第一位是“-”表示文件,“d”表示文件夹,“l”表示挂载某一个文件,即软链接
            之后三位表示文件/文件夹拥有者的权限
            之后三位表示用户所在组对该文件/文件夹的权限
            之后三位表示其他用户对该文件/文件夹的权限
        *硬链接数,通俗地讲就是有多少种可以访问当前文件/文件夹的方式
            文件的硬链接数一般为1,即通过绝对路径访问。
            文件夹的硬链接数跟子文件夹的数量有关,没有子文件夹则为2,一个是绝对路径,一个是文件夹目录下cd .。多一个子文件夹则多一个硬链接数(子文件夹下cd ..)。
        *拥有者,通常是当前用户
        *组,在Linux中,很多时候会出现组名和用户名相同的情况。
        *大小
        *时间
        *名称

    权限修改
        使用chmod可以修改用户/组对文件/文件夹的权限,命令格式如下:
            chmod +/-rwx 文件名|文件夹名
        其中,“+”表示增加权限,“-”表示减少权限。如:chmod -w a.txt,表示所有用户、组及其他用户对a.txt文件都没有写的权限。

        也可以使用如下命令格式修改权限:
            chmod 666 文件名|文件夹名
        其中,666即rw-rw-rw-,表示用户、组及其他用户对该文件都有读写权限。
        另,如果文件夹没有可执行权限,则无法操作该文件夹,包括打开。加 -R可以递归修改文件夹中所有文件的权限


组管理
    创建组/删除组的终端命令都需要通过sudo执行
        groupadd 组名 : 添加组
        groupdel 组名 : 删除组
        cat /etc/group : 可以通过查看group文件确认是否操作成功
        chgrp -R 组名 文件/文件夹名 : 递归修改文件/文件夹所属的组

    group文件存放的是组信息,由3个冒号分割开的4个信息,如:
        sudo:x:27:ubuntu4
    分别是:
        *组名
        *密码(x表示加密的密码)
        *gid
        *附加用户名,即ubuntu4用户有sudo组的权限


用户管理
    创建用户/删除用户/修改其他用户密码的终端命令都需要通过sudo执行。

    创建用户需要两条命令,分别是创建用户名和给用户名添加密码:
        useradd -m [-g 组名] 新建用户名 : 添加新用户,-m会自动创建新用户家目录,-g指定新用户所在的组,没有该参数则默认组名跟用户名相同。
        passwd 新建用户名 :给新建用户名添加密码。

        userdel -r 用户名 : 删除用户,-r 递归删除用户家目录下所有文件。
        cat /etc/passwd | grep 用户名 : 可以通过查看passwd文件确认用户信息

    passwd文件存放的是用户信息,由6个冒号分隔开的7个信息,如:
        zyf:x:1007:1007::/data/zyf:/bin/bash
    分别是:
        *用户名
        *密码(x表示加密的密码)
        *UID(用户标识)
        *GID(组标识)
        *用户全名或本地账号
        *家目录
        *登录使用的Shell,就是登录之后使用的终端命令,Ubuntu默认是dash。

    查看用户信息
        id [用户名] :查看用户的uid、gid信息以及附加组信息。
        who : 查看当前所有登录的用户列表
        whoami :查看当前登录用户的账号名


    usermod 可以用来设置用户的主组/附加组和登录Shell,主组就是passwd文件中第4列的gid,附加组是group文件中组信息的最后一列用户名,用于指定该用户具有某一组的附加权限。
    使用 id [用户名]命令就可以查看用户的附加组信息,如:id ubuntu4 :
        uid=1000(ubuntu4) gid=1000(ubuntu4) 组=1000(ubuntu4),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),111(lpadmin),112(sambashare)
    上面每个“,”后面的信息是“gid(组名)”格式。表示uid用户所具有的附加权限,如ubuntu4用户可以使用sudo权限执行命令,而普通用户不具有该权限。

    usermod -g 组 用户名 :修改用户的主组(gid)
    usermod -G 组 用户名 :修改用户的附加组
    usermod -s /bin/bash 用户名 :修改用户登录Shell后的终端命令为bash
    提示:usermod命令也需要使用sudo执行。设置了用户的附加组之后需要重新登录才能生效。使用useradd添加的用户默认是没有附加组的。
    dash不显示当前登录的用户名、工作目录,没有颜色区别,不能使用上下键等等,bash显示当前用户、工作目录,有颜色区别,能使用上下键。
    

    which 命令
    提示:/etc/passwd 是用于保存用户信息的文件,而/usr/bin/passwd 是用于修改用户密码的程序。
    which命令可以查看执行命令所在的位置。如:
        which ls : 输出是 /bin/ls
        which useradd :输出是 /usr/sbin/useradd


    bin和sbin
    在Linux中,绝大多数可执行文件都是保存在/bin、/sbin、/usr/bin、/usr/sbin目录下。
    /bin (binary)是二进制执行文件目录,主要用于具体应用
    /sbin (system binary)是系统管理员专用的二进制文件存放目录,用于系统管理
    /usr/bin 后期安装的一些程序
    /usr/sbin 超级用户的一些管理程序
    提示:cd 命令是内置在系统内核中的,没有独立的执行文件,因此用which查找不到结果。

    chown 修改文件的拥有者即文件所属用户,命令格式如下:
        chown 用户名 文件名|文件夹名 :修改文件/文件夹的拥有者


系统信息相关命令

    时间和日期
        date :查看系统时间
        cal :calendar的缩写,查看当月日历,加-y选项可以查看一年的日历。

    磁盘信息
        df -h : disk free的缩写,显示磁盘剩余空间
        du -h [文件名|目录名] : disk usage的缩写,显示文件大小或目录下各文件大小。
    提示:-h 是以友好方式显示结果的参数。ls也可以加-h让文件大小以对应的K或M等显示,而不是以字节为单位。

    进程信息
        ps aux : 查看进程的详细状况
        top :按CPU占用顺序动态显示运行中的进程
        kill [-9] pid :强制终止进程
    提示:ps默认只会显示当前用户通过终端启动的程序。ps选项说明:
        a:显示终端上的所有进程,包括其他用户的进程
        u:显示进程的详细状态
        x:显示没有控制终端的进程,即不是通过终端启动的进程,是系统启动时启动的进程。故ps选项只用au就行了。


软连接
    软连接命令格式:
        ln -s 被链接的源文件 链接文件

    其作用是建立文件的软链接,类似于Windows系统中的快捷方式。
    注意:没有-s选项则建立的是硬链接。
    被链接的源文件要使用绝对路径,不要使用相对路径,这样在链接文件移动后仍然能够正常使用,否则移动后因为是相对路径找不到源文件而成为死链接。
    如果被链接的源文件不存在,则创建后的软链接就是一个死链接,即无效链接,对无效连接是无法进行任何操作的。

    如把/etc/passwd文件添加到当前目录下的软连接命令是:
        ln -s /etc/passwd .

    添加之后在当前目录下执行ll查看文件列表如下:
        lrwxrwxrwx  1 zyf zyf   11 10月 10 15:01 passwd -> /etc/passwd

    如上所示,当前目录下的passwd是/etc/passwd文件的软链接,以“->”表示,其后表示源文件的位置。
    另,删除源文件后软链接都失效,而硬链接不会失效,一般不会给文件创建硬链接。


打包压缩

    tar是Linux中最常用的备份工具,此命令可以把一系列文件打包到一个大文件中,也可以把一个打包的大文件恢复成一系列文件。
    另外tar只负责打包和解包,不负责压缩。

    tar与gzip结合可以实现打包和压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxx.tar.gz。
    在tar命令中有一个选项-z可以调用gzip,从而可以方便的实现压缩和解压缩的操作。

    tar与bzip2命令结合也可以实现打包和压缩,用法和gzip一样,其扩展名一般用xxx.tar.bz2。
    在tar命令中有一个选项-j可以调用bzip2实现压缩和解压的操作。

    tar后常用参数:
        -c:创建一个tar文件。c:create的简写
        -v:显示运行过程的详细信息。v:verbose(详细)的简写
        -f:指定文件名,f后面一定是.tar文件,所以必须放选项最后。f:file的简写
        -z:调用gzip压缩命令进行压缩或解压。z:gzip的简写
        -j:调用bzip2压缩命令进行压缩或解压。
        -t:查看压缩文件的内容。t:list的简写
        -x:解包tar文件。x:extract的简写

    tar后常用组合:
        tar -cvf temp.tar temp:将temp文件夹打包成temp.tar文件
        tar -xvf temp.tar:将temp.tar文件解包到当前目录

        tar -zcvf temp.tar.gz temp:使用gzip格式将temp文件夹压缩成temp.tar.gz文件
    解压缩时可以使用-C指定解压后文件所在的目录,前提是该目录必须存在。如:
        tar -zxvf temp.tar.gz -C demo :将temp.tar.gz文件解压到demo目录下。

    
软件安装
    apt是Advanced Packaging Tool的缩写,是Linux下的一款安装包管理工具,可以在终端方便的安装、卸载、更新软件。
        sudo apt install 软件包
        sudo apt remove 软件包
        sudo apt upgrade :更新所有已安装的包

    配置软件源
    如果希望在Ubuntu中安装软件更加快速,可以通过设置镜像源,选择一个访问网速更快的服务器来提高软件下载、安装服务。
    提示:更换服务器后需要相对较长的时间更新,更新完成后再安装软件时就会从新设置的服务器上下载软件了。

    所谓镜像源就是所有服务器的内容是一样的,只是服务器的位置不同访问速度会有差异(国内肯定比国外快)。
    
    图形化操作设置步骤:系统设置-->软件和更新-->下载自

vi编辑器(visual editor的简写):
    vi没有图形界面,只能编辑文本内容,不支持鼠标操作,没有菜单,只有命令。
    vim是vi的improved出来的编辑器,它支持代码补全、编译及错误跳转等方便编程的功能。
    在很多Linux发行版中,直接把vi做成vim的软链接。即使用vi时真正使用的是vim。

    打开和新建文件
        vi 文件名 :如果文件已经存在,则直接打开文件;文件不存在则会新建一个文件。
        vi 文件名 +行号 :打开文件并定位到指定行。如果“+”后面没有指定行号则直接定位到文件末尾。

    异常处理
        编辑文本时如果vi异常退出,则在磁盘上回保存有交换文件,文件名是“.文件名.swp”,下次再打开文件时会提示用户按不同键执行不同操作:
            O:只读方式打开
            E:直接编辑,即上次保存文件后的编辑内容都会丢失
            R:恢复,接着异常退出前的编辑内容
            D:删除交换文件并直接编辑(上次保存文件后的编辑内容也会丢失),不删除交换文件则每次使用vi编辑该文件时都会提示
            Q:退出编辑
            A:中止编辑
        由上知道只要不删除交换文件每次使用vi编辑文件时都会提示用户按键选择不同操作,所以一旦用户选择过一次后下次再编辑文件提示时按“D”删除交换文件即可继续编辑。
        建议先选R恢复编辑后直接:wq!保存退出,再次vi编辑选D删除即可继续编辑。


    三种工作模式:
        命令模式(command mode):打开文件首先进入命令模式,是使用vi的入口。通过命令对文件进行常规的编辑操作,如定位、翻页、复制、粘贴、删除等。
        插入模式(insert mode):只有在insert mode下才可以做文本编辑,按[ESC]键可回到命令模式。
        底行模式(last line mode):执行保存、退出等操作,也可以设置编辑环境,如寻找字符串、列出行号等。是vi的出口。底行模式按[ESC]键也可以回到命令模式。

    vi的基本操作:
        vi a.txt:打开a.txt文件进入命令模式。
        在命令模式按以下不同字母,切换到插入模式编辑文本:
            i:在当前光标位置前插入。i:insert的简写
            I:在当前光标所在行的行首插入。
            a:在当前光标位置后插入。a:after的简写
            A:在当前光标所在行的行尾插入。
            o:在当前光标行之后插入一新行。
            O:在当前光标行之前插入一新行。
            s:删除光标所在的字符并开始插入。
            S:删除光标所在的行并开始插入。

        退出vi及保存文件(只有命令模式或底行模式才能退出,插入模式无法退出):
            命令模式下退出:
                ZZ:命令模式下保存并退出。
            命令模式输入冒号(":")切换到底行模式,底行模式的命令如下:
                w:保存文本
                q:退出,如果修改没有保存则不允许退出
                !:强制
                q!:强制退出,不保存的退出。
                wq!:保存并强制退出。即使文件没有修改也强制写入并更新文件的修改时间。
                x:保存并退出。仅当文件修改时才写入并更新文件修改时间。
                set nu:显示行号

        

        set nu命令只是在操作文件时主动输入命令才显示行号,为了每次编辑文件都自动显示行号,可以进行设置:
            vi ~/.vimrc
        然后配置文件中输入set nu,再:wq!即可。


    常用命令
    *重复次数
        在命令模式下,先输入一个数字,再跟上一个命令,可以让该命令重复执行指定次数
    *移动和选择
        H、J、K、L键分别是上、下、左、右移动光标(方向键也是可以的)。

        行内移动命令:
            w:word的缩写,向后移动一个单词
            b:back的缩写,向前移动一个单词
            0:行首(Home键也可以)
            ^:行首第一个非空白字符的位置
            $:行尾(End键也可以)

        行数移动:
            gg:文件顶部
            G:文件末尾
            数字gg:移动到数字对应行
            数字G:移动到数字对应行
            :数字:移动到数字对应行

        屏幕移动:
            Ctrl + b:back,向上翻页(PgUp也可以)
            Ctrl + f:forward,向下翻页(PgDn也可以)
            H:head,屏幕顶部
            M:middle,屏幕中间
            L:low,屏幕底部

        移动(代码):
            段落移动:vi中使用空行来区分段落
                {:上一段
                }:下一段
            括号切换
                %:括号匹配及切换,切换是左括号和右括号之间光标位置的切换。该命令只能在光标在括号同行之前时使用。
            标记:在开发时,某一块代码可能需要稍后处理,此时可以使用m为该位置添加一个标记,在需要时可以快速地跳转回到标记行。
            标记名称可以是a--z或者A--Z之间的任意一个字母。添加了标记的行如果被删除,标记也同时被删除。如果在其他行添加了同名的标记,则会覆盖之前的标记。
                mx:mark,添加标记“x”,x可以是a--z或A--Z之间的任意一个字母。
                'x:根据标记名回到“x”标记所记录的行首。

        选中文本(可视模式)
        vi还提供了另外一种操作模式:可视模式,按下面不同的键进入不同的可视模式:
            v:进入可视模式,从光标位置开始按照正常模式选择文本
            V:进入可视行模式,选中光标经过的完整行
            Ctrl + v:进入可视块模式,垂直方向选中文本
        可视模式下按[ESC]键可返回到命令模式。
        可视模式下也可以和移动命令结合使用,如“ggVG”能够选中所有内容。

        撤销和恢复撤销
            u:undo,撤销上次命令
            Ctrl + r:redo,恢复撤销的命令

        删除文本
            x:cut,删除光标所在的字符或选中的文本
            d(移动命令):delete,删除移动命令对应的内容
            dd:删除光标所在行,可以ndd删除多行,n是几就删除几行
            D:删除至行尾
        删除命令可以和移动命令结合使用,如:
            dw:从光标位置删除到单词末尾
            d0:从光标位置删除到行首
            d}:从光标位置删除到段落结尾
            ndd:从光标位置向下连续删除 n 行
            dnG:从光标所在行删除到第 n 行 之间的所有代码(包括n)
            d'a:从光标所在行删除到标记a之间的所有代码

        复制、粘贴
            y(移动命令):复制
            yy:复制一行,可以使用nyy复制n行
            p:粘贴
        上面d、x删除操作其实是剪切操作,都是可以通过p粘贴出来的。
        vi中的文本缓冲区只有一个,如果后续做过复制、剪切操作,之前缓冲区的内容会被替换。
        vi中的文本缓冲区跟Linux系统的剪贴板不是同一个,在其他软件中复制的内容不能在vi中使用p粘贴,但可以在插入模式下单击鼠标右键粘贴。

        替换
        替换命令的作用是不用进入插入模式就可以对文件进行轻量级的修改。
            r:命令模式下替换当前字符,只能替换一次。
            R:替换模式下可以逐个替换光标后的字符。
        命令模式下按[R]可以进入到替换模式,替换完成后可以按[ESC]回到命令模式。

        缩进和重复执行
        命令模式下的行首缩进和重复执行命令:
            >>:向右增加缩进
            <<:向左减少缩进
            .:重复执行上次命令

        查找
            常规查找
                /abcd:从光标处查找第一个abcd字符串出现的位置,按[n]键跳转到下一个,[N]跳转到上一个。

            单词快速匹配
                *:向后查找当前光标所在单词
                #:向前查找当前光标所在单词

            使查找到的目标高亮显示需要进入底行模式,输入set hlsearch。该命令只是在操作文件时主动输入命令后查找结果才高亮显示,为了每次通过vi查找时都高亮显示,可以进行如下设置:
                vi ~/.vimrc
            然后配置文件中输入set hlsearch,再:wq!即可。

        查找并替换
        替换命令需要在底行模式下执行
            全局替换:一次性替换文件中所有出现的旧文本,命令格式如下:
                :%s/旧文本/新文本/g

            局部替换:先按[v]或[V]或[Ctrl + v]进入可视模式,选中要替换的文本范围后执行如下命令:
                :s/旧文本/新文本/g

            确认替换:如果把替换命令末尾的g改成gc,则每个替换的地方都会提示让用户选择是否替换,命令如下:
                :%s/旧文本/新文本/gc 或 :s/旧文本/新文本/gc
            c是confrim的缩写,输入命令并[Enter]后会有如下提示:
                替换为 新文本 (y/n/a/q/l/^E/^Y)?
            y是yes,n是no,a是all,q是quit,l是替换当前光标所在位置的文本并把光标移动到行首进入插入模式,
            ^E(Ctrl + E)是向下滚屏,^Y(Ctrl + Y)是向上滚屏

    分屏命令
    属于vi的高级命令--可以同时编辑和查看多个文件。

        底行命令扩展:底行命令主要是针对文件进行操作的:保存、退出、查找、替换、另存、新建、浏览文件等。
            :e .:edit缩写,e后跟文件名会进入文件的命令模式,跟“.”会打开系统内置文件浏览器展示当前目录下的文件列表,选择要打开的文件按[Enter]键即可切换当前编辑的文件。
            :n 文件名:new,新建文件
            :w 文件名:另存为,保存后编辑的仍然是当前文件,并不会切换到新保存的文件。

        分屏命令
            :sp[文件名]:split的缩写,横向增加分屏
            :vsp[文件名]:vertical split的缩写,纵向增加分屏
         不添加文件名则默认给当前文件分屏显示。

            切换分屏窗口:分屏窗口命令都是基于[Ctrl + w]这个快捷键的,w是window的缩写,命令如下:
                w:切换到下一个窗口
                r:reverse,互换窗口
                c:close,关闭当前窗口,但是不能关闭最后一个窗口
                q:quit,退出当前窗口,如果是最后一个窗口则关闭vi
                o:other,关闭其他窗口。
            上面的命令都是在[Ctrl + w]键之后使用,且每次只能使用一次。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值