Linux 文件与目录的相关操作和管理

🐇明明跟你说过:个人主页

🏅个人专栏:《Linux :从菜鸟到飞鸟的逆袭》 🏅

🔖行路有良友,便是天堂🔖

目录

一、前言

 1、Linux的起源与发展

二、 目录与路径

1、相对路径与绝对路径

2、目录的相关操作 

cd (change directory,切换目录)

pwd(显示目前所在的目录)

mkdir(建立新目录)

rmdir(删除空目录)

三、文件与目录管理

1、文件与目录查看(ls)

2、复制、删除、与移动:cp、rm、mv

1. cp 命令(复制):

2. rm 命令(删除):

3. mv 命令(移动或重命名):

3、rm(删除文件或目录) 

四、文件内容查看

1、直接查看文件内容 (cat tac nl)

2、可翻页查看(more、less)

3、数据截取(head、tail)

4、非纯文本文件读取(od)

5、创建新文件(touch)

6、文件默认权限(umask) 

7、文件的隐藏属性(chattr) 

8、文件的查找(find)


一、前言

 1、Linux的起源与发展


1991年,芬兰赫尔辛基大学的学生林纳斯·托瓦兹(Linus Torvalds)开始编写一个新的操作系统内核,这个内核最初被称为“Freax”。他的初衷只是想学习操作系统内核的开发,并为自己的个人计算机编写一个操作系统。然而,当他将这个内核发布在Internet上并开放源代码后,全球各地的程序员开始参与到这个项目中来,共同完善这个内核。最终,这个内核被命名为Linux,这个名字是由Linus Torvalds的名字和Unix操作系统的名字组合而成的。

Linux从一开始就坚持源代码的公开和免费使用,任何人都可以对其进行修改和分发。这种开放性和自由性吸引了大量的开发者和用户,使得Linux逐渐成长并成熟起来。如今,Linux已经发展成为一个性能稳定、功能强大的多用户网络操作系统,支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。同时,Linux也有上百种不同的发行版,如基于社区开发的Debian、ArchLinux,以及基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。

二、 目录与路径

1、相对路径与绝对路径

在Linux中,文件路径用于定位文件或目录在系统层次结构中的位置。路径可以是绝对的,也可以是相对的。

绝对路径

  • 绝对路径是从文件系统的根目录(/)开始,一直到要访问的文件或目录的完整路径。它总是以斜杠(/)开头,并明确指定了文件或目录在系统中的确切位置。
  • 例如,假设有一个名为example.txt的文件位于/home/user/documents目录下,那么该文件的绝对路径就是/home/user/documents/example.txt。
  • 使用绝对路径的好处是它们总是指向同一位置,无论当前工作目录是什么。

相对路径

  • 相对路径是从当前工作目录开始,到目标文件或目录的路径。它不包含从根目录到当前工作目录的完整路径,而是仅包含从当前位置到目标位置所需的路径信息。
  • 例如,如果当前工作目录是/home/user/documents,并且想要访问同目录下的example.txt文件,那么可以使用相对路径example.txt。如果example.txt位于一个名为subfolder的子目录中,那么相对路径就是subfolder/example.txt。
  • 相对路径的好处是它们更加灵活,因为它们依赖于当前工作目录。这使得在编写脚本或程序时能够更轻松地移动和重用文件路径。

2、目录的相关操作 

一些比较特殊的标识符

cd (change directory,切换目录)

cd 是 Unix 和 Linux 操作系统中用于切换当前工作目录的命令,其全称为 "change directory"。通过 cd 命令,用户可以轻松地导航到文件系统的不同部分。
 

示例:

切换到根目录:

cd /


切换到用户的主目录:

cd ~


或者

cd


(不带任何参数的 cd 命令也会切换到用户的主目录)

切换到上一级目录:

cd ..


切换到相对路径的目录:
假设当前目录是 /home/user,并且想要切换到 /home/user/documents:

cd documents


切换到绝对路径的目录:

cd /home/user/documents


切换到之前访问过的目录:
使用 cd - 可以切换到上一个工作目录。

cd -


切换到特定的目录(基于环境变量):
如果有一个环境变量指向某个目录,我们可以直接使用这个环境变量来切换:

cd $MY_DIRECTORY

在使用 cd 命令时,如果目录存在并且有权限访问,那么命令会成功执行,并且当前工作目录会改变。如果目录不存在或者没有访问权限,cd 命令通常会显示一个错误消息。 

