linux基本操作

 

 

 

 

linux的目录结构

/:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录)开始,再进入到home目录。

/bin、/usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。

/boot:放置linux系统启动时用到的一些文件,如Linux的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub。

/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/cdrom /mnt。

/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d。

/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~edu 表示用户 edu 的家目录。

/lib、/usr/lib、/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助。

/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下。

/mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。

/opt:给主机额外安装软件所摆放的目录。

/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。

/root:系统管理员root的家目录。

/sbin、/usr/sbin、/usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能"查看"而不能设置和使用。

/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下。

/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内。

/usr:应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录。

/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。

 

三 常用命令

1 基本用法

命令格式:

     command  [options]  [parameter1]...

命令 [选项] [参数]

说明:command: 命令名,相应功能的英文单词或单词的缩写; [options]:选项,可用来对命令进行控制,也可以省略,[]代表可选; parameter1 …:传给命令的参数:可以是零个一个或多个

例如:ls -l /bin

 

--help:命令的帮助信息,如 ls --help

man:manual, 例如 man ls

空格键:显示手册页的下一屏

Enter键:一次滚动手册页的一行

b:回滚一屏

f:前滚一屏

q:退出man命令

h:列出所有功能键

/word:搜索word字符串

history:列举执行过的命令

clear :清屏

 

1 文件和目录管理命令

绝对路径:从根目录开始的路径

相对路径:从当前位置开始的路径

. 当前目录

.. 上一级目录

~ 表示用户的家目录

 

ls 显示文件和目录列表  

-l 列出文件的详细信息

-a 列出当前目录所有文件,包含隐藏文件,以“.”开头的文件为隐藏文件

-h:以人性化方式显示文件大小

其他:

alias

ll

la

 

通配符:

ls d*:查找以d开头的文件

ls *.c:查找以.c结尾的文件

ls ?.c:只找第一个字符任意,后缀为.c的文件,?代表文件名中任意一个字符

ls a.?:前2字符为a.,最后一个字符任意的文件

ls [a-f]*:找到从a到f范围内的的任意一个字符开头的文件,其中[”和“]”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。

注意:如果要使通配符作为普通字符使用,可以在其前面加上转义字符\。“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用。

 

Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中

ls > a.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 )

 ls >> a.txt 内容追加到文件最后面

 

cd 切换目录 ,直接输入cd会回到家目录

cd / 切换到根目录

cd .. 回到上一级目录

cd ~ 切换到家目录

cd – 回到上次所在目录

 

pwd 显示当前所在路径

 

touch 生成一个空内容文件

touch a.txt

touch a.txt b.txt ,可以同时生成多个空内容文件

 

echo 生成一个带内容文件     

echo abcd > a.txt(>重定向 , >> 追加内容)

 

cat从头到尾显示文本文件内容,还可以合并文件内容

cat a.txt b.txt > c.txt

 

tac从尾部开始反向显示文件内容

 

nl 查询所有内容,显示行号

 

head 从头部开始查询指定行的内容,默认10行

head -20 XXX 指定显示20行的内容

 

tail 从文件尾部查询指定行内容

 

more分页显示文本文件内容

 空格 下一页内容

回车 下一行内容

q 退出该命令

 

mkdir 创建目录  

mkdir test 创建test文件夹的目录

-p 父目录不存在情况下先生成父目录

比如 mkdir -p a/b/c

sudo mkdir /haha: 以管理员权限运行命令,并不会改变当前用户的权限

 

rmdir 删除空目录

 

rm 删除文件或目录,切记,使用rm命令是直接删除,不会放到回收站

-i 交互式删除

-r 递归删除该目录及目录下的所有文件,删除目录时,必须使用

-f 强制删除文件或目录,不提示

比如删除不存在的文件时,会提示:

rm: 无法删除'a.txt': 没有那个文件或目录

 

cp 拷贝文件或目录,复制过程中可以改名

-a该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。

-f如果已经存在,不提示

-i交互式复制,在覆盖目标文件之前将给出提示要求用户确认

-r若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。

-v显示拷贝进度

 

mv 移动文件或目录、文件

mv  aaa bbb 将aaa改名为bbb

-f 禁止交互式操作,如有覆盖也不会给出提示

-i 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件

-v 显示移动进度

 

find 在文件系统中查找指定的文件

