linux中find与rm实现查找并删除目录或文件linux操作系统(锦集8篇)由网友“轻柒”投稿提供,下面小编给大家整理过的linux中find与rm实现查找并删除目录或文件linux操作系统,供大家阅读参考。
篇1:linux中find与rm实现查找并删除目录或文件linux操作系统
在linux中find是查找搜索文件而rm是删除文件,下面我们来看一篇linux中find与rm实现查找并删除目录或文件的实例,希望文章对大家会有所帮助,
删除指定目录下指定文件
find 要查找的目录名 -name .svn |xargs rm -rf
删除指定名称的文件或文件夹: find -type d | grep .svn$ | xargs rm -r
分析:
find -type d | grep .svn$ 通过此命令查找文件夹 过滤正则表达式中的目录
| xargs rm -r 执行删除指令
删除目录下所有exe文件
find . -name '*.exe' -type f -print -exec rm -rf {} ;
(1) “.” 表示从当前目录开始递归查找
(2) “ -name '*.exe' “根据名称来查找,要查找所有以.exe结尾的文件夹或者文件
(3) ” -type f “查找的类型为文件
(4) ”-print“ 输出查找的文件目录名
(5) 最主要的是是-exec了,-exec选项后边跟着一个所要执行的命令,表示将find出来的文件或目录执行该命令,
exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个,最后是一个分号
篇2:linux中RM命令删除目录与非空目录 linux操作系统
在linux中删除目录的方法有几个不同的命令,如rmdir这个只能删除空目录,如果想删除非空目录我们需要使用白领命令来实现,下面我来给大家介绍介绍,
rm命令
在linux中创建文件很容易,系统中随时会有文件变得过时且毫无用处。用户可以用rm命令将其删除。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。
rm命令的一般形式为:
rm [选项] 文件…
如果没有使用- r选项,则rm不会删除目录。
该命令的各选项含义如下:
- f 忽略不存在的文件,从不给出提示。
- r 指示rm将参数中列出的全部目录和子目录均递归地删除。
- i 进行交互式删除。
使用rm命令要格外小心。因为一旦一个文件被删除,它是不能被恢复的。例如,用户在输入cp,mv或其他命令时,不小心误输入了rm命令,当用户按了回车键并认识到自己的错误时,已经太晚了,文件已经没有了。为了防止此种情况的发生,可以使用rm命令中的 i选项来确认要删除的每个文件。如果用户输入y,文件将被删除。如果输入任何其他东西,文件将被保留。在下一个例子中,用户要删除文件test和 example。然后会被要求对每个文件进行确认。用户最终决定删除example文件,保留test文件。
代码如下复制代码$ rm – ii test example某目录下文件较多,考虑一次性全部删除。
代码如下复制代码[root@hx relate]# rm * -f
rm: invalid option -- ?
Try `rm ./-昆明中国_relate.txt' to remove the file `-300245303367326320271372_relate.txt'.
Try `rm --help' for more information.
这个文件删除不掉?
rm --help看了下帮助
代码如下复制代码By default, rm does not remove directories. Use the --recursive (-r or -R)
option to remove each listed directory, too, along with all of its contents.
To remove a file whose name starts with a `-', for example `-foo',
use one of these commands:
rm -- -foo
rm ./-foo
根据提示:
代码如下复制代码[root@hx relate]# rm ./-昆明中国_relate.txt
rm: remove regular file `./-300245303367326320271372_relate.txt'? y
把这个文件删除了,
附:批量删除某目录下的空文件(0字节的文件)
代码如下复制代码find . -name ”*“ -type f -size 0c | xargs -n 1 rm -f修改对应的 -size 参数,可以删除指定大小的文件,例如要删除1k大小的文件:
代码如下复制代码find . -name ”*“ -type f -size 1024c | xargs -n 1 rm -f
但注意不要用 -size 1k,这个得到的是占用空间1k,不是文件大小1k的
如果只要删除文件夹或者名字连接等,可以相应的改 -type 参数,具体细节见 man find。
RM与RMDIR的区别是rm可以删除非空目录 ,非空目录用rmdir是删除不了的,rm -rf 非空目录名 即可
篇3:linux 删除文件和目录与恢复详解linux操作系统
前面你已经学习了使用 touch 命令来创建文件,以及使用 mkdir 命令来创建目录 tigger。
现在,你需要学习如何删除文件和目录。 使用 rm 命令来删除文件和目录是一个直截了当的过程。详情请参阅 rm 的说明书页。删除文件和目录的选项包括:
» -i — 互动。提示你确认删除。这个选项可以帮助你避免误删文件。
» -f — 强制。代替互动模式,不提示地删除文件。除非你知道自己在干什么,使用这个选项通常不是明智之举。
» -v — 详细。显示文件的删除进度。
» -r — 递归。将会删除某个目录及其中所有的文件和子目录。
要使用 rm 命令来删除文件 piglet.txt,键入:
rm piglet.txt
警告
一旦文件或目录使用 rm 命令删除后,它就一去不复返了。
使用 -i(互动)选项会再给你一次机会来决定你是否真的想删除该文件。
rm -i piglet.txt
rm: 是否删除一般文件‘piglet.txt’?
你还可以使用通配符“*”来删除文件,不过,你必须谨慎而为,因为它很容易删除你并不想删除的文件。
要使用通配符来删除文件,可以键入:
rm pig*
上面的命令会删除目录中所有起首为 pig 字母的文件。
你还可以使用 rm 命令来删除多个文件。 例如:
rm piglet.txt sneakers.txt
你可以使用 rmdir 来删除目录( 如:rmdir foo),但是目录必须是空目录。要使用 rm 来删除目录,你必须指定 -r 选项。
譬如,如果你想递归地删除目录 tigger,你可以键入:
rm -r tigger
如果你想组合选项,例如强制一种递归的删除,你可以键入:
rm -rf tigger
另一个比使用 rm 更安全的删除目录的命令是 rmdir 命令。这个命令不允许你使用递归删除,因此不能删除包含文件的目录。
警告
rm 命令可以删除你的整个文件系统!如果你登录为根用户,然后键入这个简单命令: rm -rf /,你的麻烦就大了;这个命令会递归地删除你的系统上的一切。
阅读 rmdir 的说明书页( man rmdir)来获取关于这个命令的详细信息
Linux 文件误删除恢复操作
一、用运SecureCRT远程对操作系统上,查看一下当前系统版本号,及文件系统格式
二、为方便本次实验,我们新创建一文件,
三、执行删除操作,
四、运用,系统自还工具debugfs来修复
五、打开,刚刚被删除文件所在的分区
六、用ls 加-d参数显示刚刚删除文件所在的目录
七、显示有尖括号的就是我们要找的文件Inode 号 执行logdump –I <393289>
八,执行完命令后,显示了一屏信息,我们需要的是下面这一行,并且要记住,后面的值
九,退出debugfs
十,执行如下命令
十一,以上结果表示恢复成功我们看下/tmp目录下到底有没有
十二,tmp目录下有我们显示一下,
linux下删除乱码文件
根据inode 来修改或删除linux 下乱码的文件
1. 创建测试文件:
touch 1?.txt
2. 查询inode :
[oracle@test]$ ll -i
total 14694452
17956913 -rw-r--r-- 1 oracle oinstall 0 Jan 18 20:24 1?.txt
3. 修改测试文件名:
find . -inum 17956913 -exec mv {} file.txt ;
4. 检查修改结果
[oracle@test]$ ll
total 14694452
....
-rw-r--r-- 1 oracle oinstall 0 Jan 18 20:24 file.txt
记录:删除乱码的文件可使用 find . -inum 17956913 -exec rm {} ;
篇4:Linux中RM快速删除大量文件/文件夹方法linux操作系统
删除文件直接使用rm就可以删除文件了,删除目录了可以使用rm来删除,下面我们一起来看看Linux中RM快速删除大量文件/文件夹方法.
昨天遇到一个问题,在Linux中有一个文件夹里面含有大量的Cache文件(夹),数量级可能在百万级别,使用rm -rf ./* 删除时间慢到不可接受,Google了一下,查到了一种方法,试用了下确实比单纯使用rm快了一个数量级,
方法见下:
1)首先建立一个空白文件夹。
mkdir /tmp/www.111cn.net
2)之后使用以下语句即可快速的删除文件。
rsync --delete-before -d /tmp/www.111cn.net/ /the/folder/you/want/delete/
原文中说不要忘记文件夹后的“/”
3)一杯咖啡过后,就Ok了。
篇5:linux中find grep perl配合实现查找替换内容linux操作系统
在linux中查找文件,替换都是使用命令模式来执行,下面我来介绍在linux中find grep perl配合实现查找替换内容,有需要的朋友可参考,
可以用find配合sed或者perl来完成
查找当前目录下,把
代码如下复制代码替换成
代码如下复制代码find ./ -type f -exec sed -i ”s//
content=“text/html; charset=utf-8” />/g“ {} ;
上边是在linux,好像centos也可以,但是FreeBSD上不行,懒得查语法了,
搞了个find+perl的版本
把abc换成def
代码如下复制代码find ./ -type f | xargs perl -pi -e ”s/abc/def/g“FreeBSD不行,可能是shell不对。切换到bash,没报错了
上面只是简单的介绍,如果更复杂的大家可自行百度搜索。
篇6:linux中.* 匹配文件与目录注意事项linux操作系统
在我的本地home目录下,为了修改所有隐藏文件的属性,使用了.*来匹配执行chown -R,结果导致了整个/home目录以及下面所有其它用户目录的属性都被修改了,最直接的后果就是导致所有其他的用户都无法登陆服务器了,因为我们采用了SSH Key。
而问题的根本原因在于,使用.*在Linux下匹配文件和目录时,上级目录作为..会被匹配到。
而即使是这样,那也不会导致问题吧?但事实上并非如此,因为.*并不只会匹配当前的上级目录..,经过测试它还会依次匹配到上级的上级目录../..,
正所谓无图无真相,下面是我的相关操作步骤,可以清楚的看到使用.*之后,直接修改了上级..与上级的上级../..目录属性。
因此,正确的做法,应该使用正则表达式 .[^.]* 来精确匹配当前目录下的隐藏文件。
最后,我想试一下rm和mv会造成什么样严重的后果,却发现执行rm和mv在匹配.*时都会保护 . 与 ..,并不会造成问题。
篇7:linux中文件与文件目录管理命令linux操作系统
在linux中文件的所有权标志是用户ID(UID),chown命令更改某个文件或目录的所有权。例如,超级用户把自己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,超级用户(root)应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。
chown命令的语法格式是:
chown [选项]用户或组文件1[文件2...]
用户可以是用户名或用户ID。文件是以空格分开的要改变权限的文件列表,可以用通配符表示文件名。如果改变了文件或目录的所有权,原文件主将不再拥有该文件或目录的权限。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的目录下以后,让用户拥有使用该文件的权限。
在Linux下,每个文件又同时属于一个用户组。当你创建一个文件或目录,系统会赋予它一个用户组关系,用户组的所有成员都可以使用此文件或目录。文件用户组关系的标志是GID。文件的GID只能由文件主或超级用户(root)来修改。chgrp命令可以改变文件的GID,其语法格式为:
chgrp [选项] group文件名
其中group是用户组ID。文件名是以空格分开的要改变属组的文件列表,它支持通配符。
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。访问权限规定三种不同类型的用户:文件主(owner)、同组用户(group)、可以访问系统的其他用户(others)。
访问权限规定三种访问文件或目录的方式:读(r)、写(w)、可执行或查找(x)。
当用ls -l命令或l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。其中各位的含义如下:
*文件访问权限
读权限(r)表示只允许指定用户读其内容,而禁止对其做任何的更改操作。将所访问的文件的内容作为输入的命令都需要有读的权限。例如:cat、more等;写权限(w)表示允许指定用户打开并修改文件。例如命令vi、cp等;执行权限(x)允许指定用户将该文件作为一个程序执行。
*目录访问权限
在ls命令后加上-d选项,可以了解目录文件的使用权限:
ls -d
读权限(r)可以列出存储在该目录下的文件,即读目录内容列表。这一权限允许shell使用文件扩展名字符列出相匹配的文件名;写权限(w)表示允许你从目录中删除或添加新的文件,通常只有目录主才有写权限;执行权限(x)允许你在目录中查找,并能用cd命令将工作目录改到该目录。
cat 命令主要作用可归为四种:
1.用来显示文件内容,主要用于读取信息量比较少的文件
命令形式:cat filename
例如:
cat /data/www/robots.txt 查看 /data/www/robots.txt 文件的详细内容
cat -n *.php 把当前目录下的所有的 php 文件都显示出来(按顺序显示)
cat -n /data/www/robots.txt 查看 /data/www/robots.txt 文件的详细内容并加上行号
2.创建文件(只能创建新文件,不能编辑已有文件)
命令形式:cat >filename
例如:
cat >/data/www/robots.txt 创建 /data/www/robots.txt 文件
cat /data/www/index.php >/data/abc/index.php 把 /data/www/index.php 这个文件的内容输入到 /data/www/index.php 这个文件里面去
cat -n /www/index.php >/abc/index.php 把 /www/index.php 这个文件的内容加上行号输入到 /www/index.php 这个文件里面去
3.将几个文件合并为一个文件
命令形式:cat file1 file2 >file
例如:
cat -b /www/index.php /www/about.php >>/www/abc.php 把 /www/index.php 和 /www/about.php 的档案内容加上行号(忽略空白行)后将内容输入到 /www/abc.php 这个文件里(注意这里 abc.php 是原本不存在的)
cat /data/www/*.php >index.php 将 /data/www/*.php 目录下的所有 php 文件合并为 index.php(注意这里 index.php 是 *.php 里面的一个文件)
4.清空文档内容:
例如:
cat /dev/null >/data/robots.txt 此为清空 /data/robots.txt 文件的内容
另外一些关于 cat 命令的技巧,
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
篇8:linux中删除复制移动文件rm,mv,cp命令详解linux操作系统
在linux中对文件的复制删除移动分别会使用到rm,mv,cp三个命令,下面我来给大家介绍一下rm,mv,cp命令对文件的常规操作吧,
先看实例
删除复制移动文件命令
Linux代码
rm -rf /file
-r:递归处理参数
-f:强制删除所有文件
Linux代码
cp /test1/file1 /test3/file2
将file1复制到test3下,并改名为file2
Linux代码
cp -a test test1
将test目录下的所有子目录复制到test1下
Linux代码
mv /test1/file1 /test2/test2
将file1移动到test2下,并改名为test2
cp命令
该命令d功能匙将给出d文件或目录拷贝到另一文件或目录中,同MSDOS下dcopy命令一样,功能十分强大。
语法: cp [选项] 源文件或目录 目标文件或目录
说明:该命令把指定d源文件复制到目标文件或把多个源文件复制到目标目录中。
该命令d各选项含义如下:
- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项d组合。
- d 拷贝时保留链接。
- f 删除已经存在d目标文件而不提示。
- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,匙交互式拷贝。
- p 此时cp除复制源文件d内容外,还将把其修改时间和访问权限也复制到新文件中。
- r 若给出d源文件匙一目录文件,此时cp将递归复制该目录下所有d子目录和文件。此时目标文件必须为一个目录名。
- l 不作拷贝,只匙链接文件。
mv 命令
功能说明:移动或更名现有的文件或目录。
语 法:mv [-bfiuv][--help][--version][-S <附加字尾>][-V <方法>][源文件或目录][目标文件或目录]方法>附加字尾>
补充说明:mv可移动文件或目录,或是更改文件或目录的名称,
参 数:
-b或--backup 若需覆盖文件,则覆盖前先行备份。
-f或--force 若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文 件或目录。
-i或--interactive 覆盖前先行询问用户。
-S<附加字尾>或附加字尾>
--suffix=<附加字尾> 与-b参数一并使用,可指定备份文件的所要附加的字尾。附加字尾>
-u或--update 在移动或更改文件名时,若目标文件已存在,且其文件日期比源文件新,则不覆盖目标文件。
-v或--verbose 执行时显示详细的信息。
-V=<方法>或方法>
--version-control=<方法> 与-b参数一并使用,可指定备份的方法。方法>
--help 显示帮助。
--version 显示版本信息。
名称:rm
使用权限:所有使用者
使用方式:rm [options] name...
说明:删除档案及目录。
参数:?
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。
范例:
删除所有C语言程式档;删除前逐一询问确认 :
rm -i *.c
将 Finished 子目录及子目录中所有档案删除 :
rm -r Finished
功能说明:删除文件或目录。
语 法:rm [-dfirv][--help][--version][文件或目录...]
补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数”-r",否则预设仅会删除文件。
参 数:
-d或--directory 直接把欲删除的目录的硬连接数据删成0,删除该目录。
-f或--force 强制删除文件或目录。
-i或--interactive 删除既有文件或目录之前先询问用户。
-r或-R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v或--verbose 显示指令执行过程。
--help 在线帮助。
--version 显示版本信息。
★ 学习心得如何总结
★ linux中清理/var/log/clientmqueue目录文件linux操作系统
★ Linux mv与cp命令实现文件与目录移动linux操作系统
★ linux中./configure命令参数解析linux操作系统
★ php实习报告
【linux中find与rm实现查找并删除目录或文件linux操作系统(锦集8篇)】相关文章:
Linux删除文件及大量文件删除方法linux操作系统2022-11-04
Linux常用命令及与vi、gdb这两个命令的运用2022-10-05
Linux配置MySQL数据库详解linux操作系统2022-11-22
如何让系统自动备份网站数据经验2022-10-30
Shell中的变量使用小结2022-07-08
Linux不完全手册2023-08-05
一个中国黑客公开信2023-09-08
小站长浅谈网站自动采集与的利弊2023-08-24
教你用Linux完成Oracle自动物理备份2023-06-07
Office中复制移动删除文档2023-10-06