pwd(显示目前所在的目录)

pwd 是 Unix 和 Linux 操作系统中用于显示当前工作目录(Present Working Directory)的命令。执行 pwd 命令后,会在终端输出当前所在的目录的绝对路径。

当我们在终端中浏览文件系统时,可能会切换到多个不同的目录。有时,为了确认当前所在的确切位置,或者为了在其他命令中使用当前目录的路径,pwd 命令就非常有用了。

示例:

显示当前工作目录:

pwd


执行这个命令后,终端会输出类似 /home/user 这样的路径,表示你当前所在的目录。

在脚本中使用:
如果你正在编写一个脚本,并且需要获取当前工作目录的路径,可以使用 pwd 命令并将其输出赋值给一个变量:

current_dir=$(pwd)  
echo "当前目录是: $current_dir"


与其他命令结合使用:
有时,我们可能想要基于当前工作目录的路径来执行其他操作。例如,我们可以使用 pwd 命令的输出作为 cp 或 mv 命令的目标目录:

cp somefile.txt $(pwd)/backup/


这个命令会将 somefile.txt 复制到当前工作目录下的 backup 子目录中。

mkdir(建立新目录)

mkdir 是 Unix 和 Linux 操作系统中用于创建新目录的命令,其全称为 "make directory"。通过 mkdir 命令,用户可以指定一个新的目录名称,并在当前工作目录下创建它。如果提供了完整的路径,那么新目录会在指定的位置创建。

示例:

在当前目录下创建一个新目录:

mkdir newdir


这将在当前工作目录下创建一个名为 newdir 的新目录。

创建多级目录:
默认情况下,mkdir 命令不会创建嵌套的目录结构。但是,我们可以使用 -p 选项来创建多级目录:

mkdir -p dir1/dir2/dir3


这将创建 dir1,并在其中创建 dir2,再在 dir2 中创建 dir3。如果 dir1 或 dir2 已经存在,mkdir 命令不会报错。

设置目录的权限:
在创建目录时,你也可以使用 -m 选项来设置目录的权限模式:

mkdir -m 755 newdir


这将创建一个名为 newdir 的新目录,并设置其权限为 755(即所有者有读/写/执行权限,组用户有读/执行权限,其他用户有读/执行权限)。

在指定路径下创建目录:
我们可以使用完整的路径来指定新目录的位置:

mkdir /path/to/newdir


这将在 /path/to/ 下创建一个名为 newdir 的新目录。

显示创建信息:
使用 -v 选项(verbose,详细模式)可以在创建目录时显示详细信息:

mkdir -v newdir


执行命令后,如果目录成功创建,我们将看到类似于 mkdir: created directory 'newdir' 的输出信息。

rmdir(删除空目录)

rmdir 是 Unix 和 Linux 操作系统中用于删除空目录的命令。与 rm 命令不同,rmdir 只能用于删除空目录,而不能删除文件或包含文件的目录。这是为了确保不会意外地删除重要数据。

示例:

删除一个空目录:

rmdir emptydir


如果 emptydir 是一个空目录,那么这条命令会将其删除。如果目录非空,rmdir 会报错。

删除多个空目录:
我们可以一次指定多个目录来删除它们,只要它们都是空的:

rmdir dir1 dir2 dir3


这将会尝试删除 dir1、dir2 和 dir3,只要它们都是空的。

删除多级空目录:
通常情况下,rmdir 不能用于删除非空目录或包含其他目录的目录。但是,如果我们使用 -p 选项并指定一个多级目录结构,rmdir 会尝试从最深层的子目录开始向上删除,只要每个目录都是空的:

rmdir -p dir1/dir2/dir3


如果 dir3 是空的,并且 dir2 只包含 dir3(没有其他文件或目录),那么 dir2 也会被删除。同样地,如果 dir1 只包含 dir2,那么它也会被删除。

使用通配符删除空目录:
我们可以使用通配符来匹配多个目录名,并删除它们,只要它们是空的:

rmdir emptydir*


这将会删除所有以 emptydir 开头的空目录。

请注意,rmdir 命令在删除目录时不会询问确认,因此在使用它时要格外小心,以免意外删除重要目录。在删除目录之前,最好先使用 ls 命令检查目录是否为空,或者使用 find 命令结合 -empty 选项来查找并删除空目录。

三、文件与目录管理

1、文件与目录查看(ls)

