时间 :2020/2/12 ~ ... 不定时查错补缺(如果哪里有错误,希望可以联系Q2278326006,非常感谢)
环境 :centerOS 7
目录
-
linux系统安装要点
学习linux第一步就是要配置环境了,一般配置环境都是采用虚拟机就可以了,没必要使用物理机(当然电脑多的除外emmm)
关于虚拟机平台软件 有两款使用较多
- VMware
- virtualBox
安装虚拟机之后,就可以在上面安装操作系统了。在虚拟机安装系统通常都需要系统镜像,也就是后缀名为 ISO 的文件,有了镜像文件才可以安装系统啊。镜像也分不同类型哦,比如桌面版 服务器版 ,其中也有标准版 精简版 。通常都是选用标准的桌面版了,因为刚刚开始学嘛,还有一点就是下载镜像的时候也要注意它是否支持你的当前需要安装的计算机硬件体系。现在基本都是 x86 架构CPU使用多。自行选择啦,镜像可以通过清华大学开源软件镜像网站下载,速度快而且版本齐全了,去官网下载的话因为某种原因(不用说都知道吧??)下载很慢的。
网站链接:https://mirrors.tuna.tsinghua.edu.cn/#
有了镜像就是开始学习Linux OS 的契机,只要安装到虚拟机就好了。 linux系统不同于window系统,Linux系统安装比较繁杂,特别的磁盘的分区哪里 ,新手是完全摸不着头脑的,所以希望能去百度多看看别人是怎么弄的。先装上去学习就行,不要纠结步骤。
-
linux终端的介绍
如上图就是我们的终端了,这个终端就是我们学习的核心。也是Linux的核心。所谓终端,就是说只要是提供数据输入输出,提供用户交互的一种平台 ,都可以称其为终端。平常所说用户终端就是这么个意思哈哈。
可以看到终端上就只有光标左边哪一行文字,在$($表示普通用户,#表示超级管理员root) 符号右边就是接受用户命令输入的地方。左边的是系统默认的 提示字符,既然是默认?那应该是可以修改的哦,按照自己喜欢的方式修改。下面看看怎么修改吧!
系统由PS1这个变量控制着提示字符的格式。利用echo $PS1 来看看默认的设置吧
这是什么意思呢??
\d :可显示出『星期 月 日』的日期格式,如:"Mon Feb 2" \H :完整的主机名。 \h :仅取主机名在第一个小数点之前的名字, \t :显示时间,为 24 小时格式的『HH:MM:SS』 \T :显示时间,为 12 小时格式的『HH:MM:SS』 \A :显示时间,为 24 小时格式的『HH:MM』 \@ :显示时间,为 12 小时格式的『am/pm』样式 \u :目前使用者的账号名称,如『root』;o \v :BASH 的版本信息, \w :完整的工作目录名称,由根目录写起的目录名称。但家目录会以 ~ 取代; \W :利用 basename 函数取得工作目录名称,所以仅会列出最后一个目录名。 \# :下达的第几个指令。 \$ :提示字符,如果是 root 时,提示字符为 # ,否则就是 $ |
通过对照各个设定字符的含义,就知道默认的字符为什么是这样了,所以我们是可以修改的,修改PS1默认值即可,例如
可以看到提示字符被修改了,但是这个修改只是临时的,想要永久有效必须要去修改 用户家目录下 的 .bashrc 这个隐藏的配置 文件,
参考样式 :
在 .bashrc 里面添加这一行(不懂就去看文件编辑部分):
PS1="\[\e[35;40m\]\u\[\e[32;40m\]@\[\e[31;40m\]\W \[\e[36;40m\]\A\[\e[33;40m\]>>\[\e[0m\]"
接下来介绍一下刚刚接触但还可以接受的一些操作,比如显示日历的命令是什么?是 cal 了
PS : linux终端命令要注意空格,还有 命令的使用基本都是这种组合形式 (命令 选项 参数) 其中可以只有命令就行 比如 cal 就是只有它这个命令 没有选项和参数 ,同理也可以不要参数,命令的使用很灵活的,后面学习越多就越灵活,那命令都是带选项的 请问怎么知道选项??
这时候可以来个 --help 哈哈
看到没有,通过 --help 可以看到命令的选项了,遇到命令选项不清楚的,不妨来一下 --help 给你指导。
比如上面的 -y 这个选项的说明的显示一年的日历 ,看看是不是真的,毫无疑问确实是这样
终端就是我们敲入命令的地方,命令有长有短,操作的时候难免需要修改。其中就有不少快捷键来帮助用户修改命令更加方便。
比如很方便的 【tab】键,这个命令就很厉害了,按一下 可以补全命令哦,前提是这个需要补全的字符是所有命令的唯一。如果按一下没效果,那就是有多种可能 ,那此时再次快速按下一次 ,那么下面就很列出可能需要补全的所有命令啊,很好。
而且还有就是如果命令行没有输入完全空白的时候。连续按两次 【tab】 就会列出系统中所有的命令
可以看出终端提示你是否需要显示3108个命令出来 是就输入 y 回车 不是就输入 n 回车 (这种类型提示经常有哦)
还有就是一些快捷键的使用了,记熟就可以提供速度了。
比如以下这些快捷键,可以自行看看效果
【Ctrl+c】 终止正在运行的命令 【Ctrl+d】 与exit差不多,离开退出 【Ctrl+a】 调到命令行的开头
【Ctrl+e】 调到命令行的末尾 【Ctrl+u】 将光标处到命令行开头的内容清除 【Ctrl+k】 将光标处到命令行结尾的内容清除
【Ctrl+r】 在历史记录列表中搜索某一命令 【Ctrl+l】 清屏 【Ctrl + M】 就是 Enter 啦!
【Ctrl + S】 暂停屏幕的输出 【Ctrl + Q】 恢复屏幕的输出 【Ctrl + U】 在提示字符下,将整列命令删除
【Ctrl + Z】『暂停』目前的命令
↑ (向上箭头)可以往上翻以前执行过的指令 ← (向左箭头)光标可以左移
→(向右箭头)光标可以右移 ↓(向上箭头)可以往下翻以前执行过的指令
PS :有时候输入命令明明正确 但是就是不能执行 这会令新手怀疑人生,那是为什么?不要慌有八成原因的因为用户权限不足,比如出现: 种提示,就是因为权限不足,此时 使用 su 命令回车输入密码转为root超级用户就可以执行了。
-
熟悉终端前的热身命令
先敲一下那些比较大众的命令,逐渐适应一下命令行的模式。比如开机重启是可以通过命令来设置的哦,还有很多额外选项功能,
- shutdown 这是与关机有关的指令,通过help看看选项吧
可以看到一些简易说明,其中常用的是 -h 和 -r 这两个选项了。后面接时间,比如 shutdown -h now 和 shutdown -h +time的意思是马上关机和经过time分钟后关机(time是数字,表示分钟)例如10分钟后关机:
可以看到 系统会提示你什么时候关机,还有怎么终止关机倒计时,就是执行 shutdow -c 就可以了。
- date这是与时间有关指令 可以查看时间和设置时间
查看时间直接date就可以啦 ,然后设置时间最简单的方式就 date -s "时间(年月日)" 例如:
- 帮助有关命令 help man
这三个命令都是常用的帮助命令了,看看有什么区别吧;
使用 date --help 回车
使用 man date 回车
在man下的文本阅读操作:
- 键盘上的 pagedown 和page up 可以上下翻页 键盘上的上下箭头可以上下阅读、
- 输入 ? 或者 / 光标自动跳下面,在其后面输入要搜索的关键字符串 ,执行完后会高亮显示查找的字符串,在此期间,按N或者n 进行上下搜索
- g转到开头,G转到末尾,按下 q 会退出页面
-
linux的目录树及其解析
Linux 不同于window系统 ,特别是文件结构这一方面, 在Linux下一切皆文件。首先要了解的是 Linux目录树结构了,
遵从的是 Filesystem Hierarchy Standard(文件系统层次化标准) 这个标准 ,这一标准运用广泛,规划了不同文件放置到特定目录下,方便于用户管理文件。多数Linux版本采用这种文件组织形式(FHS),centerOS就是用这个标准,linux系统的文件目录是从根目录开始的,表示为 / 。
首先要知道 ls 这个命令,默认直接输入 ls 回车 基本用法是会列出当前路径下的文件 ,还有 cd 这个命令基本用法是 移动到指定的目录下。例如:
/proc : 这个目录本身是一个『虚拟文件系统(virtual filesystem)』,放置的数据都是 在内存当中, 例如系统核心、行程信息、周边装置的状态及网络状态等 等。因为这个目录下的数据都是在内存当中, 所以本身不占任何硬盘空间、
/sys : 实跟/proc非常类似,也是一个虚拟的文件系统,主要也是记录与核心
/ usr : 空间占用最多的目录,放置系统软件资源
/usr/X11R6/ :为X Window System重要数据所放置的目
/usr/bin/ : 绝大部分的用户可使用指令都放在这里
/usr/include/ : c/c++等程序语言的档头(header)与包含档(include)放置处
/usr/lib/ : 包含各应用软件的函式库、目标档案(object file),以及不被一般使用者惯用的执 行档或脚本(script)
/usr/local/ : 系统管理员在本机自行安装自己下载的软件(非distribution默认提供者),建议安 装到此目
/usr/sbin/ : 非系统正常运作所需要的系统指令。最常见的就是某些网络服务器软件的服务指 令(daemon)
/usr/share/ : /usr/share/man:联机帮助文件
/usr/share/doc:软件杂项的文件说明
/usr/share/zoneinfo:与时区有关的时区档案
/usr/src/ : 一般原始码建议放置到这里
/var 目录主要针对常态性变动的档案,包括快取(cache)、登录档(log file)以及某些软件运作 所产生的档案, 包括程序档案(lock file, run file
/var/cache/ : 应用程序本身运作过程中会产生的一些暂存档;
/var/lib/ : 程序本身执行的过程中,需要使用到的数据文件放置的目录
/var/lock/ : 上锁,某些装置或者是档案资源一次只能被一个应用程序所使用,如果同时有两个程序使 用该装置时, 就可能产生一些错误的状况,因此就得要将该装置上锁(lock),以确 保该装置只会给单一软件所使用
/var/log/ : 这是登录文件放置的目录
-
关于文件目录命令
在window系统下,管理文件一系列操作是可以通过鼠标来操作的。但是在Linux 系统下这些操作基本上是通过命令来完成,是很少很少通过图形界面用鼠标点击管理的。
先知道pwd这个这个命令,这个命令可以打印出当前所在的路径:
可以看到当前处于/home下
其次是cd这个指令 是用来在不同路径间互相切换的,就好比电梯这种,按下几楼它就会给你停在几楼,
还有几个常用的表示如下,
cd - (返回之前的目录) cd .. (返回父目录) cd ~ (到用户所在的家目录)
举例说明:
cd .. 返回的是父目录的意思 比如 /etc 的父目录是 / 用户hon的父目录是 home 而用户下面的文件的父目录是用户 hon 这个目录。
PS :
绝对路径与相对路径,个人理解:绝对路径是指从根目录下到指定目录的一个过程,绝对指定的意思。相对路径就是要切换目录的时候,不指定从根目录出发,直接从当前目录下cd 过去。例如:
接下来是怎么样用命令创建文件和目录了,涉及到的指令是 touch (创建文件) mkdir(创建目录)先看看效果:
但是对比window桌面系统是不是少了什么,那就是多级创建了,不可能一个目录下建立一个吧,可以同时建立多个文件,也可以递归建立多级目录。是有选项可选的哦;因为递归创建多级目录需要root权限 ,下面例子在root用户下操作,
所以 touch 后面以空格区分文件名,可创建多个 ,而mkdir -p 则是创建多级目录要加的选项,选项的可以组合使用的,这一点要注意,比如看看 mkdir --help
其中-v 说创建成功会打印结果出来 比如 -pv 进行组合执行,可以看出创建的同时也输出信息
现在目录文件会创建了,来了解一下 ls 这个查看文件的命令(一切皆文件),通过帮助说明发现一大堆使用说明,但是只有掌握几种常用的用法就好,有些命令一辈子也用不到何必呢哈哈,
PS :total 表示是列表中所有文件的磁盘空间占用总和,也就是资源占用总和,它的统计单位是kb。隐藏文件在linux下是小数点表示 的 比如 .file 就是隐藏文件,
删除文件和目录的命令是什么??
是rm这个命令哦。默认rm 是删除文件的,如果rm -r 表示删除目录 而且是递归删除。rm -rf 表示的是递归删除目录而且不提示
-
关于权限、用户、组
关于用户的所属目录,每个用户其实都有自己的家目录 ,超级用户root 的家目录是 ~ ,而普通用户的家目录在 /home/ 下。当然家目录是可以在创建的时候认为设置的哦,LInux系统是支持多用户多任务同时执行的系统,所以关于其用户之间、权限之间的种种关系需要用心去了解,比较复杂 ,不能一一举例介绍的,如有疑问不知道的内容多查资料!!
超级用户root是系统管理员 ,有着至高无上的权力。其次是系统用户,再到后面是普通用户。用普通用户办公才是正确的,不要每次都是在root下进行一些日常操作,这本该是不允许的。
最开始需要知道的是文件的说明代表着什么,比如执行 ll 之后 出现的这些说明:
这些显示的的文件结构,主要介绍的是文件的权限 以及所属用户组这些信息,
r (read):可读取此一档案的实际内容,如读取文本文件的文字内容等;
w (write):可以编辑、新增或者是修改该档案的内容(但不含删除该档案);
x (execute):该档案具有可以被系统执行的权限。
实际上会看到如上图所示的结构
- 第一个框以此下去介绍其含义,
- 前面的-这里表示的是文件类型,这是一个文件所以标识为- 。如果是目录就 d 还有很多种类,因为Linux下一切皆文件嘛
- 这是对应所属用户的权限,后面列出来两种用户,分别是所属用户root ,所属组 root。这里 R 读 W 是写 X是执行的意思。所以所属用户对该文件具有读写操作
- 同理 所属组具有读权限
- 这里的其他用户的权限,其他用户具有读权限
- 所属用户
- 所属组
- 文件大小 字节表示
- 最后一次修改的日期 月 日 时分
- 文件名
关于文件类型: 文件用 - 表示 目录 d 表示 连结档 L(l) [类似于window的快捷方式]
b 区块设备档(硬盘) c 串行接口设备 (鼠标键盘)
关于权限 r w x 分别对应 读 写 执行 。不同用户之间的文件是可以共享的,但是有权限制约着。文件 所属用户 或者 所属群组 以及之后的其他用户,默认创建文件之后的对应到权限也是不同,
既然有所属关系, 那么执行关系肯定是可修改的了,需要管理员才行执行
chown:修改文件的拥有者,前提是要有该拥有者 chown 拥有者 文件/目录 -R (递归修改)
chgrp:修改文件所属组,前提是要有该组 -R 递归修改
chmod:修改拥有者和所属组的权限 加减法:u/g/o +/-/= r/w/x 数字法:r=4,w=2,x=1
chgrp 修改文件所属组 和 chown 用法一样的,
修改对应权限 符号法 :u/g/o +/-/= r/w/x
符号法 :u 表示所属用户 g 表示所属组 o 表示其他用户 比如:
数字法:r=4,w=2,x=1 实际就是三位的二进制法,7是最权限 0是无权限
关于群组与用户ID。Linux规定root用户的UID为0,而其他的一些虚拟用户如bin,daermon等被分配到一些比较小的UID号
(虚拟用户和root使用的UID范围是0~499,剩下的是给普通用户) ,
每个文件都有自己的拥有者 ID 和群组 ID,当显示文件属性时,系统会根据 /etc/passwd 和 /etc/group 文件中的内容,分别找到 UID 和 GID 对应的用户名和群组名,然后显示出来。
root:(账号名称):x(:账号密码):0(:账号UID):0(:账号GID):root(:用户说明):/root(:用户家目录):/bin/bash(:shell解析)
1、账号名称:和用户UID对应,这是用户登录时使用的账号名称,在系统中是唯一的,不能重复。
2、账号密码:早期的Unix系统中,该字段是存放账号密码的,由于安全原因,后来把这个密码字段内容移动到/etc/shadown中,这里可以看到一个字母表示该用户密码在/etc/shadown中保护
3、账户UID:账号UID一般由一个整数表示的,范围是0~65535。
4、账户GID:账号GID一般也是由一个整数表示的,范围是0~65535,当添加账户时,默认情况下会同时建立一个与用户同名且UID和GID相同的组。
5、用户说明:这个字段是对这个账号描述说明。
6、用户家目录:用户登录后首先进入的目录,一般为(/home/用户名)这样的目录
使用者标识符: UID 与 GID (User ID ,简称 UID)、 (Group ID ,简称 GID)。 可以通过 id [用户名] 看看
关于用户首先必须要了解的是新建用户 删除用户 还有切换用户是怎么操作的。
新建用户 useradd 或者 adduser 、删除用户 userdel 、切换 就是 su 在此之前想看看怎么知道当前用户和怎么退出用户吧,
whoami 可以看当前用户 而 exit是退出的意思,看看实际现象:
可以看到当前用户是 hon 而且退出后到了 root ,还提示 logout 注销 了哈哈
su 这个命令 可以直接 【su 用户名】就可以切换了 ,普通用户与普通用户和超级用户之间切换要输入对应目标用户密码。超级用户切换为普通用户是不需要密码的, 切换用户的时候要这样 su - [用户名] ,为什么要加 - 呢 ,如果不加的话也可以实现切换但是缺没有吧对应的用户shell环境给切换。就是说没有真正意义上切换成功了。因此su - [用户名] 这样的切换方法才是正确的。
新建用户 useradd
|
这些选项根据需求啦,不过一般都是 useradd 【用户名】,使用默认的,默认分配UID GID 家目录默认 在/home底下。要注意的是建立一个账号的话系统默认会建立一个相同名字的群组哦。建立新用户之后,下一步是要设置密码的,一定要设置哦。在root底下设置或者更改密码的不需要 符合密码复杂度也可以设置成功哦,密码复杂度就是 需要有数字大小写字母特殊符号这些组合。在自己用户环境下改密码的话是需要符合复杂度才能修改成功的。
删除用户 userdel -r (连同家目录一起删除)
默认 使用 userdel 不加 -r 这选项的话是不会吧家目录删除的,所以尽量加上去吧,还有就是使用这个账号的时候,尽量在这个用户的家目录下做工作咯;
可以看到不加 -r 的时候用户家目录的存在的,并没有一起删除哦
但是就是剩下这个名字的目录而已,目录之下已经为空啦。
还有就是要记得这些和账号群组相关的配置文件名字如下:
用户账号/密码相关参数:/etc/passwd, /etc/shadow
使用者群组相关参数:/etc/group, /etc/gshadow
用户个人档案数据: /home/username, /var/spool/mail/username..
-
文本编辑相关
我们知道在window上打开文件查看编辑文件都很方便,就是点击打开编辑就行,但是linux终端下需要去掌握几个命令和工具,
首先要知道怎么看文件,也就是只读方式查看哈哈,一般就使用cat这个命令,顾名思义看的意思。一般就掌握这个就够了
查看文件用处不大真的,接下来就是怎么无编辑了,用到的就是强大的 vim 编辑器 所有的linux发行版都配备有的。是必备技能
- 古老版本 VI
基本上有三种模式 【一般模式】【编辑模式】【指令模式】
一般模式:
以 vi 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以 使用『复制、贴上』来处理你的文件数据。
编辑模式:
在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的! 要等到你
按下『i, I, o, O, a, A, 』等任何一个字母之后才会进入编辑模式。注意了!通常在 Linux 中,
按下这些按键时,在画面的左下方会出现『 INSERT 或 REPLACE 』的字样,此时才可以进行编
辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。
指令模式:
在一般模式当中,输入『 : / ? 』三个中的任何一个按钮,就可以将光标移动到最底下那一行。
在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、
显示行号等等的动作则是在此模式中达成的
- 一般模式下的命令
移动更改
h 或 向左箭头键(←) : 光标向左移动一个字符
j 或 向下箭头键(↓) :光标向下移动一个字符
k 或 向上箭头键(↑) : 光标向上移动一个字符
l 或 向右箭头键(→) : 光标向右移动一个字符
[Ctrl] + [f]
屏幕『向下』移动一页,相当于 [Page Down]按键 (常用)
[Ctrl] + [b]
屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用)
[Ctrl] + [d]
屏幕『向下』移动半页
[Ctrl] + [u]
屏幕『向上』移动半页
n<space>
那个 n 表示『数字』,例如 20 。按下数字后再按空格键,光标会向
右移动这一行的 n 个字符。例如 20<space> 则光标会向后面移动
20 个字符距离。
0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符处 (常用)
$ 或功能键[End] 移动到这一行的最后面字符处(常用)
H :光标移动到这个屏幕的最上方那一行的第一个字符
M :光标移动到这个屏幕的中央那一行的第一个字符
L :光标移动到这个屏幕的最下方那一行的第一个字符
G :移动到这个档案的最后一行(常用)
nG :n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档 案的第 20 行
gg : 移动到这个档案的第一行,相当于 1G 啊! (常用)
n<Enter> : n 为数字。光标向下移动 n 行(常用)
/word :向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可! (常用)
?word :向光标之上寻找一个字符串名称为 word 的字符串。
n :这个 n 是英文按键。代表『重复前一个搜寻的动作』。举例来说, 如 果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执 行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符 串!
N :这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动 作。 例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird
:n1,n2s/word1/word2/g : n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则: 『:100,200s/vbird/VBIRD/g』。(常用)
:1,$s/word1/word2/g :从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)
:1,$s/word1/word2/gc :从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取 代!(常用)
复制粘贴
x, X :在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向 前删除一个字符(相当于 [backspace] 亦即是退格键)
nx :n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个 字符, 『10x』。
dd :删除游标所在的那一整行(常用)
ndd :n 为数字。删除光标所在的向下 n 列,例如 20dd 则是删除 20 列 (常 用)
dG :删除光标所在到最后一行的所有数据
d$ : 删除游标所在处,到该行的最后一个字符
yy :复制游标所在的那一行(常用)
nyy : n 为数字。复制光标所在的向下 n 列,例如 20yy 则是复制 20 列(常 用)
y1G :复制光标所在列到第一列的所有数据
yG :复制光标所在列到最后一列的所有数据
y0 :复制光标所在的那个字符到该行行首的所有数据
y$ :复制光标所在的那个字符到该行行尾的所有数据
p, P :p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举 例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。 但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行。 (常 用)
J :将光标所在列与下一列的数据结合成同一列
c :重复删除多个数据,例如向下删除 10 行,[ 10cj ]
u :撤销前一个动作。(常用)
. : 小数点,重复上一个动作
存储 退出
:w :将编辑的数据写入硬盘档案中(常用)
:w! :若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还 是跟你对该档案的档案权限有关啊!
:q :离开 vi (常用)
:q! :若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
注意一下啊,那个惊叹号 (!) 在 vi 当中,常常具有『强制』的意思~
:wq :储存后离开,若为 :wq! 则为强制储存后离开 (常用)
ZZ :这是大写的 Z 喔!若档案没有更动,则不储存离开,若档案已经被更动 过,则储存后离开!
:w [filename] :将编辑的数据储存成另一个档案(类似另存新档)
:r [filename] :在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档 案内容加到游标所在行后面
:n1,n2 w [filename] :将 n1 到 n2 的内容储存成 filename 这个档案。
:! command :暂时离开 vi 到指令列模式下执行 command 的显示结果!例如 『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!
:set nu :显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu :与 set nu 相反,为取消行号!
- VIM
某些linux系统直接把vi升级成vim了,有些还是保留了。vim比vi更好用,完全是兼容的,在vi基础上,vim 具有显示颜色的功能,还有支持许多程序的语法,有检测作用。
区块选择(Visual Block)
v :字符选择,会将光标经过的地方反白选择!
V :行选择,会将光标经过的行反白选择!
[Ctrl]+v :区块选择,可以用长方形的方式选择资料
y :将反白的地方复制起来
d :将反白的地方删除掉
多文档编辑
格式 vim [文档1] [文档2]。。 :可以这样同时打开多个文档,默认开启第一个
files :查看开了哪些文档
n : 跳到下一个文档 (如果对其修改后必须保存之后才能回退到上一个文档)
N :跳到上一个文档
多窗口功能
:sp [filename] :开启一个新窗口,如果有加 filename, 表示在新窗口开启一个新档案,否 则表示两个窗口为同一个档案内容(同步显示)。
[ctrl]+w+ j / [ctrl]+w+↓ :按键的按法是:先按下 [ctrl] 不放, 再按下 w 后放开所有的按键,然后再 按下 j (或向下箭头键),则光标可移动到下方的窗口。
[ctrl]+w+ k / [ctrl]+w+↑ :同上,不过光标移动到上面的窗口。
[ctrl]+w+ q :其实就是 :q 结束离开啦! 举例来说,如果我想要结束下方的窗口,那么利 用 [ctrl]+w+↓ 移动到下方窗口后,按下 :q 即可离开, 也可以按下 ctrl]+w+q 啊!
环境设定
在线模式下设定:
可以透过配置文件来直接规定我们习惯的 vim 操作环境呢! 整体 vim 的
设定值一般是放置在 /etc/vimrc 这个档案,不过,不建议修改! 可以修改 家目录下 隐藏文件 ~/.vimrc 这个档案
(预设不存在,手动建立!),效果一样的哦。