CentOS 7 实战指南:文件操作命令详解

news2024/11/15 10:09:55

 

写在前面

想要快速掌握 CentOS 7 系统下的文件操作技巧吗?不用担心!我为你准备了一篇详细的技术文章,涵盖了各种常用的文件操作命令。无论您是初学者还是有一定经验的用户,这篇文章都能帮助您加深对 CentOS 7 文件操作的理解,让您轻松应对各种文件管理任务。立即阅读这篇实用的指南,让文件操作变得简单高效!

文件操作相关命令

ls

ls 是一个常用的命令,其作用是列出指定目录下的文件和子目录。下面是 ls 命令的一些常见可选参数:

  • -a:显示所有文件(包括以.开头的隐藏文件)。
  • -l:以长格式显示文件的详细信息,包括权限、所有者、大小、修改日期等。
  • -h:以人类可读的方式显示文件大小。
  • -r:反向排序,按字母降序排列。
  • -t:按修改时间排序,最近修改的文件在前。

这些参数可以根据需要进行组合使用。以下是一些示例:

列出当前目录下的所有文件和子目录:

ls

列出当前目录下的所有文件和子目录,包括隐藏文件:

ls -a

以长格式显示当前目录下的所有文件和子目录:

ls -l

以人类可读的方式显示当前目录下的所有文件和子目录:

ls -h

以反向排序的方式列出当前目录下的所有文件和子目录:

ls -r

按修改时间排序,列出当前目录下的所有文件和子目录:

ls -t

列出当前目录下所有文件和子目录的详细信息并按其修改时间进行降序排列:

ls -lt

ls -l 命令以长格式显示文件的详细信息,输出的内容包括以下几个字段:

  • 文件类型和权限:第一列显示了文件的类型和权限信息。第一个字符表示文件类型,常见的类型包括:
    • -:普通文件
    • d:目录
    • l:符号链接
    • c:字符设备文件
    • b:块设备文件
    • s:套接字(socket)
    • p:命名管道(FIFO)
    • 接下来的九个字符表示文件的权限,每三个字符为一组,分别表示所有者(Owner)、所属组(Group)和其他用户(Others)的权限。每组权限字符包括读取(r)、写入(w)和执行(x)的权限。如果某个权限对应的字符是 -,表示没有该权限。
  • 连接数(Links):第二列显示了指向该文件的硬链接数量。
  • 所有者(Owner):第三列显示了文件的所有者。
  • 所属组(Group):第四列显示了文件的所属组。
  • 文件大小(Size):第五列显示了文件的大小,以字节为单位。
  • 修改日期和时间:第六列和第七列显示了文件的最近修改日期和时间。
  • 文件名:最后一列显示了文件或目录的名称。

就以上面截图上为例来说明一下:

drwxr-xr-x. 2 root root  6 12月 30 17:06 book
-rw-r--r--. 1 root root  0 12月 30 17:05 apt.txt
-rw-r--r--. 1 root root 15 12月 30 16:50 test.txt

在这个示例中,第一行第一列显示了文件类型和权限,第一行是d,表示目录,目录的名称是book;第二、三行的第一列是-,则表示是普通文件,这些文件的名称是app.txt、test.txt,再往后连续九位,每三个字符为一组,分别表示所有者(Owner)、所属组(Group)和其他用户(Others)的权限,每组权限字符包括读取(r)、写入(w)和执行(x)的权限。如果某个权限对应的字符是 -,表示没有该权限;第二列显示了链接数,第三列和第四列显示了文件的所有者和所属组,第五列显示了文件大小,第六列和第七列显示了最近修改的日期和时间,最后一列显示了文件或目录的名称。

touch

touch命令的主要作用是创建新文件或修改现有文件的访问和修改时间戳。需要注意的是,touch 命令不会更改文件的内容,只会修改时间戳。

touch test.txt

cp

