linux rm(转)

 

拷贝文件及其子目录:cp -r 文件夹 新路径 

通常情况下,删除文件用:rm 文件名 

删除文件夹用:rmdir 文件夹名 

但是 rmdir不能删除非空的文件夹,那如何删除非空文件夹呢: 

命令:rm -rf 非空文件夹名(建议使用前做好备份,好像此命令是不会放到回收站的,删了就再也见不着下面的文件了)。 

重命名文件夹: 

mv oldfilename newfilename


mkdir 目录名           ——创建一个目录
rmdir 空目录名        ——删除一个空目录
rm 文件名 文件名     ——删除一个文件或多个文件
rm -rf 非空目录名    ——删除一个非空目录下的一切
touch 文件名           ——创建一个空文件

重命名文件(夹) / 移动文件(夹)到指定文件夹echWeb-技术社区5].O"?8H.I
执行格式: mv source destination

举例:
mv file1 file2 表示将文件 file1,更改文件名为 file2。 mv file1 dir1 将文件 file1,移到目录 dir1下,文件名仍为 file1。 mv dir1 dir2 若目录 dir2 存在,则将目录 dir1,及其所有文件和子目录,移到目录 dir2 下,新目录名称为 dir1。若目录 dir2 不存在,则将dir1,及其所有文件和子目录,更改为目录 dir2。

rename命令是专用于文件重命名的,而且根据其后的例子可以看出,rename除了给单个文件重命名,还可以批量文件重命名。同时,值得注意一点的是,rename命令是带3个参数而不是很多人认为的2个参数。

上面的例子中给出了两种文件批量重命名的用法,而实际上,rename结合通配符使用,它的功能比上面的例子所显示的更强大。基本的通配符有以下几个:

?    可替代单个字符

*    可替代多个字符

[charset]    可替代charset集中的任意单个字符

下面以例子加以说明:

如文件夹中有这些文件foo1, ..., foo9, foo10, ..., foo278,如果使用

rename foo foo0 foo?

则它只会把foo1到foo9的文件重命名为foo01到foo09,因为?通配符只能替代单个字符,所以被重命名的文件只是有4个字符长度名称的文件,文件名中的foo被替换为foo0。

再继续使用

rename foo foo0 foo??

则文件夹中的foo01到foo99的所有文件都被重命名为foo001到foo099,而foo100及其以后的文件名都不变,因为通配符?的使用,所以只重命名5个字符长度名称的文件,文件名中的foo被替换为foo0。

如果再继续使用

rename foo foo0 foo*

则foo001到foo278的所有文件都被重命名为foo0001到foo0278,因为通配符*可替代多个字符,所以,所有以foo开头的文件都被重命名了,文件名中的foo被替换为foo0。

我们再来看通配符[charset]的用法,还是继续在上面所说的文件夹中,执行如下命令

rename foo0 foo foo0[2]*

则从foo0200到foo0278的所有文件都被重命名为foo200到foo278,文件名中的foo0被替换为foo。

在使用中,三种通配符可以一起结合使用,关于具体的其它用法就只有自己不断的摸索了。

强制清空回收站

ubuntu8.04以前的版本

sudo rm -fr $HOME/.Trash/*


ubuntu 8.04 及以上

sudo rm -fr $HOME/.local/share/Trash/files/*




下面是touch命令用法
-a                     只更改访问时间
-c, --no-create        不创建任何文件
-d, --date=字符串        使用<字符串>表示时间而非当前时间
-f                     (忽略)
-m                     只更改修改时间
-r, --reference=文件   使用指定<文件>的时间属性而非当前时间
-t STAMP               使用 [[CC]YY]MMDDhhmm[.ss] 格式的时间而非当前时间
--time=WORD            使用 WORD 指定的时间:access、atime、use 都等于 -a
选项的效果,而 modify、mtime 等于 -m 选项的效果
--help     显示此帮助信息并离开
--version 显示版本信息并离开

请注意,-d 和 -t 选项可接受不同的时间/日期格式。

### Linux `rm` 命令详解 #### 删除文件 `rm` 是用于删除文件或目录的命令。基本语法如下: ```bash rm [选项] 文件... ``` 要删除单个文件,可以执行以下操作[^1]: ```bash rm filename.txt ``` 这会永久移除名为 `filename.txt` 的文件。 #### 强制删除而不提示确认 默认情况下,如果尝试删除不存在的文件或者覆盖只读文件时,`rm` 可能会请求用户确认。为了跳过这些提示并强制删除,可使用 `-f` 参数: ```bash rm -f file_to_remove_without_prompting ``` 此参数适用于批量处理不需要交互的情况。 #### 递归删除整个目录及其内容 当目标是一个非空目录时,仅靠简单的 `rm dir_name` 并不会起作用;相反,应该加上 `-r` 或者更常用的组合形式 `-rf` 来实现无条件清空指定路径下的所有子项以及该路径本身: ```bash rm -rf /path/to/directory/ ``` 注意:这种做法非常危险,尤其是在根分区或其他重要位置上误用了它可能导致数据丢失不可恢复,请务必谨慎行事! #### 查找并删除特定时间范围内的旧文件 结合其他工具如 `find` ,可以根据修改时间和模式匹配来定位待清理的对象集合,并通过管道传递给 `rm` 执行实际动作。例如查找当前工作区下超过21天未改动过的任意扩展名文件然后彻底清除它们[^2]: ```bash find . -type f -mtime +21 -name '*.*' -exec rm -Rf {} + ``` 这里 `.`, 表示从当前位置开始搜索;`-type f` 指定只考虑普通文件而非链接或特殊设备节点等;而后面的表达式则定义了具体筛选标准与最终处置方式。 #### 安全措施建议 为了避免意外损失宝贵资料,在日常运维过程中应当养成良好习惯: - 使用前仔细核对路径准确性; - 对于不确定的操作先做测试副本验证效果再正式施行; - 利用版本控制系统管理源码变更历史以便回滚错误提交; - 设置定时备份策略确保关键时刻能够迅速找回最新状态。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值