目录

一 Linux 目录结构

二 查看及检索文件

2.1 查看文件内容

2.1.1. cat:显示文件内容(适合小文件)。

2.1.2 more/less:分页查看文件内容

2.1.3.head/tail:查看文件开头或末尾内容。

2.2 统计和检索文件内容

2.2.1 wc:统计文件行数、单词数、字节数。

2.2.2 grep:检索文件内容。

三 备份与恢复文档

3.1 压缩和解压缩工具

3.1.1 gzip / bzip2

3.1.2 gunzip / bunzip2

3.2 归档工具 tar

3.2.1  归档并压缩:

3.2.2   解压并释放:

四 使用 vi 文本编辑器

4.1 工作模式

4.2 命令模式的基本操作

4.2.1.模式切换

4.2.2. 光标移动

 4.2.2.1.光标方向的移动

4.2.2.2.翻页移动

4.2.2.3.行内快速跳转

4.2.2.4.行间快速跳转

4.2.2.5.行号显示

补充

4.2.3  复制 粘贴 删除

4.2.3.1.删除操作

4.2.3.2.复制操作        

4.2.3.3.粘贴操作

4.2.4  查找文件内容

补充

4.2.5  撤销编辑及保存和退出

4.3 末行模式中的基本操作

4.3.1  保存文件及退出 vi 编辑器

4.3.1.1保存文件

4.3.1.2退出编辑器

4.3.1.3保存并退出

4.3.2  打开新文件或读入其他文件内容

4.3.3  替换文件内容

总结


一 Linux 目录结构

Linux 采用树形目录结构,所有分区、目录和文件均以根目录“/”为起点。

以下是常见子目录及其作用:
/boot:存放系统内核和启动文件。
/bin:  存放所有用户可执行的常用命令(如 cp、ls)。
/dev: 存放设备文件(如磁盘 )。
/etc:  存放系统配置文件(如账号密码文件)。
/home:普通用户的宿主目录(如 /home/teacher)。
/root: 管理员 root 的宿主目录。
/sbin: 存放系统管理命令(仅管理员可执行)。
/usr:   放用户应用程序。
/var:   存放经常变化的文件(如日志文件)。

二 查看及检索文件

2.1 查看文件内容

        对于一个文本格式的配置文件,可以利用不同的查看方式来获知文件内容,如直接显示  整个文件内容、分页查看文件内容,或者只查看文件开头或末尾的部分内容。在 Linux 操作系统中,分别由不同的命令来实现这些操作。
 

2.1.1. cat:显示文件内容(适合小文件)。

cat 命令本来用于连接(Concatenate)多个文件的内容,但在实际使用中更多地用于查看文件内容。cat 命令是应用最为广泛的文件内容查看命令。

            cat [选项] 文件名

 查看网络配置:  cat /etc/sysconfig/network-scripts/ifcfg-ens33

ONBOOT 开启

NAME 名字

IPADDR IP地址

GATEWAY 子网掩码

cat /etc/hosts 主机映射

cat /etc/redhat-release       CentOS 系统的发行版本信息

cat /proc/version                系统内核及开发环境、时间等信息

2.1.2 more/less:分页查看文件内容

使用 cat 命令可以非常简单地直接显示整个文件的内容,但是当文件中的内容较多时, 很可能只能看到最后一部分信息,文件前面的大部分内容都来不及看到。而 more 和 less 命令通过采用全屏的方式分页显示文件,便于我们从头到尾仔细地阅读文件内容。

           more [选项] 文件名

  交互操作方法
按enter键向下逐行滚动
按空格键向下翻一屏
按b键向上翻一屏
按q键退出

more 命令除了可以分屏查看文件内容以外,还可以结合管道符号“|”分屏查看执行命令时的输出信息,这在命令输出内容较多的情况下特别有用。例如,以下操作可以分页查看/etc/ 目录下扩展名为“.conf”的配置文件

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

  less [选项] 文件名

交互操作方法
page up向上翻页,page down向下翻页
按"/"键查找内容,"n"下一个内容,"N"上一个内容
其他功能与more命令基本类以

2.1.3.head/tail:查看文件开头或末尾内容。

    head命令
用途:查看文件开头的一部分内容(默认为10行)
head -n 文件名

      tail命令
用途:查看文件结尾的少部分内容(默认为10行)
tail -n 文件名
tail -f 文件名

tail 命令通常用于查看系统日志(因为较新的日志记录总是添加到文件最后),以便观察网络访问、服务调试等相关信息。配合“-f”选项使用时,还可以跟踪文件尾部内容的动态更新,便于实时监控文件内容的变化。

 head -4 /etc/passwd  查看用户账号文件/etc/passwd 开头第一行至第四行的内容

tail -4 /etc/passwd  查看用户账号文件/etc/passwd 末尾第一行至第四行的内容


   tail -f /var/log/messages

查看系统公共日志文件/var/log/messages 的最后十行内容,并在末尾跟踪显示该文件中新记录的内容

