跳至正文

Linux基础命令(二)

本文介绍的是一些进阶的Linux命令使用方法,掌握基础的Linux命令,可以帮助你操作系统配置的时候更加得心应手。

cat : 显示文件的内容

cat [对象]

cat 命令适用于打开小一些的文件。

more 和 less 命令——分页查看文件内容

more

more 和 less 命令通过采用全屏的方式分页显示文件,便于我们从头到尾仔细地阅读文件内容。

more 命令是较早出现的分页显示命令,表示文件内容还有更多(more)的意思,less 命令是较晚出现的分页显示命令,提供了比早期 more 命令更多的一些扩展功能。两个命令的用法基本相同。
使用 more 命令查看超过一屏的文件内容时,将进行分屏显示,并在左下角显示当前内容在整个文件中的百分比。

在阅读界面中,可以按 Enter 键向下逐行滚动查看

more命令在使用时,
·按 Space 键可以向下翻一屏,
·按 b 键向上翻一屏,
·按 q 键退出并返回原来的命令环境。

示范:

less

less 命令使用方法与 more 命令基本类似,但是比 more 更好的是,less 命令结合管道符号“|”分屏查看执行命令时输出的信息时,既可以向下翻页,也可以向上翻页。而 more 命令只能向下翻页,不能向上翻页。

·使用”/”可进行查找功能,
·使用n去到下一个关键字,
·使用N回到上一个关键字。

head 和 tail 命令——查看文件开头或末尾的部分内容

head 和 tail 是一对作用相反的命令,前者用于显示文件开头的一部分内容,后者用于显示文件末尾的一部分内容。

可以使用“-n”选项(n 为具体的行数)指定需要显示多少行的内容,若不指定行数,默认只显示十行。

head -n

tail -n

示范:(不指定n的时候,默认n值为10)

wc统计命令

wc 命令用于统计文件内容中包含的行数、单词数、字节数等信息,使用文件名作为参数,可以同时统计多个文件

-c # 统计字节数,或--bytes:显示Bytes数。
-l # 统计行数,或--lines:显示列数。

使用不带任何选项的 wc 命令时,默认将统计指定文件的行数、单词数、字节数(相当于同时使用“-l”“-w”“-c”三个选项)。

例如,以下操作统计出/etc/hosts 文件中共包含 2 行、10 个单词、158 字节的内容,然后通过“cat /etc/hosts”命令列出文件内容,可核对统计结果是否正确。

[root@localhost ~]# wc /etc/hosts
2 10 158 /etc/hosts

grep 命令——检索、过滤文件内容

grep 命令用于在文件中查找并显示包含指定字符串的行,可以直接指定关键字符串作为查找条件,也可以使用复杂的条件表达式(例如,“^word”表示以 word 开头,“word$”表示以 word 结尾,“^$”表示空行)

grep [选项]… 查找条件 目标文件

grep 命令的常用选项如下所示。
 -i:查找内容时忽略大小写(Ignore Case)。
 -v:反转查找(Invert),即输出与查找条件不相符的行。

例如,执行“grep “ftp” /etc/passwd”命令,可以在账号文件/etc/passwd 中查找包含“ftp” 字符串的行,实际上输出了名为 ftp 的用户账号的信息,具体操作如下:

使用grep过滤含有#注释和大量空格行的文件,输出有效配置的行:

grep -v "^#" /etc/yum.conf | grep -v "^$"

备份与恢复

在 Linux 操作系统中,最简单的文件和目录备份工具就是 cp(复制)命令。但是当需要备份的文件、目录数量较多时,仅仅使用 cp 命令就显得“力不从心”,并且备份的文件数量及其所占用的磁盘空间都可能会对服务器产生不小的压力。因此,有必要对需要备份的数 据进行归档和压缩。
这里所说的归档操作实际上相当于“打包”,即将许多个文件和目录合并保存为一个整体 的包文件,以方便传递或携带。而压缩操作可以进一步降低打包后的归档文件所占用的磁盘 空间,充分提高备份介质的利用率。
Linux 操作系统中较常用的压缩命令工具包括 gzip、bzip2,最常用的归档命令工具为tar。使用 tar 命令可以通过特定选项自动调用 gzip 或 bzip2 程序,以完成归档、压缩的整套流程,当然也可以完成解压、释放已归档文件的整套流程。

首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。

使用解压缩工具

gzip 和 bzip2 是 Linux 操作系统中使用最多的两个压缩工具,这两个命令都可以压缩指定的文件,或者将已经压缩过的文件进行解压。两者使用的压缩算法各不相同,但命令使用格式基本类似,一般来说 bzip2 的压缩效率要好一些。

gzip 和 gunzip 命令


使用 gzip 制作的压缩文件默认的扩展名为“.gz”。制作压缩文件时,使用“-9”选项可以提高压缩的比率,但文件较大时会需要更多的时间。