ls 是 Unix 和 Linux 操作系统中用于列出目录内容的命令,全称为 "list"。通过 ls 命令,用户可以查看当前工作目录或指定目录中的文件和子目录列表。

基本用法
列出当前工作目录的内容:

ls


执行此命令后,会在终端显示当前目录下的所有文件和子目录。
常用选项
列出详细信息:
使用 -l 选项可以以长格式显示文件和目录的详细信息,包括权限、所有者、大小、最后修改时间等。

ls -l


列出隐藏文件:
在 Unix 和 Linux 中,以点(.)开头的文件被视为隐藏文件。使用 -a 选项可以显示所有文件和目录,包括隐藏文件。

ls -a


以人类可读的格式显示文件大小:
使用 -h 选项可以以 KB、MB、GB 等单位显示文件大小,使其更易于阅读。

ls -lh


逆序排列:
使用 -r 选项可以将文件和目录按照逆序排列。

ls -r


按时间排序:
使用 -t 选项可以按照文件的修改时间排序。最近的文件将首先显示。

ls -lt


以目录优先排序:
默认情况下,ls 会先列出文件,然后列出目录。使用 -d 选项可以仅列出目录本身,而不是其内容。

ls -d */


使用颜色区分不同类型的文件:
大多数现代版本的 ls 默认使用颜色来区分目录(通常是蓝色)、可执行文件(通常是绿色)等。如果想要禁用颜色,可以使用 --color=never 选项;如果想要强制启用颜色,可以使用 --color=always。

结合使用
可以组合多个选项来定制 ls 的输出。例如,要以长格式列出当前目录的所有文件和目录,并按修改时间排序,可以使用:

ls -lt


指定目录
还可以使用 ls 命令来查看其他目录的内容,只需在命令后面跟上目录的路径即可:

ls /path/to/directory


这将列出 /path/to/directory 目录下的文件和子目录。

2、复制、删除、与移动:cp、rm、mv

cp、rm、mv 是 Unix 和 Linux 操作系统中用于复制、删除和移动文件或目录的命令。

1. cp 命令(复制):

  • 功能:用于复制文件或目录。
  • 基本语法:cp [选项] 源文件或目录 目标文件或目录
  • 常用选项:
  •       -i:交互式复制,在覆盖文件前询问用户。
  •       -r 或 -R:递归复制,用于复制目录及其内容。
  •       -u:更新复制,只有当源文件比目标文件新,或者目标文件不存在时,才复制文件。
  •       -a:归档复制,复制文件和目录,同时保持其原有属性。
  • 例子:cp original.txt copy.txt 将 original.txt 复制为 copy.txt。

2. rm 命令(删除):

  • 功能:用于删除文件或目录。
  • 基本语法:rm [选项] 文件或目录
  • 常用选项:
  •        -r 或 -R:递归删除,用于删除目录及其内部的所有文件和子目录。
  • 注意事项:使用 rm 命令删除文件或目录是永久性的,无法恢复,因此在使用时要格外小心,确保不会误删重要数据。
  • 例子:rm test.txt 删除名为 test.txt 的文件;rm -r directory_name 删除名为 directory_name 的目录及其内部的所有文件和子目录。

3. mv 命令(移动或重命名):

  • 功能:用于移动文件或目录,或者重命名文件或目录。
  • 基本语法:mv [选项] 源文件或目录 目标位置或新名称
  • 常用选项:
  •        -i:交互式移动,在覆盖文件前询问用户。
  •        -u:更新移动,只有当源文件比目标文件新,或者目标文件不存在时,才移动文件。
  • 例子:mv file.txt /path/to/directory 将 file.txt 移动到指定目录;mv old_filename new_filename 将 old_filename 重命名为 new_filename。

3、rm(删除文件或目录) 

rm 是 Unix 和 Linux 系统中用于删除文件或目录的命令。使用 rm 命令时必须小心,因为删除的文件或目录将无法恢复。

基本用法
删除单个文件:

rm filename


这将删除名为 filename 的文件。

删除多个文件:

rm file1 file2 file3


这将删除 file1、file2 和 file3 这三个文件。

删除目录(需要递归选项 -r 或 -R):

rm -r directoryname


这将删除名为 directoryname 的目录及其包含的所有文件和子目录。

常用选项
-r 或 -R:递归删除,用于删除目录及其内容。

rm -r dir


-f:强制删除,不询问确认。

rm -f file


这将强制删除文件,不会询问是否确定删除。