cp 命令用来复制文件,可以将源文件复制到目标位置。可选参数包括:

  • -r:复制目录及其内容。
  • -i:交互式复制文件,覆盖前进行提示确认。

复制源文件到指定目标文件:当前路径下的apt.txt文件到apt2.txt文件,apt2.xt也在当前路径下,如果apt2.txt文件不存在,则会创建这个文件;如果存在,则会提示是否覆盖,如果输入y,则表示是;如果输出n,则表示否;

cp apt.txt apt2.txt

复制文件到目标目录:复制file.txt到当前目录下的子目录target目录内;

cp file.txt ./target/

复制多个文件到目标目录:复制apt.txt、apt2.txt、apt3.txt到当前目录下的子目录book内;

cp apt.txt apt2.txt apt3.txt ./book/

递归复制目录及其内容:复制book目录下所有目录以及文件(包含子目录的子目录)到当前路径下的子目录book2内;

cp -r book/ ./book2

交互式复制文件:如果目标文件已经存在,则会提示用户是否覆盖目标文件。这样可以避免误操作导致目标文件被覆盖或者丢失,提高复制的安全性。具体来说,当执行 cp -i file.txt ./target/ 命令时,如果file.txt文件在target目录中已经存在,则 cp 命令会提示用户是否覆盖目标文件。如果用户选择“y”(yes),则目标文件将被覆盖;如果用户选择“n”(no)或其他任何键,则 cp 命令将不会覆盖目标文件,而是跳过该文件的复制。

cp -i file.txt ./target/

mv

使用 mv 命令来移动文件或对其进行重命名。它的作用是将文件从一个位置移动到另一个位置或更改文件名。可选参数包括:

  • -i:移动或重命名前进行提示确认。
  • -u:仅移动比目标文件新或不存在的文件。

移动文件到目标目录:

mv test.txt ./book2/

重命名文件:

mv test.txt test2.txt

将多个文件移动到目标目录:

cp test.txt test2.txt /opt/

交互式移动文件:如果目标文件已经存在,则会提示用户是否覆盖目标文件。这样可以避免误操作导致目标文件被覆盖或者丢失,提高复制的安全性。具体来说,当执行 mv -i test.txt test2.txt /opt/ 命令时,如果test.txt文件、test2.txt文件在opt目录中已经存在,则 mv 命令会提示用户是否覆盖目标文件。如果用户选择“y”(yes),则目标文件将被覆盖;如果用户选择“n”(no)或其他任何键,则 cp 命令将不会覆盖目标文件,而是跳过该文件的移动。

mv -i test.txt test2.txt /opt/

仅移动源文件中较新的文件到目标目录:

当你运行 mv -u 命令时,mv 命令会比较源文件和目标目录中的同名文件的修改时间。如果源文件的修改时间较新(即源文件被更新过),则该文件会被移动到目标目录;如果目标目录中已存在同名文件且修改时间较新,则不会进行移动操作。

这个选项在需要将最新版本的文件从一个目录移动到另一个目录时特别有用,可以避免重复移动旧版本的文件。

例如,假设在当前目录下有一个名为 file.txt 的文件,而在 ./target/ 目录下也存在一个名为 file.txt 的文件,如果你运行以下命令:

mv -u file.txt ./target/

如果 ./target/ 目录中的 file.txt 文件的修改时间较新,那么 mv 命令将不会移动该文件,否则它将被移动到 ./target/ 目录中。只有文件的修改时间较新时,才会触发移动操作。

rm

使用 rm 命令来删除文件。可选参数包括:

  • f:强制删除文件或目录,不提示确认。
  • i:交互式操作,在删除前提示用户确认。
  • r:递归删除目录及其内容。
  • v:显示详细的删除过程。

删除文件:

rm file.txt

强制删除文件,不提示确认:

rm -f file.txt

交互式删除文件:使用 rm -i 命令来删除文件时,会在删除前提示用户确认是否要删除文件。如果用户输入 "y" 或 "yes" 确认删除,则文件将被删除;如果用户输入 "n" 或 "no" 取消删除,则该文件不会被删除

