Linux系列 目录和文件管理

简介: Linux系列 目录和文件管理

前言

本章将会讲解Linux中的目录和文件管理


简介

在之前的文章中,学习了Linux命令的格式,以及目录和文件管理的基本命令操作,本章将进一步学习管理目录和文件的高级操作,主要包括查看和检索文件内容,备份和恢复文档,以及使用vi文本编辑器创建或修改文本文件。


本章重点

  1. 文件内容的查看及检索
  2. 压缩归档文件的制作与释放

一.检查文本内容

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

a0b65db470c04bcd99ee1a171523ae3c.png


1.cat命令——显示并连接(Concatenate)文件的内容

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


例如:以下操作就可以查看/etc/sysconfig/network-scripts/ifcfg-ens33 配置文件中的内容,并了解第一块以太网卡的配置信息。


[root@localhost -]# cat /etc/sysconfig/network-scripts/ifcfg-ana33

如果需要同时查看多个文件的内容,可以添加多个文件路径作为查看对象。例如,以下操作将依次显示/eto/redhat-release,/proc/version文件的内容,前者记录了 CnetOS系统的发行版本信息。后者记录了系统内核及开发环境,时间等信息。


[root@localhost -]# cat /etc/redhat-release /proc/veraion

0a21f3f778de41a2ae5cca708b9d4042.png


2.more和less命令——分页查看文件内容

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


986fc4e5ff524675acd86fbc08596044.png


more 命令是较早出现的分页显示命令,表示文件内容还有更多(more)的意思,less命令是较晚出现的分页显示命令,提供了比早期more命令更多的一些扩展功能。两个命令的用法基本相同。


df5d460c98e74311a4dd543d6dc1b553.png


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


[root@localhoat -]# more /etc/httpd/conf/httpd.conf

2b0103286d954923a103361886b33b58.pngdf5d460c98e74311a4dd543d6dc1b553.png


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


[root@localhost -]# ls -lh /atc/*.conf | more

68a358a9497b4a3481cc92908b723674.png


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


3.head和tail命令——查看文件开头或末尾的部分内容

head和tail是一对作用相反的命令,前者用于显示文件开头的一部分内容,后者用于显示文件末尾的一部分内容。可以使用“-n”选项(n为具体的行数)指定需要显示多少行的内容,若不指定行数默认只显示十行。


执行“head一4/etc/passwd命令,可以查看用户账号文件/etc/passwd开头第一行至第四行的部分内容。


[root@localhost ~]# head -4 /etc/passwd

40629d41a51949f39d7ba9443605daa2.png


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


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


(按Cul+C组合键终止)。

[root@localhost -]# tail -f /var/log/messages

5ce0682a58fb443ab6e01b5bc9d45105.png40629d41a51949f39d7ba9443605daa2.png


二.统计和检索文件内容


5762995fbc4d4231bd3fa2afa8d38a61.png

在维护Linux操作系统的过程中,除了查看文件内容以外,有时还需要对文件内容进行统计,或者查找符合条件的文本内容。下面将学习统计和检索文件内容的两个命令工具。


1.wc命令—统计文件内容中的单词数量(Word Count)行数等信息

wc命令用于统计文件内容中包含的行数,单词数量,字节数等信息,使用文件名作为参数,可以同时统计多个文件,较常用的选项如下所述.


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

-1:统计文件内容中的行数.

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

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


例如:Linux操作系统中的用户账号数据保存在/etc/passwd文件中,其中每一行记录对应一个用户则以下操作可以统计出当前Linx操作系统中拥有的用户账号数量,具体操作如下:

[root@localhost -]# wo -1 /eto/passwd

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

[root@]ocalhont -]# find /etc name "*.conf" | wo -l

使用不带任何选项的wc命令时,默认将统计指定文件的字节数、行数、单词个数(相当于同时使用“-c”“-1”“-w”三个选项),例如,以下操作统计出/etc/hosts文件中共包含2行,10个单词、158字节的内容,然后通过‘cat/etc/hosts”命令列出文件内容,可核对统计结果是否正确。


[root@localhost -]# wo /etc/hosts

2.grep命令——检索、过滤文件内容

grep命令用于在文件中查找并显示包含指定字符串的行,可以直接指定关键字符串作为查找条件,也可以使用复杂的条件表达式(例如.““word”表示以word开头.“words”表示以word结尾,“s”表示空行),使用grep命令的基本格式如下:


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

grep命令较常用到的几个选项如下。


-i:查找内容时忽略大小写(lgnore Case)