-i:交互式删除,在删除每个文件或目录之前询问确认。

rm -i file


在删除 file 之前,系统会询问你是否确定要删除。

--preserve-root:当尝试删除根目录(/)时,使用这个选项可以确保 rm 不会删除根目录。

四、文件内容查看

在Linux中,查看文件主要有以下几个命令

  • cat 由第一行开始显示文件内容
  • tac 从最后一行开始显示,可以看出tac是cat的倒着写
  • nl 显示的时候,同时输出行号
  • more 一页一页的显示文件内容
  • less 与more类似,但是比more更好的是,它可以往前翻页
  • head 只看前面几行
  • tail 只看后面几行
  • od 以二进制的方式读取文件内容

1、直接查看文件内容 (cat tac nl)

在Unix和Linux系统中,cat、tac和nl是用于直接查看文件内容的常用命令。这些命令提供了不同的方式来查看和显示文件内容

cat 命令
cat(concatenate的缩写)命令用于连接并显示文件的内容。它是最简单、最常用的文件查看命令之一。

基本语法:

cat [选项] 文件名


常用选项:

  • -n:对输出的每一行进行编号。
  • -b:只对非空行进行编号。
  • -s:当遇到有连续两行或两行以上的空白行时,就代换为一行的空白行。

例子:

cat file.txt       # 显示file.txt的内容  
cat -n file.txt    # 显示file.txt的内容,并对每一行进行编号


tac 命令
tac命令是cat命令的反向版本,它会按文件内容的逆序显示。也就是说,它会先显示文件的最后一行,然后是倒数第二行,依此类推。

基本语法:

tac 文件名


例子:

tac file.txt    # 显示file.txt的内容,但顺序是反向的


nl 命令
nl(number lines的缩写)命令用于显示文件内容,并且会在每一行前加上行号。

基本语法:

nl [选项] 文件名


常用选项:

  • -b:指定行号指定的方式,主要有两种:
  • -b a 或 --body-numbering:除了空白行不编号外,其他行都编号(默认)。
  • -b t 或 --tail-numbering:空白行不编号,编号从第一个非空行开始。
  • -n:设置行号的显示格式。
  • -n ln:在行号字段最左端显示。
  • -n rn:在行号字段最右边显示,且不加0。
  • -n rz:在行号字段最右边显示,且加0。
  • -w:行号字段占用的位数。

例子:

nl file.txt               # 显示file.txt的内容,并在每行前加上行号  
nl -b t -n rz -w 3 file.txt  # 显示file.txt的内容,从第一个非空行开始编号,行号右对齐且加0,行号字段占3位


这些命令都允许通过管道(|)与其他命令结合使用,以执行更复杂的文本处理任务。例如,可以使用grep来过滤文件内容,然后再通过cat、tac或nl来查看或格式化输出。

2、可翻页查看(more、less)

在Unix和Linux系统中,more和less命令用于分页查看文件内容,特别适用于查看大文件。这两个命令允许用户逐页浏览文件,同时提供了搜索和导航功能。

more 命令
more命令用于分页显示文件内容。当使用more命令打开文件时,它会显示文件的第一页内容,并在底部显示当前页码和可用操作。

基本语法:

more 文件名


常用操作:

  • 空格键:向下滚动一页。
  • 回车键:向下滚动一行。
  • b 键:向上滚动一页(back)。
  • = 键:显示当前行号。
  • q 键:退出more命令。

例子:

more largefile.txt


less 命令
less命令比more命令更加强大和灵活,它提供了更多的导航和搜索选项。less命令在显示文件内容时允许用户向前和向后翻页,以及进行搜索。

基本语法:

less 文件名


常用操作:

  • 空格键:向下滚动一页。
  • b 键或 Page Up 键:向上滚动一页。
  • 回车键:向下滚动一行。
  • k 键或上箭头键:向上滚动一行。
  • / 键:后跟搜索词,向前搜索。
  • n 键:重复前一个搜索(next)。
  • ? 键:后跟搜索词,向后搜索。
  • N 键:反向重复前一个搜索。
  • = 键:显示当前行号。
  • g 键:跳转到文件的第一行。
  • G 键:跳转到文件的最后一行。
  • q 键:退出less命令。

例子:

less largefile.txt


在less命令中,我们还可以使用上下箭头键来逐行滚动,以及使用Page Up和Page Down键来快速翻页。