rm -i file.txt

删除目录及其内容:

rm -r directory/

递归删除目录及其内容,且不提示确认:

rm -rf directory/

cat

在 CentOS 中,cat 是一个用于连接文件并打印到标准输出的命令。它的名称源自 "concatenate"(连接)的缩写。cat 命令通常用于以下几个方面:

  • 查看文件内容:可以使用 cat 命令查看文本文件的内容,并将其打印到终端上。
cat file.txt
  • 连接文件:cat 命令还可以用于将多个文件连接在一起,并将结果输出到标准输出或另一个文件中。
cat test.txt test2.txt > test3.txt

  • 创建新文件:通过将 cat 命令与重定向操作符 > 结合使用,可以创建一个新文件并将内容写入其中。可以按ctrl+d键,保存输入的内容并退出,这里我输入了一句hello world !
cat > test4.txt hello world !
  • 显示行号:通过添加 -n 选项,cat 命令可以显示文件中每一行的行号。
cat -n file.txt
  • 串联文件:使用 cat 命令的重定向操作符 >>,可以将一个文件的内容附加到另一个文件的末尾。
cat file1.txt >> file2.txt

请注意,cat 命令在处理大型文件时可能会有性能问题,因为它会一次性读取整个文件并将其输出到标准输出。如果你只需要查看文件的一部分内容,或者处理大型文件,请考虑使用其他更适合的工具,如 less 或 tail。

tail

在 CentOS 中,tail 是一个用于显示文件末尾内容的命令。它可以用来实时监视文件的更新情况,也可以用来查看文件的最后几行内容。tail 命令的基本语法如下:

tail [选项] 文件名

常用的选项包括:

  • -f:实时跟踪文件的更新情况,当文件有新内容追加时,自动输出新内容。
  • -n:指定要显示的文件末尾多少行的内容,默认为 10 行。
  • -c:指定要显示的文件末尾多少字节的内容。
  • -q:不显示文件名。
  • -v:始终显示文件名。

以下是一些使用示例:

  • 查看文件的最后 10 行内容:
tail file.txt
  • 实时监视文件的更新情况,并输出新增的内容:
tail -f file.txt
  • 显示文件的最后 20 行内容:
tail -n 20 file.txt
  • 显示文件的最后 1000 个字节的内容:
tail -c 1000 file.txt
  • 在输出中不显示文件名:
tail -q file.txt

请注意,如果你使用 tail -f 命令来实时监视文件的更新情况,请确保终端处于活动状态,以免出现任何不必要的问题。此外,如果你需要查看文件的完整内容,请考虑使用其他工具,如 less 命令。

vi/vim

在 CentOS 中,vi 是一个文本编辑器,它是一个强大而广泛使用的命令行编辑器。vi 具有很多功能和快捷键,可以用于编辑文本文件。

要使用 vi 命令,可以按照以下步骤进行操作:

打开文件:使用 vi 命令后面跟上要编辑的文件名来打开文件。

vi file.txt

进入编辑模式:默认情况下,vi 打开文件后处于命令模式。要进入编辑模式,按下 i 键(插入模式),然后可以开始编辑文件。

编辑文件:在编辑模式下,你可以自由地编辑文本文件。你可以添加、删除、修改文本内容,使用光标键(方向键或 hjkl)来移动光标。

保存文件:在编辑完成后,按下 Esc 键回到命令模式,然后输入 :w 命令来保存文件。

:w

退出 vi:要退出 vi,在命令模式下输入 :q 命令。

:q

如果你在编辑过程中对文件进行了修改并且想强制保存,可以使用 :w! 命令。如果想同时保存并退出编辑器,可以使用 :wq 命令。

