系列文章:
vi 与vim
- vi 文本编辑器
- Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
vi和vim常用的三种模式
-
正常模式(vim 打开一个档案就直接进入,这是默认的模式)
-
『上下左右』按键来移动光标
-
『删除字符』或『删除整行』
如dd 删除当前行
5dd 删除当前行向下的5行 -
『复制、贴上』
yy拷贝当前行
5yy拷贝当前向下5行
p是粘贴 -
撤销
输入 u -
行号
:set nu 显示行号
:set nonu 不显示行号 -
查找
/ 关键字 回车。输入n就是查找下一个 -
定位
G 定位末行
gg 定位首行
-
-
插入模式
进入插入模式:在正常模式下插入i -
命令行模式
在这个模式当中, 可以提供你相关指令,完成读取、存盘、替换、离开vim 、显示行号等的动作则是在此模式中达成的!
文件目录类指令
pwd 显示当前工作目录
显示当前工作目录的绝对路径
ls 显示文件信息
ls [选项] [目录或是文件]
• 常用选项
-a :显示当前目录所有的文件和目录,包括隐藏的。
-l :以列表的方式显示信息
cd 指令 切换到指定目录
• 基本语法
cd [参数] (功能描述:切换到指定目录)
• 常用参数 绝对路径和相对路径
cd ~ 或者cd :回到自己的家目录
cd … 回到当前目录的上一级目录
mkdir指令 创建目录
mkdir指令用于创建目录
• 基本语法
mkdir [选项] 要创建的目录
• 常用选项
-p :创建多级目录
如/opt/module这个目录存在,但是redis这个文件夹不存在,而我想要在/opt/module/redis/创建config这个文件夹,就需要-p
rmdir指令 删除空目录
rmdir指令删除空目录
• 基本语法
rmdir [选项] 要删除的空目录
• 应用实例
案例1:删除一个目录 /home/dog
• 使用细节
rmdir 删除的是空目录,如果目录下有内容时无法删除的。
提示:如果需要删除非空目录,需要使用 rm -rf 要删除的目录
touch指令 创建空文件
• 基本语法
touch 文件名称
• 应用实例
案例1: 创建一个空文件 hello.txt touch hello.txt
cp指令 拷贝文件到指定目录
cp 指令拷贝文件到指定目录
• 基本语法
cp [选项] source dest
• 常用选项
-r :递归复制整个文件夹
• 使用细节
强制覆盖不提示的方法:\cp
如果复制的包含文件夹 会显示略过目录()。此时需要用到-r
rm指令 指令移除文件或目录
• 基本语法
rm [选项] 要删除的文件或目录
• 常用选项
-r :递归删除整个文件夹
-f : 强制删除不提示
mv 移动文件与目录或重命名
• 基本语法
mv oldNameFile newNameFile (功能描述:重命名) mv /temp/movefile /targetFolder (功能描述:移动文件)
cat 查看文件内容
• 基本语法
cat [选项] 要查看的文件
• 常用选项
-n :显示行号
cat -n a.txt
more指令
more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。
more指令中内置了若干快捷键
• 基本语法
more 要查看的文件
• 操作说明
• 应用实例
案例: 采用more查看文件
/etc/profile
less指令
less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是 根据显示需要加载内容,对于显示大型文件具有较高的效率。
• 基本语法
less 要查看的文件
• 操作说明
• 应用实例
案例: 采用less查看一个大文件文件
/opt/金庸-射雕英雄传txt精校版.txt
echo输出内容到控制台。
• 基本语法
echo [选项] [输出内容]
• 应用实例
案例: 使用echo 指令输出环境变量
echo $JAVA_HOME
案例: 使用echo 指令输出 hello,world!
echo "hello word!"
head指令显示文件的开头部分内容
head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
• 基本语法
head 文件 (功能描述:查看文件头10行内容)
head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
• 应用实例
案例: 查看/etc/profile 的前面5行代码
tail用于输出文件中尾部的内容
默认情况下tail指令显示文件的前10行内容。
• 基本语法
- tail 文件 (功能描述:查看文件头10行内容)
- tail -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
- tail -f 文件 (功能描述:实时追踪该文档的所有更新)
• 应用实例
案例1: 查看/etc/profile 最后5行的代码
案例2: 实时监控mydate.txt , 看看到文件有变化时,是否看到, 实时的追加日期
>覆盖和>>追加
> 输出重定向:会将原来的文件内容覆盖
>>追加:不会覆盖原来的文件内容,只是追加到文件的末尾
• 基本语法
-
ls -l >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))
如果文件不存在,会自动创建文件。
-
ls -al >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
文件不存在会自动创建文件
-
cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
-
echo “内容”>> 文件
ln 软链接
软链接也成为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径
• 基本语法
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
• 应用实例
案例1: 在/home 目录下创建一个软连接 linkToRoot,连接到 /root 目录
案例2: 删除软连接linkToRoot
• 细节说明
当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录。
history指令
查看已经执行过历史命令,也可以执行历史指令
• 基本语法
history (功能描述:查看已经执行过历史命令)
• 应用实例
案例1: 显示所有的历史命令 history
案例2: 显示最近使用过的10个指令。history 10
案例3:执行历史编号为5的指令 !5
这个没空格
时间日期类
date指令-显示当前日期
• 基本语法
- date (功能描述:显示当前时间)
- date +%Y (功能描述:显示当前年份)
- date +%m (功能描述:显示当前月份)
- date +%d (功能描述:显示当前是哪一天)
- date “+%Y-%m-%d %H:%M:%S”(功能描述:显示年月日时分秒)
• 应用实例
案例1: 显示当前时间信息
案例2: 显示当前时间年月日
案例3: 显示当前时间年月日时分秒
date指令-设置日期
• 基本语法
date -s 字符串时间
• 应用实例
案例1: 设置系统当前时间, 比如设置成 2020-11-11 11:22:22
cal指令查看日历指令
• 基本语法
cal [选项] (功能描述:不加选项,显示本月日历)
• 应用实例
案例1: 显示当前日历
案例2: 显示2020年日历
搜索查找类
find指令
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
• 基本语法
find [搜索范围] [选项]
• 选项说明
• 应用实例
案例1: 按文件名:根据名称查找/home 目录下的hello.txt文件案例2:按拥有者:查找/homet目录下,用户名称为ytm的文件
案例3:查找/home下大于20m的文件(+n 大于 -n小于 n等于) 需要带上单位
locate指令快速定位文件路径
locate指令利用事先建立的系统中所有文件名称及路径 的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。 为了保证查询结果的准确度,管理员必须定期更新locate时刻。
• 基本语法
locate 搜索文件
• 特别说明
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate 数据库
。
• 应用实例
案例1: 请使用locate 指令快速定位 hello.txt 文件所在目录
grep指令和 管道符号|
grep 过滤查找 , 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
• 基本语法
grep [选项] 查找内容源文件
• 常用选项
• 应用实例
案例1: 请在 hello.txt 文件中,查找 “ll” 所在行,并且显示行号
压缩和解压类
gzip/gunzip 指令
gzip 用于压缩文件, gunzip 用于解压的
• 基本语法
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
说明:使用gzip 压缩时,不会保留原文件
• 应用实例
案例1: gzip压缩, 将 /home下的 hello.txt文件进行压缩
案例2: gunzip压缩, 将 /home下的 hello.txt.gz 文件进行解压缩
zip/unzip 指令
zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的
• 基本语法
zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)
• zip常用选项
-r:递归压缩,即压缩目录
• unzip的常用选项
-d<目录> :指定解压后文件的存放目录
• 应用实例
案例1: 将 /home下的 所有文件进行压缩成 mypackage.zip
案例2: 将mypackge.zip 解压到/opt/tem目录下
tar 指令
tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。
• 基本语法
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
• 选项说明
• 应用实例
案例1: 压缩多个文件,将 /home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gz
案例2: 将/home 的文件夹压缩成myhome.tar.gz
案例3: 将a.tar.gz 解压到当前目录
案例4: 将myhome.tar.gz 解压到 /opt/目录下
指定解压的目录必须事先存在,否则报错