比较

  • more命令比较简单,主要用于分页查看文件,但不支持向后翻页或搜索功能。
  • less命令则更为强大,不仅支持分页查看,还提供了向后翻页、搜索以及更复杂的导航功能。

通常,对于大文件或需要更强大功能的场景,推荐使用less命令。而对于简单的分页查看,more命令就足够了。这两个命令都是文本模式操作,因此在没有图形界面的环境中特别有用。

3、数据截取(head、tail)

在Unix和Linux系统中,head和tail命令用于从文件的开头或结尾截取数据。这两个命令通常用于快速查看文件的开头或结尾部分,或者用于从文件中提取特定的行数。

head 命令
head命令用于输出文件的开头部分。默认情况下,它会显示文件的前10行。

基本语法:

head [选项] 文件名


常用选项:

  • -n <行数>:指定要显示的行数。
  • -c <字节数>:指定要显示的字节数。

例子:

  • head file.txt               # 显示file.txt的前10行  
  • head -n 20 file.txt        # 显示file.txt的前20行  
  • head -c 100 file.txt       # 显示file.txt的前100个字节

tail 命令
tail命令与head命令相反,它用于输出文件的结尾部分。同样,默认情况下,它会显示文件的后10行。

基本语法:

tail [选项] 文件名


常用选项:

  • -n <行数>:指定要显示的行数。
  • -f:实时追踪文件内容的变化并显示。常用于查看日志文件。
  • -c <字节数>:指定要显示的字节数。

例子:

tail file.txt               # 显示file.txt的后10行  

tail -n 30 file.txt        # 显示file.txt的后30行  

tail -f logfile.txt        # 实时查看logfile.txt的末尾内容(常用于监控日志)  

tail -c 150 file.txt       # 显示file.txt的后150个字节

tail -f选项特别有用,因为它允许你实时地查看文件的变化,这在监控日志文件或其他动态更新的文件时非常有帮助。例如,当系统管理员想要实时查看服务器日志文件以监控潜在问题时,可以使用tail -f命令。

4、非纯文本文件读取(od)

非纯文本文件读取在Unix和Linux系统中,通常使用od(Octal Dump)命令。od命令用于以八进制、十进制、十六进制或其他格式转储文件内容。这对于查看非纯文本文件(如二进制文件)特别有用,因为这类文件无法被常规的文本查看命令(如cat、more、less等)正确显示。

基本语法:

od [选项] 文件名


常用选项:

  • -t:指定输出格式。可以使用a(默认字符)、c(ASCII字符)、d[size](十进制)、f[size](浮点数)、o[size](八进制)、x[size](十六进制)等。
  • -A:指定地址基数。例如,x表示十六进制。
  • -w:指定输出宽度。
  • -v:显示不可打印字符。

例子:

od -t c file.bin   # 以ASCII字符格式显示file.bin的内容  
od -t x1 file.bin  # 以十六进制格式显示file.bin的内容,每个字节占一个十六进制数  
od -A x -t x1 file.bin  # 以十六进制地址和十六进制格式显示file.bin的内容


使用od命令时,我们可以通过-t选项指定输出格式。例如,-t c会以ASCII字符格式显示文件内容,这对于查看包含可打印字符的二进制文件很有用。而-t x1则会以十六进制格式显示每个字节的内容,这对于分析文件结构和内容特别有帮助。

5、创建新文件(touch)

在Unix和Linux系统中,touch命令用于创建新的空文件或更新现有文件的访问和修改时间戳。如果指定的文件不存在,touch命令会创建一个新的空文件;如果文件已经存在,touch命令会更新该文件的访问和修改时间戳。

基本语法:

touch 文件名


例子:

touch newfile.txt    # 创建名为newfile.txt的新文件  
touch existingfile.txt # 更新existingfile.txt的访问和修改时间戳


当使用touch命令创建一个新文件时,这个文件不包含任何内容,它的大小是0字节。但是,这个文件现在存在于文件系统中,并且具有一个与之关联的时间戳。

除了创建新文件外,touch命令还常用于以下几种情况:

  • 占位符文件:在某些情况下,我们可能需要创建一个空文件作为占位符,以便稍后进行填充或用于某种特定的目的。
  • 确保脚本中的文件存在:在编写脚本时,我们可能希望在操作文件之前确保它确实存在。如果文件不存在,可以使用touch命令创建它。
  • 更新时间戳:如果我们想要更新文件的访问和修改时间戳,而不需要修改文件的内容,可以使用touch命令。这对于某些需要基于时间戳进行操作的场景(如日志轮转)很有用。