当然除了上述基本操作外,vi 还具有许多其他功能和命令。例如,可以使用 / 进行搜索、使用 :s 进行替换、使用 u 进行撤销等。如果有兴趣,可以查阅相关的手册。

  • 另一个指令是vim,vim(Vi IMproved)是在 vi(Visual Editor)基础上进行改进和扩展的文本编辑器,一般情况下vi指令对于我来说已经够用了。那么vim与vi的区别在哪呢:
  • 功能扩展:vim 添加了许多新的功能,例如语法高亮、代码折叠、多级撤销、多窗口编辑、标签页等。这些功能使得 vim 更适合开发人员和程序员。
  • 易用性改进:vim 对编辑器的使用体验进行了改进。它增加了更多的命令和快捷键,提供了更直观的操作方式,使得编辑过程更高效。
  • 插件支持:vim 支持丰富的插件系统,可以通过安装插件来扩展编辑器的功能。这使得用户可以根据自己的需求自定义 vim 的行为和外观。
  • 兼容性:vim 是对 vi 的增强版本,因此它与 vi 具有很高的兼容性。大部分 vi 的命令和操作在 vim 中仍然有效,因此 vi 用户可以无缝地切换到 vim。
  • 可定制性:vim 允许用户通过修改配置文件来定制编辑器的行为。用户可以更改键绑定、设置颜色方案、定义自己的宏等。

总的来说,vim 是 vi 的升级版,提供了更多的功能和改进的使用体验。对于需要更强大编辑器的用户,特别是开发人员和程序员,vim 是一个更好的选择。但对于只需进行基本文本编辑的用户来说,vi 仍然是一个简单而有效的选择。所以知道怎么选择了吧?

find

使用 find 命令来查找文件。它的作用是在指定路径下查找符合条件的文件。常用的可选参数包括:

  • -name pattern:按照文件名匹配模式来搜索文件。例如 -name "*.txt" 表示搜索所有扩展名为 .txt 的文件。
  • -type type:按照文件类型进行搜索。常用的类型包括 f(普通文件)、d(目录)、l(符号链接)等。
  • -size n[cwbkMG]:按照文件大小进行搜索。可以使用 +n 表示大于 n,-n 表示小于 n,n 表示精确匹配大小。后缀 c 表示字节,w 表示两个字节,b 表示块(默认为 512 字节),k 表示千字节,M 表示兆字节,G 表示吉字节。
  • -mtime n:按照文件修改时间进行搜索。n 表示天数,+n 表示超过 n 天,-n 表示不超过 n 天。
  • -user username:按照文件所有者进行搜索。
  • -group groupname:按照文件所属组进行搜索。
  • -perm mode:按照文件权限进行搜索。例如 -perm 644 表示搜索权限为 644 的文件。
  • -exec command {} ;:对搜索到的文件执行指定的命令。{} 表示搜索到的文件名,; 表示命令结束。
  • -print:将搜索到的文件名打印输出。

在 CentOS 7 中,find 命令的用法与其他 Linux 发行版基本相同。以下是一些常用的 find 命令示例:

  • 查找特定文件名:
find ./ -name "test*.txt" find /opt/ -name "test*.txt"
  • 查找特定目录名:
find /opt/ -type d -name "book*"
  • 查找特定文件类型:
find /opt/ -type f -name "ayi.*"
  • 查找特定大小的文件:
find /opt/ -type f -size -1M find /opt/ -type f -size +30c
  • 查找特定所有者的文件:
find /path/to/search -user username
  • 查找特定权限的文件:
find /path/to/search -perm mode
  • 查找最近修改的文件:
find /path/to/search -mtime n
  • 执行命令并打印搜索结果:
find /path/to/search -exec command {} ;
  • 将搜索结果输出到文件:
find /path/to/search -name "filename" > output.txt

请注意,上述命令中的 /path/to/search 是要搜索的目录路径,filename 是要查找的文件名,directoryname 是要查找的目录名,extension 是要查找的文件扩展名,username 是文件的所有者,mode 是文件的权限。

写在最后

