Linux的目录和文件管理

Linux的目录和文件管理

一、Linux目录结构

Linux系统中,以树形结构存储目录

1、根目录所有分区、目录、文件等的位置起点,整个树形目录结构中,适用独立的一个“/”表示。

2、常见的子目录:

目录名作用
/root系统管理员root的宿主目录
/home普通用户的宿主目录
/boot系统内核、启动文件
/dev设备文件
/etc配置文件
/bin所有用户可执行的命令
/sbin管理员可执行的管理命令
/usr应用程序
/var日志文件等
二、文件查看命令(cat、more、less、tail、head)
2.1、显示出文件的内容
cat 选项 文件名

例:

image-20220513111504086

2.2、全屏方式显示文件内容 more
more 选项 文件名

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

2.3、另一个全屏方式显示文件内容 less
less 选项 文件名

操作方法:
Page Up向上翻页,Page Down向下翻页
按“”键查找内容,“n”下一个内容,“N”上一个内容
其他功能与more命令基本类似

2.4、head命令
查看文件开头的一部分内容(默认显示10行内容)
    head -n 文件名 
    -n(后面接要显示的行数,如果不加-n 默认10行)

image-20220513112339659

2.5、tail命令
查看文件结尾的少部分内容(默认10行)
    tail -n 文件名 // 设置显示的行数
    tail -f 文件名 // 一值监听该文件写入的内容

image-20220513112812245

三、统计文件内容wc

统计文件中的单纯数量(word count)等信息

wc 选项 目标文件
    -l:统计行数
    -w:统计单词个数
    -c:统计字节数

image-20220513113214498

四、检索和过滤文件内容grep

在文件中查找并显示包含指定字符串的行

grep 选项 查找条件 目标文件
    -i:查找时不区分大小写
    -V:反向查找,输出与查找条件不相符的行

查找条件设置

要查找的字符串以双引号括起来

”^……“表示以……开头,”……$“表示以……结尾

”^$“表示空行

image-20220513120626655

image-20220513120702967

image-20220513120736480

image-20220513120759654

五、压缩与解压 tar、gzip、bzip2

在Linux操作系统中,最简单的文件和目录备份工具就是cp命令,将要备份的文件复制到备份路径,但当需要备份的文件、目录数量较多时,使用cp就会很吃力,所以就有必要对备份进行归档和压缩。

5.1、gzip命令
gzip是Linux系统中常用的压缩和解压缩命令,通过此命令压缩得到的新文件,扩展名通常为“.gz”
gzip 选项 压缩包名 源文件/源目标文件名
    -r递归压缩指定目录下以及子目录下的所有文件
    -c将压缩数据输出到标志输出中,并保留原文件
    -d对压缩文件进行解压缩
    -v对每个压缩和解压缩文件,显示相应的文件名和压缩比
    -l对每一个压缩文件,显示以下字段:压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名称
    -数字 用于指定压缩等级,-1等级最低,压缩比最差,但速度快,-9压缩比最高,但占用资源多,默认压缩比是-6
5.2 bzip2
bzip2只能对文件进行压缩/解压缩,对于目录只能压缩/解压缩该目录及子目录下的所有文件。当执行压缩任务完成后,会生产一个“.bz2”的压缩包。
    bzip2 选项 源文件
    -d 执行解压缩,此时该选项后的源文件应为标记有 .bz2 后缀的压缩包文件。
    -k bzip2 在压缩或解压缩任务完成后,会删除原始文件,若要保留原始文件,可使用此选项。
    -f bzip2 在压缩或解压缩时,若输出文件与现有文件同名,默认不会覆盖现有文件,若使用此选项,则会强制覆盖现有文件。
    -t 测试压缩包文件的完整性。
    -v 压缩或解压缩文件时,显示详细信息。
    -数字 这个参数和 gzip 命令的作用一样,用于指定压缩等级,-1 压缩等级最低,压缩比最差;-9 压缩比最高