find ./ -name test.sh 查找当前目录下所有名为test.sh的文件,还可以使用-iname, 表示忽略大小写

find ./ -name '*.sh' 查找当前目录下所有后缀为.sh的文件,必须使用引号括起来,否则可能会报错

find ./ -name "[A-Z]*" 查找当前目录下所有以大写字母开头的文件

find /tmp -size 2M 查找在/tmp 目录下等于2M的文件

find /tmp -size +2M查找在/tmp 目录下大于2M的文件

find /tmp -size -2M 查找在/tmp 目录下小于2M的文件

find ./ -size +4k -size -5M查找当前目录下大于4k,小于5M的文件

find ./ -perm 0777 查找当前目录下权限为 777 的文件或目录

 

错误:find . -name a.txt b.txt

find: 路径必须在表达式之前: b.txt

用法: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec|time] [path...] [expression]

Find . -name *.txt, * 相当于终端下的通配符,整个命令就相当于 find . -name a.txt b.txt,直接运行类似这样的命令报“find: 路径必须在表达式之前”,因为-name后面只能跟一个参数,解决方案:

 find . -name \*.txt

 find . -name '*.txt'

 

wc 统计文本文档的行数,单词数,字节数   

-l 显示一个文件的行数

-c 显示一个文件的字节数

-m 显示一个文件的字符数

 -L 显示一个文件中的最长行的长度

每行结尾的换行符也算一个字符,空格也算一个字符 ,因为采用UTF-8编码,所以一个汉字在这里被转换为3字节  ,当使用-m选项时,一个汉字就作为一个字符计算

 

grep 在指定的文本文件中查找指定的字符串

grep格式一般写为:grep [-选项] ‘搜索内容’文件名

例如在redis.conf文件中查找‘redis’, -n 显示匹配的行和行号

grep -n 'redis' redis.conf 

注意:grep搜索内容串可以是正则表达式

搜寻以 a 开头的行: grep -n '^a' haha.txt

-v显示不包含匹配文本的所有行(相当于求反)

-n显示匹配行及行号

-i忽略大小写

 

ln   建立链接文件

硬链接,会改变引用计数,链接的文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在。修改一份,对其他同样产生影响。硬链接只能链接普通文件,不能链接目录

软连接(符号链接) –s,软链接不占用磁盘空间,源文件删除则软链接失效,相当于windows系统下的快捷方式

注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径,否则创建的软链接不能使用

 

| ,管道

一个命令的输出可以通过管道作为另一个命令的输入。左边将内容放入管道,右边从管道取内容处理

比如 ls –al | more 可以分屏显示列出的文件夹中的内容

 

2 系统管理命令

cal 查看日历

 

date 查看时间

date '+%Y%m%d' 以指定格式显示

%Y,%y 年

%m 月

%d 日

%H 时

%M 分

%S 秒

 

whoami 查看当前用户

通过cat /etc/passwd查看系统用户信息

 

who  显示在线登录用户

-m 只显示运行who命令的用户名、登录终端和登录时间

-q或--count 只显示用户的登录账号和登录用户的数量

--heading 显示列标题

 

hostname 显示主机名称

 

uname显示系统信息,如内核版本号、硬件架构、主机名称和操作系统类型等  –a 显示全部的信息

 

stat 显示指定文件的详细信息,比ls命令显示内容更多

  文件:'b.txt'

  大小:0               块:0          IO 块:4096   普通空文件

设备:801h/2049d        Inode:144780      硬链接:1

权限:(0664/-rw-rw-r--)  Uid:( 1000/    renr)   Gid:( 1000/    renr)

最近访问:2018-05-07 20:21:10.205181290 +0800

最近更改:2018-05-07 20:18:48.000000000 +0800

最近改动:2018-05-07 20:35:09.694050180 +0800

创建时间:-

 

top  动态显示运行的进程

q退出显示

 

ps   显示瞬间的进程状态

-e 显示所有的进程

-a 显示现行终端上的所有进程,包括其他用户的进程

-u 以用户为主的状态

-x 显示没有控制终端的进程

一般是-aux一起使用

 

kill 杀死一个进程 kill -9 进程号

 

du   显示指定的文件(目录)已使用的磁盘空间的总量

-s显示指定文件或目录占用的数据块

 du -sh examples.desktop,其中-h表示人性化方式显示所占空间大小

 

