Linux 目录和文件管理

Linux目录结构

树形目录结构

根目录

  • 所有分区、目录、文件等的位置起点
  • 整个树形目录结构中,使用独立的一个“/"表示

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

常见子目录的作用

/(根)/(根)相当于一个入口,文件的总入口,也是唯一入口
/root系统管理员root的宿主目录
/home普通用户的宿主目录
/boot系统内核、启动文件
/dev设备文件
/etc配置文件
/bin所有用户可执行的命令
/sbin管理员可执行管理命令
/usr应用程序
var存放系统中经常需要变化的一些文件,如系统日志文件、用户邮箱目录等
系统管理员=超级用户
普通用户下的目录=普通用户的宿主目录

查看文件内容命令 -cat,more,less

显示出文件的内容命令 -cat

cat [选项] 文件名…

cat命令用于连接(Concatenate)多个文件的内容,实际使用中更多地用于查看文件内容。cat命令是应用最为广泛的文件内容查看命令。使用该命令时,只需要把要查看的文件路径作为参数即可。

查看文件内容命令 -more

全屏方式分页显示文件内容
more [选项] 文件名…
交互操作方法

  • 按Enter键向下逐行滚动
  • 按空格键向下翻一屏
  • 按b键向上翻一屏
  • 按q键退出

查看文件内容命令 -less

与more 命令相同,但扩展功能更多
less [选项] 文件名…
交互操作方法

  • Page Up向上翻页,Page Down向下翻页
  • 按"/'键查找内容,"n"下一个内容,"N"上一个内容
  • 其余方法与more命令方法命令基本类似

使用cat命令可以非常简单地直接显示整个文件的内容,但是当文件中的内容较多时,很可能只能看到最后一部分信息,文件前面的大部分内容都来不及看到。而 more和less命令通过采用全屏的方式分页显示文件,便于我们从头到尾仔细地阅读文件内容。
more命令是较早出现的分页显示命令,表示文件内容还有更多(more)的意思,less命令是较晚出现的分页显示命令,提供了比早期more命令更多的一些扩展功能。两个命令的用法基本相同。

yum install httpd -y(使用该命令时需提前连网)

查看文件内容命令 -head、tail

head命令

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

tail命令

用途:查看文件结尾的少部分内容(默认为10行)
tail -n 文件名…
tail -f 文件名
head命令只能查看头部文件
tail命令只能查看尾部文件(-f 为追踪日志)

head 和 tail

是一对作用相反的命令,前者用于显示文件开头的一部分内容,后者用于显示文件末尾的一部分内容。可以使用“-n“选项(n为具体的行数)指定需要显示多少行的内容,若不指定行数,默认只显示十行。
执行“head -4/etc/passwd“命令,可以查看用户账号文件/etc/passwd开头第一行至第四行的内容。

tail命令正好相反,用于查看文件末尾的内容。tail命令通常用于查看系统日志(因为较新的日志记录总是添加到文件最后),以便观察网络访问、服务调试等相关信息。配合*-“选项使用时,还可以跟踪文件尾部内容的动态更新,便于实时监控文件内容的变化。例如,以下操作可以查看系统
公共日志文件/var/log/messages的最后十行内容,并在末尾跟踪显示该文件中新记录的内容(按Ctrl+c组合键终止)

统计文件内容wc命令

统计文件中的单词数量(Word Count)等信息
wc [选项]… 目标文件…
常用命令选项

  • -l:统计行数
  • -w:统计单词个数
  • -c: 统计字节数
  • 查找etc下的".conf"文件

检索和过滤文件内容命令grep

在文件中查找并显示包含指定字符串的行
grep [选项]… 查找条件 目标文件
常用命令选项

  • -i:查找时忽略大小写
  • -v:反转查找,输出与查找条件不相符的行
    查找条件设置
  • 要查找的字符串以双引号括起来
  • "^……“表示以……开头,”……$“表示以……结尾,” ^ $"表示空行(中间没有空格)

压缩命令gzip、bzip2

制作压缩文件
gzip [-9] 文件名
在这里插入图片描述

bzip2 [-9] 文件名