在这篇关于 CentOS 7 文件操作的技术文章中,我为小伙伴们提供了丰富的命令使用方法和示例,帮助你轻松掌握文件管理的要点。如果您觉得这篇文章对您有所帮助,不妨点赞并收藏起来,方便日后查阅和分享给其他人。我相信,这篇文章将成为你在 CentOS 7 文件操作方面的最佳参考资料。感谢您的支持,让我们一起向更高级的文件操作技巧迈进!点赞和收藏,留下您宝贵的支持和建议。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1353656.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

海外住宅IP代理的工作原理和应用场景分析,新手必看

海外住宅IP代理作为一种技术解决方案,为用户提供了访问全球网络资源和维护隐私安全的方法。本文将介绍海外住宅IP代理的工作原理和应用场景,帮助读者更好地理解和利用这一技术。 一、工作原理 海外住宅IP代理的工作原理基于代理服务器和IP地址的转发。它…

阿里云系统盘测评ESSD、SSD和高效云盘IOPS、吞吐量性能参数表

阿里云服务器系统盘或数据盘支持多种云盘类型,如高效云盘、ESSD Entry云盘、SSD云盘、ESSD云盘、ESSD PL-X云盘及ESSD AutoPL云盘等,阿里云百科aliyunbaike.com详细介绍不同云盘说明及单盘容量、最大/最小IOPS、最大/最小吞吐量、单路随机写平均时延等性…

HackTheBox - Medium - Linux - BroScience

BroScience BroScience 是一款中等难度的 Linux 机器,其特点是 Web 应用程序容易受到“LFI”的攻击。通过读取目标上的任意文件的能力,攻击者可以深入了解帐户激活码的生成方式,从而能够创建一组可能有效的令牌来激活新创建的帐户。登录后&a…

李沐机器学习系列1--- 线性规划

1 Introduction 1.1 线性回归函数 典型的线性回归函数 f ( x ) w ⃗ ⋅ x ⃗ f(x)\vec{w} \cdot \vec{x} f(x)w ⋅x 现实生活中,简单的线性回归问题很少,这里有一个简单的线性回归问题。房子的价格和房子的面积以及房子的年龄假设成线性关系。 p r …

如何做好设备维护管理?这款设备管理系统值得推荐

在现代化的工业生产中,设备的高效运行是保障生产安全和效率的关键因素。然而,在企业实际的设备维护管理业务中,仍面临着许多难题与痛点: 设备档案管理乱:传统管理方式下,如果想查询设备的历史巡检、维修、…

[雷池WAF]长亭雷池WAF配置基于健康监测的负载均衡,实现故障自动切换上游服务器

为了进一步加强内网安全,在原有硬WAF的基础上,又在内网使用的社区版的雷池WAF,作为应用上层的软WAF。从而实现多WAF防护的架构。 经过进一步了解,发现雷池WAF的上游转发代理是基于Tengine的,所以萌生出了一个想法&…

用通俗易懂的方式讲解大模型:在 CPU 服务器上部署 ChatGLM3-6B 模型

大语言模型(LLM)的量化技术可以大大降低 LLM 部署所需的计算资源,模型量化后可以将 LLM 的显存使用量降低数倍,甚至可以将 LLM 转换为完全无需显存的模型,这对于 LLM 的推广使用来说是非常有吸引力的。 本文将介绍如何…

双侧电源系统距离保护MATLAB仿真模型

微❤关注“电气仔推送”获得资料(专享优惠) 系统原始数据 双侧电源系统模型如图所示: 仿真模型搭建 将线路AB分成Line1和Line2,将线路BC分成Line3和Line4,用三相电压电流测量模块作为系统母线,根据系统已…

在Cadence中单独添加或删除器件与修改网络的方法

首先需要在设置中使能 ,添加或修改逻辑选项。 添加或删除器件,点击logic-part,选择需要添加或删除的器件,这里的器件必须是PCB中已经有的器件,Refdes中输入添加或删除的器件标号,点击Add添加。 添加完成后就会显示在R1…

