Linux目录和文件管理

导读:本篇文章讲解 Linux目录和文件管理,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一、Linux目录结构

Linux操作系统在定位文件或目录位置时,使用斜杠“ / ”进行分割(区别于Windows操作系统中的反斜杠“ \ ”)。整个树形目录结构中,使用独立的一个” / “表示根目录,根目录是Linux操作系统文件系统的起点,其所在的分区称为根分区。

在根目录下,Linux操作系统将默认建立一些特殊的子目录,分别具有不同的用途,下面介绍一下其中常见的子目录及其作用。

  • /boot : 此目录是系统内核存放的目录,同时也是系统启动时所需文件的存放目录,如vmlinuz和initrd.img。在安装Linux操作系统时,为boot目录创建一个分区,有利于对系统进行备份。

  • /bin : bin是binary的缩写,这一目录存放了所有用户都可执行的且经常使用的命令,如cp、ls等。

  • /dev : 此目录保存了接口设备文件,如/dev/hdal、/dev/cdrom等

  • /etc :系统主要的配置文件几乎都放置到这个目录内,如:人员的账号密码文件、各种服务的起始文件等。

  • /home :存放所有普通系统用户的默认工作文件夹(称为:宿主目录、家目录),如用户账号“ teacher”对应的宿主目录位于“/home/teacher”。如果服务器需要提供大量的普通用户使用,建议将”/home”目录划分为独立的分区,以方便用户数据备份。

  • /root : 该目录是Linux操作系统管理员(称为:超级用户)root的宿主目录,默认情况下只有root用户的宿主目录在根目录下而不是在“ /home ”目录下。

  • /sbin : 存放Linux操作系统中最基本的管理命令,一般管理员用户才有权限执行。

  • /usr : 存放其他的用户应用程序,通常还被划分成很多子目录,用于存放不同类型的应用程序。

  • /var : 存放系统中经常需要变化的一些文件,如系统日志文件、用户邮箱目录等。在实际应用中,“/var”目录通常也被划分为独立的分区。

image-20220506113939991

二、查看及检索文件命令

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

1、查看文件内容 -cat

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

格式: cat 要查看目录文件

  • 实例:查看 /etc/sysconfig/network-scripts/目录下的ifcfg-ens33文件内容

image-20220506115432279

如果需要同时查看多个文件的内容,可以添加多个文件路径作为查看对象。

  • 实例:依次显示/etc/redhat-release、/proc/version 文件内容,前者记录了centos系统的发行版本信息,后者记录了系统内核及开发环境、时间等信息。

image-20220506120058641

2、查看文件内容 -more

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

●操作方法: 命令查看超过一屏的文件内容时,将进行分屏显示,并在左下角显示当前内容在整个文件中的百分比。在阅读界面中,可以按Enter键向下逐渐滚动查看,按空格键可以向下翻一屏,按b键向上翻一屏,按q键退出并返回原来的命令环境。

  • 实例:以下操作将可以分屏查看/var/log/messages(日志文件)件的内容。

image-20220506121613173

more命令除了可以分屏查看文件内容以外,还可以结合管道符号“ | ”分屏查看执行命令时输出信息,这在命令输出内容较多的情况下特别有用。

  • 实例:分页查看/etc下面以 .conf结尾的文件

image-20220507102419953

3、查看文件内容 -less

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

操作方法与more类似。按“ / ”键查找内容,“ n ”下一个内容,“ N ”上一个内容,q退出。

  • 实例:用less显示 messages 日志文件。

image-20220507103242464

4、查看文件内容 – head、tail

4.1 head 命令

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

格式:head -n(n表示数字,多少行) 文件名

  • 实例:显示/var/log/messages的前10行

image-20220507103903953

  • 实例,显示/var/log/messages的前3行

image-20220507104058181

4.2 tail命令

用途:查看文件结尾的少部分内容(默认为10行)

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

格式:tail -f 文件名 :实施监控末尾(默认十行,可修改)

  • 实例:监控/var/log/messages 文件末尾3行的数据(数据往里面写入的时候,会在最后面插入)

image-20220507104954903

  • 实例:直接查看/var/log/messages 文件末尾3行的数据

image-20220507105051805

三、统计文件内容 -wc

在维护Linux操作系统的过程中,除了查看文件内容以外,有时候还需要对文件的内容进行统计,或查看符合条件的文本内容。统计文件的单词数量(word count)等信息