在这里插入图片描述

解开压缩文件
gzip -d .gz格式的压缩文件

在这里插入图片描述

bzip2 -d .bz2格式的压缩文件
在这里插入图片描述

备份及恢复文档

归档命令和释放工具 -tar

制作归档文件、释放归档文件
tar [选项]… 归档文件名 源文件或目录
tar [选项]… 归档文件名 [-c 目标目录]

常用命令选项
-c:创建(Create),tar格式的包文件。
-C:解压时指定释放的目标文件夹。
-f:表示使用归档文件。
-j:调用bzip2程序进行压缩或解压。
-p:打包时保留文件及目录的权限。
-P:打包时保留文件及目录的绝对路径。
-t:列表查看包内的文件。
-v:输出详细信息(Verbose)。
-x:解开。tar格式的包文件。
-z:调用gzip程序进行压缩或解压。
一般用组合键
czvf xzvf=czf xzf
cjvf xjvf=cjf xjf

czvf(压缩gzip)
tar -zcvf ky19_etc_backup.tar.gz /etc/
在这里插入图片描述

xzvf(解压gzip)
在这里插入图片描述

cjvf(压缩bzip2)
在这里插入图片描述
在这里插入图片描述

xjvf(解压bzip2)
在这里插入图片描述
在这里插入图片描述

tar命令主要用于对目录和文件进行归档。在实际的备份工作中,通常在归档的同时也会将包文件进行压缩(需要调用前面的gzip或bzip2命令),以节省磁盘空间。使用tar命令时,选项前的“-“号可以省略。
如果需要对制作的归档文件进行压缩,可以通过“-z“或“-j“选项自动调用压缩工具(分别对应gzip、bzip2命令程序)进行压缩。例如,以下操作将会对/etc和/boot目录进行备份,在当前目录下生成名为sysfile.tar.gz的归档压缩包,执行过程中可以看到被归档的文件列表信息。需要注意的是,在备份恢复目录或文件时,最好先将工作路径切换
至目标目录或文件的所在路径,然后在执行备份命令时使用相对路径,以防输入命令时因手误而导致根目录“/”下重要文件损坏。

vi编辑器的工作模式

三种工作模式

  • 命令模式、输入模式、末行模式

命令模式:启动vi
编辑器后默认进入命令模式。该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作。
输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改或添加新的内容。处于输入模式时,vi编辑器的最后一行会出现“–INSERT–”的状态提示信息。
末行模式:该模式中可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器的最后一行会出现冒号”:”提示符。

不同模式之间的切换
在这里插入图片描述
命令模式、输入模式和末行模式是vi编辑环境的三种状态,通过不同的按键操作可以在不同的模式间进行切换。例:从命令模式按:(冒号)键可以进入末行模式,按a、i、o等键可以进入输入模式:在输入模式、末行模式均可按Esc键返回命令模式。

在命令模式中,按a、i、o等键可以快速切换至输入模式,同时确定插入点的方式和位置,以便录入文件内容。需要返回命令模式时,按Esc键即可。常见的几个模式切换键及其作用如下。
a:在业时业型生仁坛 止加
A:在光标所在行的末尾(行尾)插入内容。
i:在当前光标位置之前插入内容。
I:在光标所在行的开头(行首)插入内容。
o:在光标所在行的后面插入一个新行。
O:在光标所在行的前面插入一个新行。

命令模式的基本操作

光标移动

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

复制、粘贴、删除

在这里插入图片描述

文件内容查找

操作键功能
/word从上而下在文件中查找字符串“word”
?word从下而上在文件中查找字符串“word”
n定位下一个匹配的被查找字符串
N定位上一个匹配的被查找字符串

撤销及编辑及保存退出

操作键功能
u按一次取消最近的一次操作;重复u键,恢复多步操作
U用于取消对当前行所做的所有编辑
ZZ保存当前的文件内容并退出vi编辑器

末行模式的基本操作

  • 保存文件及退出vi
    在这里插入图片描述
    打开新的文件或读取其他文件内容
命名功能
: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命令,将对每个替换动作提示用户进行确认
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值