df   显示文件系统磁盘空间的使用情况

文件系统          1K-块    已用     可用 已用% 挂载点

udev             466588       0   466588    0% /dev

tmpfs             98588    4944    93644    6% /run

/dev/sda1      19478204 5499144 12966580   30% /

tmpfs            492928     188   492740    1% /dev/shm

tmpfs              5120       4     5116    1% /run/lock

tmpfs            492928       0   492928    0% /sys/fs/cgroup

tmpfs             98588      32    98556    1% /run/user/108

tmpfs             98588       0    98588    0% /run/user/1000

 

tmpfs是一种虚拟内存文件系统,是基于内存的文件系统

 

free 显示当前内存和交换空间的使用情况

-h 人性化方式查看

 

ifconfig 显示网络接口信息

 

ping 测试网络的连通性

 

3 开关机命令

shutdown系统关机  shutdown 命令可以安全的关闭Linux系统,shutdown命令必须有超级用户才能执行。Shutdown命令执行后会以广播的形式通知正在系统中工作的所有用户,

reboot 重新启动操作系统

shutdown –r now 重新启动操作系统,shutdown会给别的用户提示

shutdown -h now 立刻关机,其中now相当于时间为0的状态

shutdown -h 20:25 系统在今天的20:25 会关机

shutdown -h +10 系统再过十分钟后自动关机

init 0 关机

init 6 重启

 

4 压缩打包命令

tar :打包、拆包命令

        tar 选项  <打包后的文件>   <欲打包的文件或目录>

  - c :创建的一个归档文件 ,即打包文件夹

  - x :拆包

  - z :以gzip 格式压缩

  - j :以bzip2格式压缩

  - v :显示打包或者拆包的文件信息

  - f : 后面紧接一个 归档文件,必须放在最后

-t: 列出归档文件中包含的内容,一般与-f一起使用

-C:拆包到指定目录

 

       - 打包文件

          tar -cvf news.tar  *.txt  

       - 拆包文件

          tar -xvf news.tar

 

gzip压缩与解压,不能压缩目录

压缩或解压后,原来的文件相当于删除了

-r 目录 :递归压缩目录下的子文件

不是直接压缩整个文件夹,而是压缩文件夹中的文件

-d :解压

        gzip news.tar , 压缩文件,压缩后的文件的后缀为.gz

  gzip a.txt b.txt 压缩多个文件

  gzip -d news.tar.gz 解压文件

 

bzip2压缩与解压,后缀.bz2

-f或-force:bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖。请使用此参数;

-k:bzip2在压缩或解压缩后,会删除原始文件。若要保留原始文件,请使用此参数

-s:降低程序执行时内存的使用量;

-v:压缩或解压缩文件时,显示详细的信息;

-z:强制执行压缩;

压缩:

bzip2 文件名 或 bzip2 -z 文件名

解压:

bzip2 -d 文件.bz2 或 bunzip2 文件.bz2

 

打包及压缩

       - 打包及压缩

          tar -czvf news.tar.gz  *.txt

       - 拆包及解压缩

          tar -xzvf  news.tar.gz

 

四 用户账户管理

linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。

普通用户:普通用户在系统上的任务是进行普通操作

超级用户:管理员在系统上的任务是对普通用户和整个系统进行管理。对系统具有绝对的控制权,能够对系统进行一切操作。

Ubuntu中的超级管理员用root表示,root用户在系统中拥有最高权限  

通过/etc/passwd 可以查看系统中用户的信息

通过/etc/shadow 可以查看系统中用户的密码信息

 

useradd 用户名

-d  指定用户登录系统时的主目录,如果不使用该参数,系统自动在/home目录下建立与用户名同名目录为主目录

-m 自动建立目录

sudo useradd -d /home/test test -m

-g 指定组名称

 –u(UID号)

–s(SHELL)

 

userdel 用户名 (删除用户账号)

–r  用户,会删除用户和文件夹

 

使用usermod修改用户信息

 –u新UID

 –g 修改默认组名

-G 向其他组添加

sudo usermod –u 1007 –g group2 –G root haha

将haha用户uid修改为1007,默认组改为系统中已经存在的group2,并且加入到系统管理员(GID 0)组。

–L  锁定用户账号密码

sudo usermod -L test

–U 解锁用户账号

 sudo usermod -U test

 

组账户维护命令