格式: wc 【选项】 目标文件

常用选项

  • -l :统计文件内容的行数

  • -w :统计统计文件内容单词个数(以空格或制表位作为分隔)

  • -c :统计文件内容的字节数

实例:统计全部

image-20220507110416621

实例:分别统计,行数,单词数,字节数

image-20220507111208401

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

实例:统计/etc/目录下包含多少个扩展名为“ .conf”的文件,可以先通过“ find /etc -name “*.conf”命令找出符合条件的文件位置,由于find命令输出结果也是条件的文件数量,具体操作如下

image-20220507111146464

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

命令用于在文件中查找并显示包含指定字符串的行,可以直接指定关键字符串作为查找条件,也可以使用复杂的条件表达式。

(例如:“ ^word” 表示以word开头,“ wordKaTeX parse error: Expected group after ‘^’ at position 15: ” 表示以word结尾,“ ^̲ ”表示空行)。

格式:grep 【选项】 查找字符串 目标路径文件

常用选项

  • -i:查找内容时忽略大小写
  • -v:反转查找,即输出与查找天骄不向符的行

实例:在/etc/passwd文件中查找包含“ftp”的行

image-20220507112042115

实例:在/etc/passwd文件中查找包含“ftp”的行,不区分大小写

image-20220507112317104

实例:在/etc/passwd文件中查找不包含“ftp”的行。

image-20220507112435136

实例:其它的查找条件

image-20220507113303222

五、压缩文件命令 -gzip、bzip2

在Linux系统中,最简单的文件和目录备份工作就是cp(复制命令)但是当需要备份的文件,目录数量较多时,仅仅使用cp命令就有点力不从心,并且备份的文件数量及其所占的磁盘空间都可能会对服务器产生不小的压力,因此,有必要对需要备份的数据进行归档和压缩。

Linux操作系统中较常用的压缩命令工具包括gizp、bzip2,最常用的归档命令工具为tar,使用tar命令可以通过特定选项自动调用gzip或bzip2程序,以完成归档、压缩的整套流程,当然也可以完成解压,释放已归档文件的整套流程。两者使用的压缩算法各部相同,但命令使用格式基本类似,一般来说bizp2的压缩效率要好一些。

5.1 gzip命令

制作的压缩文件默认的扩展名为“ .gz ”,制作压缩文件时,使用“ -9 ”选项可以提高压缩的比率,但文件较大时会需要更多的时间。生成压缩文件后,原始文件将不再保留。

选项“ -9 ”解释:

这里的选项可以为:1-9,它们的压缩比例不一样,从低往上压缩压缩比例越来越小。

  • 1的压缩比例大,压缩速度快,压缩的空间就较小,消耗的cpu资源较小。比如:100M的文件使用-1选项可以压缩到99M。

  • 9的压缩比例小,压缩速度慢,压缩的空间就较大,消耗的cpu资源较大。比如100M的文件60M。

格式:gzip 【-9】 文件名 :制作压缩文件

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

gunzip .gz格式的压缩文件 :解开压缩文件

实例:在当前目录创建两个文件,进行压缩和分别解压。

image-20220507120413085

5.2 bzip2 和 bunzip2命令

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

格式:bzip2 -9 文件名 :压缩文件

bzip2 -d .bz格式的压缩文件 :解压文件

bunzip2 .bz2格式的压缩文件 :解压文件

  • 实例:在当前目录创建两个文件,进行压缩和分别解压。

image-20220507145443402

5.3 tar命令

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

常用选项

  • -c :创建.tar格式的包文件
  • -x :解开 .tar 格式的包文件
  • -j :调用bzip2 命令程序进行压缩或解压
  • -z :调用gzip 程序进行压缩或解压
  • -C :解压时指定解压的目标文件夹
  • -v :输出详细信息
  • -f :表示使用归档文件
  • -P :打包时保留文件及目录的权限
  • -p :打包时保留文件及目录的绝对路径
  • -t :列表查看包内的文件

5.3.1 制作归档备份压缩文件

格式:tar 【选项】 压缩后的名字 被压缩的文件名

如果需要对制作的归档文件进行压缩,可以通过“ -z ”或“ -j ” 选项自动调用压缩工具进行压缩。压缩后尽量转移到别的目录下,放在根目录不安全。

  • 实例:使用选项“ -zcvf”将boot目录进行备份,

