Linux--目录与文件操作

前言

FHS(Filesystem Hierarchy Standard,目录层次标准)定义了两层规范:
第一层是“/”目录下的各个目录应该放什么数据文件。例如,/etc目录下放置系统的配置文件,而/bin 和/sbin 放置程序及系统命令。
第二层是针对/usr 和/var 这两个目录的子目录来定义,例如:/var/log下放置系统日志文件等。

一、Linux目录结构

1.1、树形目录结构

CentOS系统中的目录和文件数据被组织为一个树形目录结构,所有的分区,目录,文件等都具有一个相同的位置起点—根目录。CentOS系统定位文件或目录位置时,使用斜杠“/”进行分隔(区别于Windows系统中的反斜杠“/")。整个树形目录结构中,使用独立的一个”/“表示根目录,根目录是CentOS文件系统的起点,其所在的分区称为根目录。根目录下,CentOS系统将默认建立一些特殊的子目录,分别具有不同的用途。

1.2、常见的子目录及其作用

在这里插入图片描述

二、查看及检索文件

2.1、查看文件内容

2.1.1、cat 显示并连接文件的内容

在这里插入图片描述

2.1.2、more 查看文件内容

在这里插入图片描述

2.1.3、less 查看文件内容

在这里插入图片描述

2.1.4、查看文件开头或末尾的部分内容(head/tail)

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

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

格式:tail -f 文件名…
tail -f 与tail -n不同的是”-f“为动态查看日志信息,tail -f 输入后会一直在日志末行查看数据累增情况。

2.2、统计和检索文件内容

在维护Linux系统的过程中,除了查看文件内容以外,有时候还需要对文件内容进行统计,或者查找符合条件的文本内容。

2.2.1、wc 统计文件内容中的单词数量,行数等信息

在这里插入图片描述

2.2.2、grep 检索、过滤文件内容

在这里插入图片描述

三、备份与恢复文档

在Linux系统中,最简单的文件和目录备份工具就是cp复制命令。但是当需要备份的文件,目录数量较多时,仅仅使用cp命令就力不从心,且备份出来的文件数量及空间都会对服务器你产生不小的压力。面对这种情况,我们选择压缩和归档。
Linux系统中较常用的压缩命令工具包括gzip、bzip2,最常用的归档命令工具为tar。
gzip和bzip2是Linux系统中使用最多的两个压缩工具,这两个命令都可以压缩指定的文件,或者将已经压缩过的文件进行解压。两者使用的压缩算法各不相同,但命令使用格式基本相似,一般来说bzip2的压缩效率要好一些。

3.1、使用压缩和解压缩工具(gzip,bzip2)

gzip和bzip2命令:
用途:制作压缩文件、解开压缩文件

gzip -9 文件名 对压缩包进行压缩
bzip2 -9 文件名 对压缩包进行压缩
gzip -d 文件名 .gz 对压缩包进行解压缩
bzip2 -d 文件名 .bz2 对压缩包进行解压缩

常用命令:
-9 :表示高压缩比
-d :解压缩

3.2、使用tar归档和释放工具

tar命令主要用于对目录和文件进行归档。在实际的备份工作中,通常在归档的同时也会将包文件进行压缩(gzip或bzip2),以便节省磁盘空间。使用tar命令时,选项前的“-”号可以省略。

-c:创建tar格式的包文件

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

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

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

-P:打包时保留文件及目录的绝对路径

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

-v:输出详细信息

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

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

-f:文件名,指定的文件名存档

例如:现在需要将/opt进行包压缩,格式为123.tar.bz2,打包文件放到/mnt。
tar jcvf /mnt /123.tar.bz2 /opt/

四、使用vi文本编辑器

4.1、VI编辑器的工作模式

在这里插入图片描述
在这里插入图片描述
命令模式:启动vi编辑器后默认进入命令模式。在该模式中主要完成如光标移动,字符串查找,以及删除,复制,粘贴文件内容等相关操作。

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

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

4.2、命令模式中的基本操作

命令模式(vi文件名,就进入了命令模式。退出命令模式,可以在末行模式中输入q)
可以使用一下命令:
dd:删除一行

u:撤回

yy:复制一行

p:将复制的行粘贴在光标所在行的下一行

P:将复制的行粘贴在光标所在行的上一行

x:删除光标所在处字符(按着不动,先删光标后面,再删前面)

r:替换光标所在处字符

ZZ:保存退出 (shift+z+z)

4.3、输入模式中的基本操作

输入模式(i、l、a、A就进入输入模式。退出输入模式,按ESC退到命令模式),在此模式下可像在记事本中一样,修改文件内容。
a:将在光标所在位置之后插入文本(append)

A:将在光标所在行末插入文本

i:将在光标所在位置之前插入文本(insert)

I:将在光标所在行的第一个非空字符前插入文本

o:将在光标所在行的下一行开始插入文本(open)

O:将在光标所在行的上一行开始插入文本

g:按2次,光标移动到文本首行

G:按1次,光标移动到文本末行

4.4、末行模式中的基本操作

末行模式(在命令模式中输入:就进入了末行模式。退出输入模式,按ESC退到命令模式)
可以使用一下命令:
:q 退出命令模式

:w 保存修改内容

:q!不保存退出

:set nu 显示行号

:/abc 查找abc这个字符,按n查找下一个,按N查找上一个

:s /oid/new 将当前行中查找到的第一个字符串“old”替换为“new”

:s /oid/new/g 将当前行中查找到的所有字符串“old”替换为“new”

:#,# s /old/new/g 在行号“#,#”范围内替换所有的字符串“old”为“new”

:% s /old/new/g 在整个文件范围内替换所有的字符串“old”为“new”

:s /oid/new/c 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认

猜你喜欢

转载自blog.csdn.net/weixin_48191211/article/details/107209216