通过/etc/group 可以查看系统中组的信息

groupadd 组账户名 (创建新组)

–g 指定组GID

 

groupmod –g 更改组的GID

–n 更改组账户名

例如:sudo groupmod haha -g 1020 -n heihei

 

groupdel 组账户名 (删除指定组账户)

 

口令维护命令

passwd 用户账户名 (设置用户口令)

–l 用户账户名 (锁定用户账户)

–u 用户账户名 (解锁用户账户)

–d 用户账户名 (删除账户口令)

 

gpasswd –a 用户账户名 组账户名 (将指定用户添加到指定组)

    –d 用户账户名 组账户名 (将用户从指定组中删除)

 

 chown    修改文件目录所属用户[及用户组],

如: sudo chown test[:test] a.txt

如果是修改文件夹所属用户,文件夹中的内容不会改变,递归操作需要加'-R'选项 ,如sudo chown -R test a.txt

 

chgrp    修改文件所属用户组

如:sudo chgrp test a.txt

 

文件权限是指对文件的访问权限,包括多文件的读、写、删除和执行。在linux下每个用户都有不同的权限,普通用户只能在自己的主目录下进行写操作,在主目录之外,普通用户只能进行查找,读取操作。

三种基本权限

R 读权限,对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限

W 写权限,对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。

X 执行权限,对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限

 

ls –l 文件名

显示信息包含:文件类型(d 目录,- 普通文件,l 链接文件),文件权限,文件的属主,文件的所属组,文件的大小,文件的创建时间,文件的名称

-rw-r--r--  1 renr users  2254 2006-05-20 13:47 tt.htm

从第二个字符起rw-是说用户renr有读、写权,没有运行权,接着的r--表示用户组users只有读权限,没有运行权,最后的r--指其他人(others)只有读权限,没有写权和运行权。

 

chmod设置文件或目录的访问权限

chmod字符设置法

chmod [who] [+ | - | =]   [mode] 文件名/目录

(1)who :

表示操作对象可以是以下字母的一个或者组合

u 表示 用户 user ,g表示用户组group,o表示其他用户,a表示所有用户是系统默认的。

(2)操作符号:

+  表示添加某个权限

- 表示取消某个权限

=  赋予给定的权限,取消文档以前的所有权限。

(3)mode

      表示可执行的权限,可以是 r、w、x

  (4)文件名

      文件名可以使空格分开的文件列表。

chmod u=rwx,g+r,o+r 1.txt

 chmod o=rx a.txt

chmod ug+x a.txt

 

chmod 数字设定法

数字设定法中数字表示的含义,0表示没有任何权限,1表示有可执行=x,2表示有可执行权限=w,4表示有可读权限=r。

如 chmod 755 file_name

 

新建用户执行sudo命令

 

a. 切换到root用户下
b. 添加sudo文件的写权限,命令是:
    chmod u+w /etc/sudoers
c. 编辑sudoers文件
     vi /etc/sudoers
     找到 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是指定的用户名)


sudoers文件中可以添加下面四行中任意一条
    user名            ALL=(ALL)                ALL
    %group名           ALL=(ALL)                ALL
     user名            ALL=(ALL)                NOPASSWD: ALL
    %group名           ALL=(ALL)                NOPASSWD: ALL

 

第一行:允许用户执行sudo命令(需要输入密码).
第二行:允许用户组里面的用户执行sudo命令(需要输入密码).
第三行:允许用户执行sudo命令,并且在执行的时候不输入密码.
第四行:允许用户组里面的用户执行sudo命令,并且在执行的时候不输入密码.

 

五 软件管理

在linux上,一个软件包通常由二进制程序,库文件,配置文件和帮助文件组成。 其中:

二进制程序一般都放在/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin和/usr/local/sbin这几个目录下边;

库文件都放在/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib和/usr/local/lib64这些目录下;

配置文件一般都是放在/etc这个目录下;

而最基本的man帮助文件则是放在/usr/share/man这个目录下的。

 

在Linux中,软件的安装方式一般有四种:

通用二进制编译:由志愿者把开发完成的源代码编译成二进制文件,打包后发布在网络上,大家都可以通过网络进行下载,到本地之后,经过解压配置就可以使用。

软件包管理器:使用包管理工具安装,有时候必须要解决软件包之间的依赖问题,例如rpm和deb等。