6、文件默认权限(umask) 

在Unix和Linux系统中,文件的默认权限是通过umask(用户文件创建权限掩码)来控制的。umask命令用于设置文件和目录的默认权限掩码,从而决定新建文件或目录的默认权限。

需要了解的是,在没有umask的情况下,文件的默认权限为0666(即所有用户都具有读写权限,但没有执行权限),而文件夹的默认权限为0777(即所有用户都具有读、写和执行权限)。然而,系统为了保护用户创建文件和文件夹的权限,会引入一个默认的用户掩码(umask)。

umask的值是一个三位八进制数,用于禁用文件或目录的默认权限。当创建新文件或目录时,系统会根据文件类型(文件或目录)和umask值来确定其默认权限。具体来说,umask的值会从默认权限中“减去”,从而得到文件或目录的实际默认权限。

例如,如果umask设置为022,那么新建文件的默认权限将是0666-022=0644(即所有者具有读写权限,而组用户和其他用户只有读权限)。对于文件夹,由于需要执行权限来打开文件夹,所以默认权限会从0777中减去umask值,得到0755(即所有者具有读、写和执行权限,而组用户和其他用户只有读和执行权限)。

用户可以通过在shell中直接运行umask命令来查看当前shell的umask值。如果需要修改umask值,可以使用umask命令后跟上新的umask值来设置。例如,umask 022会将umask设置为022。

7、文件的隐藏属性(chattr) 

在Linux系统中,文件的隐藏属性可以通过chattr命令进行修改。这些隐藏属性对于系统安全尤为重要,它们提供了额外的保护机制,防止文件被误操作或恶意篡改。

chattr命令的语法格式是:chattr [+-=][选项] 文件或目录名称。其中,+表示增加某个特殊参数,-表示删除某个特殊参数,=表示直接设置参数。

这些隐藏属性包括:

  • A:当设置了A属性后,存取文件或目录时不会修改其存取时间(atime),有助于避免I/O较慢的机器过度读写磁盘。
  • S:设置S属性后,对文件的修改会同步写入磁盘,确保数据的一致性。
  • a:文件只能增加数据,不能删除或修改数据,只有root用户才能设置此属性。
  • c:文件会自动压缩,读取时会自动解压缩,有助于节省存储空间。
  • i:设置此属性后,文件不能被修改或删除,增加了文件的安全性。

8、文件的查找(find)

在Linux系统中,find命令是用于查找文件和目录的强大工具。它可以根据各种条件,如文件名、文件类型、大小、修改时间等,来搜索指定的目录树。

基本语法:

find [路径] [表达式]


常用选项:

  • -name:按文件名查找。
  • -type:按文件类型查找,如普通文件(f)、目录(d)、符号链接(l)等。
  • -size:按文件大小查找。
  • -user:按文件所有者查找。
  • -mtime:按文件修改时间查找。
  • -exec:对查找到的文件执行指定的shell命令。

例子:

查找当前目录及其子目录下所有名为example.txt的文件:

find . -name example.txt


查找/etc目录下所有以.conf结尾的文件:

find /etc -name "*.conf"


查找/home/user目录下所有大小为100MB的文件:

find /home/user -size 100M


查找最近7天内被修改过的文件:

find . -mtime -7


查找所有者为john的文件,并删除它们:

find / -user john -exec rm {} \;


注意:上面的删除命令需要谨慎使用,因为它会删除所有匹配的文件。在实际应用中,最好先使用find命令查找文件,确认无误后再执行删除操作。

查找所有空文件并删除它们:

find . -type f -empty -exec rm {} \;


结合多个条件查找,例如查找/var目录下所有最近7天内修改过且大小为100MB至200MB之间的文件:

find /var -size +100M -size -200M -mtime -7


find命令非常灵活,它允许你组合多个条件来精确查找你需要的文件。同时,通过-exec选项,我们可以对查找到的文件执行几乎任何shell命令,这使得find命令在自动化脚本和系统管理中非常有用。

💕💕💕每一次的分享都是一次成长的旅程,感谢您的陪伴和关注。希望这些关于Linux的文章能陪伴您走过技术的一段旅程,共同见证成长和进步!😺😺😺

🧨🧨🧨让我们一起在技术的海洋中探索前行,共同书写美好的未来!!! 

  • 29
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

明明跟你说过

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

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

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

打赏作者

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

抵扣说明:

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

余额充值