image-20220508133919624

  • 实例:使用选项“ -jcvf ” 将boot目录进行备份

image-20220508135344977

5.3.2 从归档中恢复数据

格式: tar 【选项】 要解压的文件名 【-c 目标目录】

如果需要对压缩文件进行解压,一样的,也需要“ -z ”或“ -j ”来进行解压对应格式的文件,然后将“ -c(创建解压文件)更改为-x(解开.tar文件格式)”。默认情况下,将数据解压到当前目录下,也可以添加选项“ -C ”来指定一个目录进行解压。

  • 实例:解压文件,解压boot_beifen.tar.gz 文件解压到指定目录/opt

image-20220508141625889

  • 实例:解压文件,解压boot_beifen.tar.bz2 文件解压到指定目录/opt

image-20220508142123775

六、vi编辑器的工作模式

vi编辑器是工作在字符终端环境下的全屏幕编辑器,因此编辑器界面相对比较简单,没有为用户提供鼠标操作和菜单系统,而是通过按键命令实现相应的编辑和操作功能。在vi编辑器中,有三种不同的模式。

6.1 三种工作模式

  • 命令模式(编辑模式):在进入vi编辑器后,默认模式,每一个按键都有特殊的含义

  • 输入模式:按下什么键,就输入什么内容,在编辑器最后一行会出现“–INSERT –”状态提示信息。

  • **末行模式:**可在状态行输入一些命令,进入后在下方会有冒号“ :“提示符。

6.2 不同模式之间的切换

编辑环境的三种状态,通过不同的按键操作可以进入不同的模式间进行切换,例如:从命令模式按“ :”(冒号)键可以进入末行模式,按a、i、o等键可以进入输入模式,在输入模式和末行模式均可以按ESC键返回命令模式,输入模式和末行模式不可以直接切换。

image-20220508143748331

6.3 命令模式常见命令

  • 光标移动
操作类型 操作键 功能
方向移动 ↑、↓、←、→ 上、下、左、右
翻页 page Down或Ctrl+F 向下翻动一整页内容
Page Up或Ctrl+B 向上翻动一整页内容
行内快速跳转 Home键或“ ^ ”、数字“ 0 ” 跳转至行首
End键或“ $ ”键 跳转至行尾
行间快速跳 1G 或 gg 跳转到文件的首行
#G 跳转到文件中的第#行
G 跳转到文件中的末尾行
  • 复制、粘贴、删除
操作类型 操作键 功能
删除 X 或 Del 删除光标处的单个字符
dd 删除当前光标所在的一行
#dd 删除从光标所在行开始的#行内容
d^ 删除当前光标之前到行首的所有字符
d$ 删除当前光标处到行尾的所有字符
复制 yy 复制当前行的整行内容
#yy 复制从光标所在行开始的#行内容
粘贴 p 粘贴所复制内容在光标位置之后
P 粘贴所复制内容在光标之前
  • 撤销编辑及保存退出
操作键 功能
u 撤销最近的一次操作,可重复多次
U 取消当前所有编辑
ZZ 保存并退出

6.4 末行模式的基本操作

  • 保存文件及退出vi编辑器
功能 命令 备注
保存文件 : w 保存修改的内容
: w /root/newfile 另存为其它路径的文件
退出vi : q 未修改退出
: q! 未修改强制退出
保存文件并退出vi : wq 或 x 保存修改的内容并退出
  • 打开新文件或读取其它文件内容
命令 功能
: e /etc/newfile 打开新的文件进行编辑
: r /etc/newfile 在当前文件中读入其它文件内容
  • 文件内容替换
命令 功能
: s /old/new 将当前行中查找到的第一个字符串“old”替换为“new”
: s /old/new/g 将当前行中查到的所有字符串“old”替换为“new”
: #,# s/old/new/g 在行号“#.#”范围内替换所有字符串“old”为“new”
: % s/old/new/g 在整个文件范围内替换所有的字符串“old”为“new”
: s /lold/new/c 对每个替换动作提示用户进行确认

七、总结

  • 了解常用的目录结构的含义(root、boot、etc、var、usr、bin、sbin、home、dev)

  • 查看及检索文件命令(cat、more、less、head、tail)

  • 统计文件内容(wc)

  • 归档和压缩(gzip、bzip2、tar)

  • vi编辑器的三种模式切换以及使用方法(命令模式、插入模式、末行模式)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/75070.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!