Linux文件系统的探索之旅:发现、搜索、移动

个人头像
🎥 屿小夏 : 个人主页
🔥个人专栏 : Linux深造日志
🌄 莫道桑榆晚,为霞尚满天!

📑引言

Linux提供了丰富而强大的命令行工具,使用户能够高效地管理文件系统。通过grepwhichfind等命令,用户可以轻松搜索文件、定位程序路径以及查找各种文件类型。此外,cpmv命令为文件复制、移动和重命名提供了便捷的功能。

一、查找文件

1.1 grep

语法: grep [选项] 搜寻字符串文件。

grep -in "linux" test2.txt	

查看文件中包含“linux”的行,忽略大小写,并打印行号。

功能: 在文件中搜索字符串,将找到的行打印出来。

常用选项:

  • -i :忽略大小写的不同,所以大小写视为相同
  • -n :顺便输出行号
  • -v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行

1.2 which

作用:which 命令用于定位可执行文件的路径。

**语法:**which [选项] [指令]

选项:

  • -a:显示所有符合条件的可执行文件路径,而不仅仅是第一个找到的。

示例:

which ls

这将返回 ls 命令的路径。

which -a ls

这将显示所有与 ls 相关的路径,如果有多个。

1.3 find

  • Linux下find命令在目录结构中搜索文件,并执行指定的操作。
  • Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
  • 即使系统中含有网络文件系统( NFS), find命令在该文件系统中同样有效,只你具有相应的权限。
  • 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。

**作用:**在文件系统中搜索文件和目录,并作出相应的处理(可能访问磁盘)

用法:

find [path] [expression]

选项:

  • -name:按照文件名进行搜索。
  • -type:按照文件类型进行搜索,如f表示文件,d 表示目录。
  • -exec:对搜索到的文件执行指定的命令。

示例:

find /home/user -name "*.txt"

这将在 /home/user 目录下搜索所有扩展名为 .txt 的文件。

find /home/user -type d

这将在 /home/user 目录下搜索所有的目录。

find /home/user -name "*.txt" -exec rm {} \;

这将删除 /home/user 目录下所有扩展名为 .txt 的文件。

1.4 whereis

功能: 用于查找二进制程序、源代码文件、和帮助文档的位置。

用法:

whereis [选项] 

示例:

whereis ls

说明:

  • whereis 会在标准位置以及系统的 $PATH 中查找命令的二进制文件,源代码文件以及帮助文档的位置,并返回结果。

二、复制/剪切(移动)

2.1 cp(复制文件或目录)

语法: cp [选项] 源文件或目录 目标文件或目录

cp -rf cs ..	:复制cs目录及其子目录文件到上级目录

功能: 复制文件或目录

说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

常用选项:

  • -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
  • -i 或 --interactive 覆盖文件之前先询问用户
  • -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
  • -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

2.2 mv(移动文件或目录)

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。

语法: mv [选项] 源文件或目录 目标文件或目录

mv cs mvsc	:将cs目录及其子目录文件移动到当前目前目录下,实现重命名

功能:

  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录), mv命令将文件重命名或将其移至一个新的目录中。

  2. 当第二个参数类型是文件时, mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。

  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个, mv命令将各参数指定的源文件均移至目标目录中。

常用选项:

  • -f : force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

🌤️全篇总结

Linux命令行中的grepwhichfind命令帮助用户在文件系统中搜索文件、定位程序路径,并快速查找各种类型的文件。同时,cpmv命令提供了便捷的文件复制、移动和重命名功能。这些工具的灵活性和强大功能让文件管理变得更加高效。

在这里插入图片描述

  • 43
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

屿小夏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值