2.2 统计和检索文件内容

2.2.1 wc:统计文件行数、单词数、字节数。

      wc [选项] 目标文件

-l:统计文件内容中的行数。
-w:统计文件内容中的单词个数(以空格或制表位作为分隔)。
-c:统计文件内容中的字节数。

当文件的行数、单词数或字节数具有特定的意义时,使用 wc 命令可以巧妙地获得一些特殊信息。

 wc -l /etc/passwd  # 统计用户账号数量

 wc 命令与管道符号一起使用,还可以对命令输出结果进行统计。

例如,若要统计/etc/目录下共包含多少个扩展名为“.conf”的文件,可以先通过“find /etc -name "*.conf"”命令找出符合条件的文件位置,由于 find 命令的输出结果也是每行一个文件记录,因此只需结合管道符号执行“wc -l”操作即可得出符合条件的文件数量,具体操作如下:

[root@localhost ~]# find /etc -name "*.conf" | wc -l

使用不带任何选项的 wc 命令时,默认将统计指定文件的行数、单词数、字节数

2.2.2 grep:检索文件内容。

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

常用命令选项
 -i  :查找时忽略大小写
 -v :反转查找,输出与查找条件不相符的行

查找条件设置
要查找的字符串以双引号括起来
"^......"表示以.....开头, 头,"......$"表示以.....结尾
"^$" 表示空行

grep "ftp" /etc/passwd

显示/etc/yum.conf 文件中以“#”开头的行和空行以外的内容。
 

grep "ftp" /etc/passwd  # 查找包含“ftp”的行
   grep -v "^#" /etc/yum.conf | grep -v "^$"  # 过滤注释和空行

三 备份与恢复文档


3.1 压缩和解压缩工具

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

3.1.1 gzip / bzip2

 制作压缩文件

 gzip [-9] 文件名
 bzip2 [-9] 文件名 

解开压缩文件

 gzip -d  .gz格式的压缩文件 
 bzip2 -d  .bz2格式的压缩文件

常用命令选项
-9   压缩等级

-d  解压

 压缩级别(1~9)的作用
   (1) gzip的压缩级别
 

 级别       压缩速度          压缩率    适用场景
1 最快  最低(压缩比约2:1)  需要快速压缩,不关心文件大小(如临时文件)
3 较快   中等(默认级别)   平衡速度和压缩率(日志轮转、web服务器)
6 较慢 较好       适用于大多数需要较好压缩的场景
9  最慢  最高(压缩比约4:1) 追求最小文件大小,可接受长时间压缩(如归档)

      关键点:
 默认级别:gzip 认为使用 -6 (平衡速度和压缩率)
 -9收益递减:相比-6, -9 可能仅提升2%~5%的压缩率,但耗时可能翻倍

3.1.2 gunzip / bunzip2

gunzip命令
gunzip 等价于gzip -d
     gunzip mkfile.gz      =      gzip -d mkfile.gz

 bunzip2命令
bzip2和bunzip2命令的用法与gzip,gunzip命令基本相同

3.2 归档工具 tar


3.2.1  归档并压缩:

 制作归档文件,释放归档文件
tar  [选项]   归档文件名  源文件或目录

常用命令选项

-c:创建(Create).tar 格式的包文件。

-C:解压时指定释放的目标文件夹。

-f:表示使用归档文件。

-j:调用 bzip2 程序进行压缩或解压。

-p:打包时保留文件及目录的权限。

-P:打包时保留文件及目录的绝对路径。 /home/why/yjs

-t:列表查看包内的文件。

-v:输出详细信息(Verbose)。

-x:解开.tar 格式的包文件。

-z:调用 gzip 程序进行压缩或解压。


3.2.2   解压并释放:

 tar  [选项]   归档文件名  [-C目标目录]

四 使用 vi 文本编辑器

配置文件是 Linux 操作系统的显著特征之一,其作用有点类似于 Windows 操作系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式。本节将学习如何使用 Linux 字符操作界面中的文本编辑器——vi,以便更好地管理和维护系统中的各种配置文件。

vi 是一个功能强大的全屏幕文本编辑工具,一直以来都作为类 UNIX 操作系统的默认文本编辑器。vim 是 vi 文本编辑器(简称 vi 编辑器)的增强版本,在 vi 编辑器的基础上扩展了很多实用的功能,但是习惯上也将 vim 称为 vi。


4.1 工作模式


- 命令模式:默认模式,该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作。

- 输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修  改或添加新的内容。处于输入模式时,vi 编辑器的最后一行会出现“-- INSERT --” 的状态提示信息。

- 末行模式:该模式中可以设置 vi 编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时, vi 编辑器的最后一行会出现冒号“:”提示符。

不同模式间切换

输入模式→Esc→ 命令模式→  ":" 键  →  末行模式

末行模式→Esc→ 命令模式→a,o,i等键 →  输入模式

