生产环境部署与协同开发 Linux(三)

简介: 生产环境部署与协同开发 Linux(三)

四、Linux文件编辑工具vim及常见文件操作命令

4.1 vi/vim 的使用

vi或vim是Linux最常用的文本编辑器工具,vi或vim没有图形界面编辑器那样单机鼠标的简单操作,但vi编辑器在系统管理、服务器管理中,永远是图形界面的编辑器所不能比的。

基本上 vi/vim 共分为三种模式 :

  1. 命令模式(Command mode)
  2. 输入模式(Insert mode)
  3. 底线命令模式(Last line mode)

命令模式

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

命令 作用
dd 删除(剪切)光标所在的整行
5dd 删除(剪切)从光标处开始的5行
yy 复制光标所在整行
5yy 复制从光标处开始的5行
n 显示搜索命令定位到下一个字符串
N 显示搜索命令定位到的上一个字符串
u 撤销上一步操作
p 将之前删除dd或者复制yy过的数据粘贴到光标后面
G 文本最后面
gg 文本开始
shift+^ 移动到行头
shift+$ 移动到行尾
x 删除光标所在的字符

输入模式

在命令模式输入 iao 三个字母中的任意一个就能输入内容了,此时底部出现insert 时表示当前处在输入状态。

输入模式退出到命令模式使用ESC

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

底线命令模式

主要保存或者退出文件,以及设置Vim编辑器的工作环境,还可以让用户执行外部的Linux命令或跳转所编写文档的特定行数。

命令 作用
: w 保存
: q 退出
: q ! 强制退出
: wq! 强制保存退出
: set nu 显示行号
: set nonu 不显示行号
: 命令 执行该命令
: 整数 跳转到该行
:s/one/two 将当前光标所在行的第一个one替换成two
:s/one/two/g 将当前光标所在行的所有one替换成two
:%s/one/two/g 将全文中的所有one替换成two
?字符串 在文本中从下至上搜索该字符串
/字符串 在文本中从上至下搜索该字符串

4.2 Linux文件内容查看命令

cat(显示文件内容)

由第一行开始显示文件内容

cat [-AbEnTv]

选项与参数:

  • -A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
  • -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
  • -E :将结尾的断行字节 $ 显示出来;
  • -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
  • -T :将 [tab] 按键以 ^I 显示出来;
  • -v :列出一些看不出来的特殊字符

示例:查看 a.info 文件里面的内容

tac(倒着显示文件内容)

ac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

nl(显示行号)

nl [-bnw] 文件

选项与参数:

  • -b :指定行号指定的方式,主要有两种: -b a :表示不论是否为空行,也同样列出行号(类似 cat -n); -b t :如果有空行,空的那一行不要列出行号(默认值);
  • -n :列出行号表示的方法,主要有三种: -n ln :行号在荧幕的最左方显示; -n rn :行号在自己栏位的最右方显示,且不加 0 ; -n rz :行号在自己栏位的最右方显示,且加 0 ;
  • -w :行号栏位的占用的位数。

示例:显示 a.info 的行号

more(一页一页的显示文件内容)

在 more 这个程序的运行过程中,你有几个按键可以按的:

  • 空白键 (space):代表向下翻一页;
  • Enter :代表向下翻『一行』;
  • /字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
  • :f :立刻显示出档名以及目前显示的行数;
  • q :代表立刻离开 more ,不再显示该文件内容。
  • b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

less(往前翻页)

一页一页翻动,以下实例输出/etc/man.config文件的内容:

less运行时可以输入的命令有:

  • 空白键 :向下翻动一页;
  • [pagedown]:向下翻动一页;
  • [pageup] :向上翻动一页;
  • /字串 :向下搜寻『字串』的功能;
  • ?字串 :向上搜寻『字串』的功能;
  • n :重复前一个搜寻 (与 / 或 ? 有关!)
  • N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
  • q :离开 less 这个程序;

head(只看头几行)

取出文件前面几行

head [-n number] 文件

选项与参数:

  • -n :后面接数字,代表显示几行的意思

tail(只看尾几行)

tail [-n number] 文件

选项与参数:

  • -n :后面接数字,代表显示几行的意思
  • -f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测

4.3 Linux打包压缩与搜索命令

文件打包和压缩(tar)

文件打包就是将多个文件打包成一个文件。

tar  [选项] [文件]

选项:

-c 产生.tar打包文件

-v 显示详细信息

-f 指定压缩后的文件名

-z 打包同时压缩 Gzip

-x 解包.tar文件

示例:将test文件夹下的 文件打包并压缩。

示例:将package.tar.gz 文件中的文件解压到当前test文件夹

示例:将文件解压缩到/usr/local文件下

gzip/gunzip压缩