Linux学习记录——삼십삼 http协议

文章目录 1、URL2、http协议的宏观构成3、详细理解http协议1、http请求2、http响应1、有效载荷格式2、有效载荷长度3、客户端要访问的资源类型4、修改响应写法5、处理不同的请求6、跳转 3、请求方法(GET/POST)4、HTTP状态码(实现3和4开头的&a…

基于深度学习的交通标志图像分类识别系统

温馨提示:文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 本文详细探讨了一基于深度学习的交通标志图像识别系统。采用TensorFlow和Keras框架,利用卷积神经网络(CNN)进行模型训练和预测,并引入VGG16迁移学习…

x-cmd pkg | trafilatura - 网络爬虫和搜索引擎优化工具

目录 简介首次用户技术特点竞品和相关作品进一步阅读 简介 trafilatura 是一个用于从网页上提取文本的命令行工具和 python 包: 提供网络爬虫、下载、抓取以及提取主要文本、元数据和评论等功能可帮助网站导航和从站点地图和提要中提取链接无需数据库,输出即可转换…

深入了解Apache 日志,Apache 日志分析工具

Apache Web 服务器在企业中广泛用于托管其网站和 Web 应用程序,Apache 服务器生成的原始日志提供有关 Apache 服务器托管的网站如何处理用户请求以及访问您的网站时经常遇到的错误的重要信息。 什么是 Apache 日志 Apache 日志包含 Apache Web 服务器处理的所有事…

相关性与P值

相关性与P值 0 FQA:1 相关性与显著性的关系2 相关性分析3 使用medcalc进行相关性分析:参考文章: 0 FQA: 主要描述相关性和p值分别代表什么意义? 以及如何使用medcalc计算相关性和p值。 Q1:p值代表什么意义…

离线部署的MinIO

网络有不同的部分,例如 DMZ、公共、私有、堡垒等。这实际上取决于您的组织和网络要求。在部署应用程序时,任何应用程序,我们都需要考虑类型以及它是否需要位于网络的特定部分。 例如,如果要部署数据库,则不希望它位于…

Power Apps 学习笔记 - IOrganizationService Interface

文章目录 1. IOrganization Interface1.1 基本介绍1.2 方法分析 2. Entity对象2.1 Constructor2.2 Properties2.3 Methods 3. 相关方法3.1 单行查询 Retrive3.2 多行查询 RetriveMultiple3.3 增加 Create3.4 删除 Delete3.5 修改 Update 4. 数据查询的不同实现方式4.1 QueryExp…

CloudManager大数据本地环境标准部署文档

一、基本信息 文档目的:标准化、规范化Hadoop在本地化环境中部署所涉及的操作和流程,以便高效、高质地落地本地化环境部署的工作。 二、安装介质 FTP服务器: http://172.16.246.252:81/hadoopteam/cloudmanager/CDH-5.8.2-1.cdh5.8.2.p0.3…

Document对象详解

前言 在前端开发中,DOM(文档对象模型)扮演着重要的角色。它允许我们使用JavaScript来与网页文档进行交互,实现动态的网页效果。DOM的核心部分之一就是Document对象,它代表了整个HTML文档。在本篇博客中,我们…

C++基本语言:1.10类型转换:static_cast等

C基本语言包含10章节内容,存于C从入门到精通专栏 目录 一、隐式类型转换 ​编辑二、显式类型转换(强制类型转换) (1)static_cast:静态转换 可用于 不可用于 (2)dynamic_cast …

.NET国产化改造探索(一)、VMware安装银河麒麟

随着时代的发展以及近年来信创工作和…废话就不多说了,这个系列就是为.NET遇到国产化需求的一个闭坑系列。接下来,看操作。 安装银河麒麟 麒麟系统分银河麒麟和中标麒麟,我选择的是银河麒麟服务器版的,关于如何下载,…