5.3 tar
tar命令主要用于对目录和文件进行归档。在实际的备份工作中,通常在归档的同时也会将包文件进行压缩(需要调用前面的gzip和bzip2命令),以节省磁盘空间。使用tar命令时,选项前的“-”号可以省略。
    tar 选项 ...  归档及压缩文件名 需要归档和要是的源文件/目录
    -c:创建.tar格式的包文件
    -C:解压时指定解压路径
    -f:表示使用归档文件
    -j:调用bzip2程序进行压缩/解压缩
    -p:打包时保留文件及目录的权限
    -P:打包时保留文件及目录的绝对路径
    -t:列表查看包内容的文件
    -v:输出详细信息
    -x:解压缩.tar格式的包文件
    -z:调用gzip程序进行压缩/解压 
    常用组合:
    tar zcvf 压缩zip格式
    tar jcvf 压缩bzip2格式
    tar zxcf 解压zip的tar文件
    tar jxcf 解压bzip2的tar文件

例:

image-20220513200429338

image-20220513200459027

image-20220513200542693

image-20220513200710211

六、vi和vim

vi时一个功能强大的全屏文本编辑工具,在vi编辑器基础上拓展了很多实用的功能,但是习惯上也将vim称为vi。它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。
vim的这些优势主要体现在以下几个方面:
1、多级撤消
我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。
2、易用性
vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。
3、语法加亮
vim可以用不同的颜色来加亮你的代码。
4、可视化操作
就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。
5、对vi的完全兼容
某些情况下,你可以把vim当成vi来使用。

vi和vim作用:
    创建或修改文本文件
    维护Linux系统中的各种配置文件
vi的三种工作模式:
    命令模式:编辑器后默认进入命令模式。该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作。
    输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改或添加新的内容。处于输入模式时,vi编辑器的最后一行会出现’-- INSERT --‘的状态提示信息。
    末行模式:该模式中可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时, vi编辑器的最后一行会出现冒号’:‘提示符。
    命令模式、输入模式和末行模式是vi编辑环境的三种状态,通过不同的按键操作可以在不同的模式间进行切换。例如,从命令模式按:(冒号)键可以进入末行模式,按a、i、o等键可以进入输入模式;在输入模式、末行模式均可按Esc键返回命令模式。

6.1 命令模式基本操作

光标移动

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

复制、粘贴、删除

操作类型操作键功能
x(命令模式使用)、Del(编辑模式与Backspace使用一样)删除光标处的单个字符
dd删除当前光标所在行
删除*dd删除从光标所在行开始的*行内容(包括当前行)
d^删除当前光标之前的到行首的字符(不包括所在字符)
d$删除当前光标之后的到行尾的字符(包含所在字符)
复制yy复制当前行整行的内容到剪切板
*yy复制从光标所在行开始的*行内容(包括当前行)
粘贴p将缓冲去区中的内容粘贴到光标行之后
P粘贴到光标行之前

文件内容查找

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

撤销编辑及保存退出

操作键功能
u按一次取消最近的一个操作,多次使用,取消多次操作(恢复多次操作)
U取消当前所在行的全部操作
ZZ保存当前的文件内容并退出
6.2 末行模式操作

保存文件及退出

命令功能备注
:w保存文件保存修改的内容
:w /root/newfile保存到/root/下并命名为newfile另存为其它路径的文件
:q退出vi未修改退出
:q!不保存退出未修改强制退出
保存文件并退出:wq、:x保存并退出

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

命令功能
: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,将会对每天替换行为进行确认
6.3 编辑模式(进入编辑模式的命令):
操作键功能
a在光标位置后插入
A在行尾插入
i在光标位置之前插入
L行首插入
o在光标下一行插入
O在光标位置上一行插入

尾添加c,将会对每天替换行为进行确认 |

6.3 编辑模式(进入编辑模式的命令):
操作键功能
a在光标位置后插入
A在行尾插入
i在光标位置之前插入
L行首插入
o在光标下一行插入
O在光标位置上一行插入
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值