gzip+文件     (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip+文件.gz    (功能描述:解压缩文件命令)

示例:将a.info 文件压缩

示例:将a.info.gz 文件解压缩

搜索命令(grep)

grep 命令用于在文本中执行关键词搜索,并显示匹配的结果。

grep [参数 查找内容  源文件]

选项:

-b 将可执行文件(binary)当作文本文件(text)来搜索

-c 仅显示找到的行数

-i 忽略大小写

-n 显示行号

-v 反向选择—仅列出没有“关键词”的行

-E :开启扩展(Extend)的正则表达式

示例:搜索 a.info 文件中是否存在 "is" 字符串,并显示行号

搜索命令(find)

find 命令用于按照指定条件来查找文件。

find [查找路径] 寻找条件 操作

选项:

-name 匹配名称

-perm 匹配权限(mode 为完全匹配,-mode 为包含即可)

-user 匹配所有者

-group 匹配所有组

-mtime -n +n 匹配修改内容的时间(-n 指 n 天以内,+n 指 n 天以前)

-atime -n +n 匹配访问文件的时间(-n 指 n 天以内,+n 指 n 天以前)

-ctime -n +n 匹配修改文件权限的时间(-n 指 n 天以内,+n 指 n 天以前)

-nouser 匹配无所有者的文件

-nogroup 匹配无所有组的文件

-newer f1 !f2 匹配比文件 f1 新但比 f2 旧的文件

--type b/d/c/p/l/f 匹配文件类型(后面的字幕参数依次表示块设备、目录、字符设备、管道、 链接文件、文本文件)

-size 匹配文件的大小(+50KB 为查找超过 50KB 的文件,而-50KB 为查找小于 50KB 的文件)

-prune 忽略某个目录 -exec …… {}\; 后面可跟用于进一步处理搜索结果的命令(下文会有演示)

示例:查找当前文件夹下是否存在一个后缀是log的文件

示例:全局搜索a.info 文件

五、Linux常用系统工作命令

reboot 命令

reboot 命令用于重启系统,其格式为 reboot。

由于重启计算机这种操作会涉及硬件资源的管理权限,因此默认只能使用 root 管理员来 重启,其命令如下:

[root@localhost /]# reboot

poweroff 命令

poweroff 命令用于关闭系统,其格式为 poweroff。

该命令与 reboot 命令相同,都会涉及硬件资源的管理权限,因此默认只有 root 管理员才 可以关闭电脑,其命令如下:

[root@localhost /]# poweroff

wget 命令

wget 命令用于在终端中下载网络文件。

wget [参数] 下载地址

参数:

-b 后台下载模式

-P 下载到指定目录

-t 最大尝试次数

-c 断点续传

-p 下载页面内所有资源,包括图片、视频等

-r 递归下载

六、Linux重定向、管道符和环境变量

6.1 输入输出重定向

把多个 Linux 命令适当地组合到一起,使其协同工作,以便我们更加高效地处理数据。

  • 标准输入重定向(STDIN,文件描述符为 0):默认从键盘输入,也可从其他文件或命令中输入。
  • 标准输出重定向(STDOUT,文件描述符为 1):默认输出到屏幕。
  • 错误输出重定向(STDERR,文件描述符为 2):默认输出到屏幕。

输入重定向作用表

符号 作用
命令 < 文件 将文件作为命令的标准输入
命令 << 分界符 从标准输入中读入,直到遇见分界符才停止
命令 < 文件1 > 文件2 将文件 1 作为命令的标准输入并将标准输出到文件 2

输出重定向作用表

符号 作用
命令 > 文件 将标准输出重定向到一个文件中(清空原有文件的数据)
命令 2> 文件 将错误输出重定向到一个文件中(清空原有文件的数据)
命令 >> 文件 将标准输出重定向到一个文件中(追加到原有内容的后面)
命令 2>> 文件 将错误输出重定向到一个文件中(追加到原有内容的后面)
命令 >> 文件 2>$1或命令 & >>文件 将标准输出与错误输出共同写入到文件中(追加到原有内容的 后面)

示例:输出 a.info 文件的详细信息并将该文件的信息保存到该文件中。

示例:将错误数据输入到error.log 文件

6.2 管道命令符

管道命令符其执行格式为“命令 A | 命令 B”。命令符的作用也 可以用一句话来概括“把前一个命令原本要输出到屏幕的数据当作是后一个命令的标准输入”。

示例:

找出被限制登录用户的命令是 grep "/sbin/nologin" /etc/passwd
统计文本行数的命令则是 wc -l

现在要做的就是把搜索命令的输出值传递给统计命令,即把原本要输出到屏幕的用户信 息列表再交给 wc 命令作进一步的加工,因此只需要把管道符放到两条命令之间即可,具体如 下。这简直是太方便了!

grep "/sbin/nologin" /etc/passwd | wc -l

这个管道符就像一个法宝,我们可以将它套用到其他不同的命令上,比如用翻页的形 式查看/etc 目录中的文件列表及属性信息(这些内容默认会一股脑儿地显示到屏幕上,根本 看不清楚):

ls -l /etc/ | more

在修改用户密码时,通常都需要输入两次密码以进行确认,这在编写自动化脚本时将成为一个非常致命的缺陷。通过把管道符和 passwd 命令的--stdin 参数相结合,我们可以用一条 命令来完成密码重置操作:

echo "linuxprobe" | passwd --stdin root

相关文章
|
4月前
|
NoSQL 关系型数据库 Linux
ERPNext 搭建教程:Linux 一键部署与维护
ERPNext 是一款开源免费的企业资源计划系统,适用于中小企业信息化管理。基于 Python 和 Frappe 框架开发,支持财务、销售、人力、库存等模块,具备高度可定制性。本文介绍如何通过 Websoft9 在 Linux 下快速部署 ERPNext,并提供环境配置、系统维护等实用建议,适合开发者和企业用户快速上手。
538 7
ERPNext 搭建教程:Linux 一键部署与维护
|
6月前
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
1843 57
|
4月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
430 13
|
4月前
|
关系型数据库 Linux Nacos
Rocky Linux 部署 Docker 和 NACOS 实例
本文介绍在阿里云环境下基于 Rocky Linux 搭建 Docker 并部署 Nacos 的完整流程。涵盖 Docker 安装、镜像加速配置、网络设置及 MySQL 与 Nacos 容器的创建,适用于开发与生产环境。
613 1
|
6月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
463 17
|
6月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
144 18
|
2月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
313 1
二、Linux文本处理与文件操作核心命令
|
2月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
240 137
|
2月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
562 56
下一篇
开通oss服务