-v:反转查找(hnvert),即输出与查找条件不相符的行

例如:执行“grep“tp”/etc/passwd”命令,可以在账号文件/etc/passwd中查找包含“ftp”字符串的行,实际上输出了名为ftp的用户账号的信息,具体操作如下:


[root@localhost -]# grop "ftp" /etc/pasavd

d6b7de9a8d9f4e469f92245d37ad9697.png


在维护Linux操作系统的过程中,经常会遇到包含大量内容的配置文件,而其中往往包含了许多空行和以“#”开头的注释文字,当只需要分析其中的有效配置信息时,这些空行和注释文字的存在不利于快速浏览,使用grep命令可以过滤掉这些无关信息,例如.以下操作可以显示/etc/yum.conf文件中以“#”开头的行和空行以外的内容。

4210d824779f48249e5b7be3fd13832d.png

目录
相关文章
|
5月前
|
Linux 定位技术
Linux系统中的cd命令:目录切换技巧
踏过千山,越过万水,人生就是一场不断前行的旅程,总充满了未知与挑战。然而,“cd”命令如同你的旅伴,会带你穿梭在如棋盘一般的文件系统中,探索每一处未知。希望你能从“cd”命令中找到乐趣,像是掌控了一种络新妙的魔法,去向未知进发,开始你的探索之旅。
221 24
|
10月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
644 3
|
10月前
|
存储 Linux Windows
linux常用目录
/sbin s就是super User的意思,这里存放的是系统管理员使用的系统管理程序。 /home 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一版该目录名是以用户的账号命名的。 /root 该目录为系统管理员,也称为超级权限者的用户主目录。 /lib 系统开机所需要最基本的动态连接共享库,其作用类似于windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 /etc 所有的系统管理所需要的配置文件和子目录。 /usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program fies目录。 /bo
182 2
|
6月前
|
监控 Linux
Linux基础:文件和目录类命令分析。
总的来说,这些基础命令,像是Linux中藏匿的小矮人,每一次我们使用他们,他们就把我们的指令准确的传递给Linux,让我们的指令变为现实。所以,现在就开始你的Linux之旅,挥动你的命令之剑,探索这个充满神秘而又奇妙的世界吧!
128 19
|
7月前
|
存储 Linux
linux中的目录操作函数
本文详细介绍了Linux系统编程中常用的目录操作函数,包括创建目录、删除目录、读取目录内容、遍历目录树以及获取和修改目录属性。这些函数是进行文件系统操作的基础,通过示例代码展示了其具体用法。希望本文能帮助您更好地理解和应用这些目录操作函数,提高系统编程的效率和能力。
306 26
|
6月前
|
Linux
Linux目录删除指南:彻底解决“Is a directory”错误
在 Linux 系统中遇到 `cannot remove 'xxx': Is a directory` 错误,是因为删除目录时未使用正确参数。解决方法包括:1) 使用 `rmdir` 删除空目录或 `rm -r` 删除非空目录;2) 检查并调整目录权限(如通过 `sudo` 提权);3) 处理特殊场景,例如文件属性异常、特殊字符或进程占用;4) 替代方法如 `find -delete` 或文件系统修复。操作前建议备份数据,并启用防误删功能(如 `alias rm='rm -i'`)。掌握 `rm` 和 `rmdir` 的区别是关键。
475 1
|
7月前
|
Linux
Linux文件与目录的日常
目录的切换 一般使用(”pwd“)显示当前所在的目录 比如:当前目录是在home下面的,与用户名相同的文件夹,可以使用(”cd“)命令来切换目录; 进入下载目录(”cd home/a/下载“)这种从给目录开头的一长串路经”叫做绝对路径“; 进入图片目录(”cd .. /图片/“)".."代表当前路径的上级路径,相对于当前的目录而言的”叫做相对路径“,(”.“)代表当前路径; 如果,想快速切换,上一个所在目录可以(”cd - / cd..“); 如果,想快速切换,追原始的目录可以(”cd --“); 查看目录及文件
81 14
|
9月前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
908 8
|
10月前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
765 3
|
10月前
|
Linux Python
Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!
在 Linux 系统中,了解目录下文件数量是常见的需求。本文介绍了四种方法:使用 `ls` 和 `wc` 组合、`find` 命令、`tree` 命令以及编程实现(如 Python)。每种方法都附有详细说明和示例,适合不同水平的用户学习和使用。掌握这些技巧,可以有效提升系统管理和日常使用的效率。
3537 6