4.2 命令模式的基本操作

4.2.1.模式切换

命令模式时,按 Esc 键即可。常见的几个模式切换键及其作用如下。

a:在当前光标位置之后插入内容。

A:在光标所在行的末尾(行尾)插入内容。

i:在当前光标位置之前插入内容。

I:在光标所在行的开头(行首)插入内容。

o:在光标所在行的后面插入一个新行。

O:在光标所在行的前面插入一个新行。


4.2.2. 光标移动

 4.2.2.1.光标方向的移动

直接按↑、↓、←、→四个方向键完成相应的光标移动。

4.2.2.2.翻页移动

按 Page Down 键或 Ctrl+F 组合键向下翻动一整页内容。

按 Page Up 键或 Ctrl+B 组合键向上翻动一整页内容。

4.2.2.3.行内快速跳转

按 Home 键或^键、数字 0 键将光标快速跳转到本行的行首。

按 End 键或$键将光标快速跳转到本行的行尾。

在上述按键操作中,Page Down、Page Up、Home、End 键及方向键同样也可在 vi的输入模式中使用。

4.2.2.4.行间快速跳转

使用按键命令 1G 或者 gg 可跳转到文件内容的第 1 行。

使用按键命令 G 可跳转到文件的最后一行。

使用按键命令#G 可跳转到文件中的第#行(其中“#”号用具体数字替换)。

4.2.2.5.行号显示

切换到末行模式并执行如下的“:set nu”命令即可显示行号,执行“:set nonu”命令可以取消显示行号。


补充

w       跳到下一个单词
b       跳到上一个单词
H 当前屏幕第一行
M 当前屏幕中间
L 当前屏幕最后一行
 

4.2.3  复制 粘贴 删除

4.2.3.1.删除操作

 x 键或 Delete键     删除光标处的单个字符。

 dd             删除当前光标所在行

#dd            删除从光标处开始的#行内容(其中“#”号用具体数字替换)。

 d^             删除当前光标之前到行首的所有字符。

d$              删除当前光标处到行尾的所有字符。

4.2.3.2.复制操作        

 yy             复制当前行整行的内容到剪贴板,

#yy            复制从光标处开始的#行内容(其中“#”号用具体数字替换)。复制的内容需  要粘贴后才能使用。

4.2.3.3.粘贴操作

p          将缓冲区中的内容粘贴到光标位置处之后

P          会粘贴到光标位置处之前。
 

4.2.4  查找文件内容

/word     从上而下在文件中查找字符串"word"

?word    从下而上在文件中查找字符串"word"

n           定位下一个匹配的被查找字符串

N           定位上一个匹配的被查找字符串

补充

r              修改当前字符
ctrl+r       反撤销(撤销u操作)

12,14 co 20 复制到

27,28 m 11 剪切到

4.2.5  撤销编辑及保存和退出

u       按一次取消最近的一次操作;重复u键,恢复多步操作

U      用于取消对当前行所做的所有编辑

ZZ    保存当前的文件内容并退出v编辑器

4.3 末行模式中的基本操作

在命令模式中按:键可以切换到末行模式,vi 编辑器的最后一行中将显示“:”提示符,用户可以在该提示符后输入特定的末行命令,完成如保存文件、退出编辑器、打开新文件、读取其他文件内容及字符串替换等丰富的功能操作

4.3.1  保存文件及退出 vi 编辑器

4.3.1.1保存文件

:w                         保存修改的内容

:w /root/newfile    另存为其它文件

4.3.1.2退出编辑器

:q           未修改退出

:q!          放弃对文件内容的修改,并退出vi

4.3.1.3保存并退出

:wq  或  :x           保存修改的内容并退出

4.3.2  打开新文件或读入其他文件内容

:e ~/install.log           打开新的文件进行编辑

:r /etc/filesystems     在当前文件中读入其他文件内容

4.3.3  替换文件内容

: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目录结构及用途。
文件操作:掌握查看(cat,more,less,head,tail)、统计(wc)、检索文件(grep)的命令。
备份与恢复归档
  - gzip 压缩
  - gunzip 解压(等同于 gzip -d)
  - bzip2 压缩
  - bunzip2 解压(等同于bzip2 -d)
- tar 命令
  - tar czvf 创建 gzip 格式压缩包并且归档以及输出
  - tar xzvf 解压 gzip 格式的压缩包并且归档以及输出
  - tar cjvf  创建 bzip2 格式压缩包并且归档以及输出
  - tar xjvf  解压 bzip2 格式的压缩包并且归档以及输出
- 从归档文件中恢复数据

tar [选项] 及压缩文件名 [-c目标目录]

vi文本编辑器工作模式与不同工作模式之间的切换

vi文本编器命令模式与未行模式的基本操作

命令模式:用于编辑操作(光标移动,删除,复制等)
输入模式:用于输入和修改文本
末行模式:用于文件保存,退出,查找,替换等高级操作

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