软件包前端管理工具:可以自动解决软件包依赖关系,例如yum和apt-get等。

源码包安装:从网络上下载软件的源码包到本地计算机,用gcc等编译工具编译成二进制文件后才能使用,有时必须要解决库文件的缺失问题。

 

1 apt-get

使用国内源,比如

阿里云开源镜像站 http://mirrors.aliyun.com/

网易开源镜像站 http://mirrors.163.com/

清华大学开源镜像站 https://mirrors.tuna.tsinghua.edu.cn/

以阿里云镜像为例:

备份/etc/apt/sources.list

修改sources.list中内容为:

deb http://mirrors.aliyun.com/ubuntu/ xenial main

deb-src http://mirrors.aliyun.com/ubuntu/ xenial main

 

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main

 

deb http://mirrors.aliyun.com/ubuntu/ xenial universe

deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe

 

deb http://mirrors.aliyun.com/ubuntu/ xenial-security main

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main

deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe

更新源:sudo apt-get update

 

Ubuntu软件操作的相关命令:

sudo apt-get update  更新源

sudo apt-get install package 安装包

sudo apt-get remove package 删除包

sudo apt-cache search package 搜索软件包

sudo apt-cache show package  获取包的相关信息,如说明、大小、版本等

sudo apt-get install package --reinstall   重新安装包

sudo apt-get -f install   修复安装

sudo apt-get remove package --purge 删除包,包括配置文件等

sudo apt-get upgrade 更新已安装的包

sudo apt-get dist-upgrade 升级系统

sudo apt-cache depends package 了解使用该包依赖那些包

 

2 使用dpkg安装.deb文件

  -i:安装

   -r:卸载

   -l:查看软件包信息

-L:查看软件安装目录

以安装sublime为例:

dpkg -i sublime-text_build-3083_amd64.deb

dpkg -l | grep sublime  找到安装后软件包的名称

dpkg -L sublime-text

dpkg -r sublime-text

 

 

六 OpenSSH

SSH 为 Secure Shell 的缩写,是建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

SSH是芬兰一家公司开发。但是受到版权和加密算法限制,现在很多人都使用OpenSSH。OpenSSH是SSH的替代软件,免费。

OpenSSH由客户端和服务端组成。

OpenSSH提供两种级别的验证方式。

(1)基于口令的安全验证:知道服务器的帐号密码即可远程登录,口令和数据在传输过程中都会被加密。

(2)基于密钥的安全验证:此时需要在创建一对密钥,把公有密钥放到远程服务器上自己的宿主目录中,而私有密钥则由自己保存。

 

打开、新建文件:

vim filename    打开/新建一个文件

!v    打开最后使用vim打开的文件

   

1 命令模式

刚打开编辑器时,就处于命令模式下

 

2 编辑模式

命令模式下,输入i、a、o等,进入编辑模式

退出编辑模式:在编辑模式下,点击esc按键,回到命令模式

i: 插入光标前一个字符

I: 插入行首

a: 插入光标后一个字符

A: 插入行未

o: 向下新开一行,插入行首

O: 向上新开一行,插入行首

 

3 末行模式

在命令模式下,输入冒号”:”,进入该模式

比如   :set number 显示行号  :set nonumber 取消行号

保存:  在命令模式下 :wq 保存并退出

               :q 在未修改状态下,直接退出

               :q! 修改内容后,强制退出,但是不保存修改内容

ZZ(shift + zz)  保存退出

:%s/原内容/新内容/[g]    所有行内容替换,g表示全局(默认只能替换一行中第一处)

:m,ns/原内容/新内容/[g] | m到n行内容替换

:n      将光标定位到第n行,n表示行号      

 

3 常用命令(了解)

注:需要在命令模式下输入

gg:回到首行

ngg:n表示行数,跳转到指定行,如3gg,表示跳到第三行

G:回到尾行

^/数字0 , 表示定位到行首

$:也就是shift+4,定位到行尾

yy:复制行

nyy:复制指定行数的内容,如3yy,表示从指定位置开始,复制3行内容

p:把复制的内容拷贝到指定位置的下一行

dd:删除行

ndd:删除指定行数的内容

u:撤销原来的操作

Ctrl+r 反撤销

 

ggdG 删除所有的内容

 

命令模式下输入/,进入搜索模式,n搜索下一个匹配字符串的位置 ,N搜索上一个

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值