以下是一个例子,将一个文件夹下的所有文件打包后压缩,并存储在/tmp目录下
gzip -1 使用一级别压缩 压缩比例最少 压缩速度最快 -9 压缩比例最大 压缩速度最慢 默认1-9 不加级别默认是6级别

解压文件:默认解压到当前文件夹,如果需要解压到其他文件夹,则使用-C选项

bzip2 和 bunzip2 命令


bzip2 和 bunzip2 命令的用法与 gzip、gunzip 命令基本相同,使用 bzip2 制作的压缩文件默认的扩展名为“.bz2”。

解压:tar -jxvf [压缩包]
压缩:tar -jcvf [生成的打包文件] [被打包文件]

注:如需单独解压gz文件,请使用gzip -d [压缩包.gz]

vi编辑器

vi 编辑器是 Unix 系统中最经典的文本编辑器之一,由 Bill Joy 于 1976 年左右开发,最初随 BSD Unix 发布。

vi 编辑器的用法核心在于“模式切换”——不同模式下按键功能不同。

启动和退出

vi filename  # 新建一个filename文件

退出常用命令(需在 命令模式 输入):

  • :w 保存
  • :q 退出
  • :wqx 保存并退出
  • :w /etc/config.ini 另存到其他位置
  • :q! 不保存并退出

普通模式(Normal)

  • 打开 vi 默认进入此模式
  • 用于移动光标、删除、复制等
  • i 进入插入模式
  • : 进入末行模式

插入模式(Insert)

  • 可以输入文本
  • Esc 回到普通模式

末行模式(Command-line)

按回车执行

在屏幕底部输入命令(如 :wq

命令模式

光标操作

操作类型操作键功能
方向移动↑、↓、←、→上、下、左、右
翻页Page Down 或 Ctrl+F向下翻动一整页内容
翻页Page Up 或 Ctrl+B向上翻动一整页内容
行内快速跳转Home 键 或 ^ 或 数字 0跳转至行首
行内快速跳转End 键 或 $跳转到行尾
行间快速跳转1G 或 gg跳转到文件的首行
行间快速跳转G跳转到文件的末尾行
行间快速跳转#G跳转到文件中的第 # 行
行号显示:set nu在编辑器中显示行号
行号显示:set nonu取消编辑器中的行号显示

复制、粘贴、删除

操作类型操作键功能
删除x 或 Del删除光标处的单个字符
删除dd删除当前光标所在行
删除#dd删除从光标所在行开始的 #行内容
删除d^删除当前光标之前到行首的所有字符
删除d$删除当前光标处到行尾的所有字符
复制yy复制当前行整行的内容到剪贴板
复制#yy复制从光标所在行开始的 #行内容
粘贴p将缓冲区中的内容粘贴到光标位置处之后
粘贴P粘贴到光标位置处之前

末行模式

打开新文件或者写入其他文件

命令功能
:e ~/install.log打开新的文件进行编辑
:r /etc/filesystems在当前文件中读入其他文件内容

文件内容替换

命令功能
:s /old/new将当前行中查找到的第一个字符 “old” 替换为 “new”
:s /old/new/g将当前行中查找到的所有字符串 “old” 替换为 “new”
:#,# s/old/new/g在行号 “#,#” 范围内替换所有的字符串 “old” 为 “new”
:% s/old/new/g在整个文件范围内替换所有的字符串 “old” 为 “new”
:s /old/new/c在替换命令末尾加入 c 命令,将对每个替换动作提示用户进行确认

结语

本文介绍了 Linux 中常用的文件查看与归档命令,包括 catmorelesswctail 以及 tarvi等。它们在日常工作中可用于快速查看文件内容、统计信息、实时监控日志、以及打包压缩数据。熟练掌握这些命令,不仅能提高终端操作效率,还能在处理海量文本和备份任务时更加得心应手。多加练习,你会发现它们是 Linux 世界中最得力的工具之一。

附录: Linux的根目录结构

目录作用简介
/根目录,所有文件和目录的起点。
/bin存放基本的用户命令(如 lscpcat)。
/boot系统启动相关文件和内核。
/dev设备文件(如硬盘、终端、USB)。
/etc系统配置文件。
/home普通用户的家目录。
/lib系统运行所需的共享库和内核模块。
/media挂载可移动介质(如U盘、光盘)。
/mnt临时挂载点。
/opt第三方软件安装目录。
/proc内核与进程信息的虚拟文件系统。
/rootroot 用户的家目录。
/run系统运行时产生的临时文件。
/sbin系统管理命令(仅管理员使用)。
/srv服务数据目录(如网站数据)。
/sys系统硬件信息的虚拟文件系统。
/tmp临时文件夹(重启会清空)。
/usr用户应用程序和文件。
/var变化频繁的文件(日志、缓存、邮件等)。

《Linux基础命令(二)》有1个想法

回复 123 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注