技术标签: 【操作系统】 安全 linux 删除 【系统运维】
在LINUX中,经常要删除文件,大多时候使用rm命令就足以应付了,有的时候需要用-f,强制删除,碰到有子目录的时候,需要加-r参数,也就是说,不考虑安全问题,rm -rf filename就可以解决绝大部分问题.先看下rm的一般用法:
也就是说,大多情况下:
方法一: rm file # 直接删除
方法二: rm -i file # 删前提示
方法三: rm -f file # 强制删除
方法四: rm -rf /dir # 递归删除
但是,经常在删除文件时会碰到Device or Resource is busy的情况,这个时候尝试用下面的方法:
方法五: 使用ps和kill命令查看并删除相应的进程,时候再执行rm删除操作
方法六: 使用lsof命令查看使用该文件并用kill删除,再执行rm操作
方法七: 使用fuser -kvm /mnt/test命令,再执行rm操作
-k参数: 缩写kill
-v参数: 详细输出
-m参数: 表面指定的路径为挂载点
方法八: 使用find命令结合-exec命令来删除
$ find /tmp -type f -exec rm -rf {} \;
方法九: 使用find命令结合xargs命令来删除
$ find /tmp -type f | xargs rm -rf
【增量删除】:
$ mkdir {dirA,dirB} # 创建测试目录
$ touch dirA/{A1,A2,A3} # dirA创建三个文件A1,A2,A3
$ touch dirB/{B1,B2,B3} # dirA创建三个文件B1,B2,B3
目录结构如下:
1) 将dirA的所有文件同步到dirB内,并保留文件的属主,属组,文件权限等信息:
$ rsync -avz dirA/ dirB/
2) 将dirA的所有文件同步到dirB内,并删除dirB内多余的文件
$ rsync -avz --delete dirA/ dirB/
3) 将dirA的所有文件同步到dirB,但是在dirB内除了B3这个文件不删之外,其他的都删除
$ rsync -avz --delete --exclude='B3' dirA/ dirB/
4) 将dirA目录内的A1.txt和A2.txt不同步到dirB目录内
$ rsync -avz --exclude='A1' --exclude='A2' dirA/ dirB/
5) 将dirA目录内的A1和A2不同步到dirB目录内,并且在dirB目录内删除多余的文件
$ rsync -avz --exclude='A1' --exclude='A2' --delete dirA/ dirB/
6) 将dirA目录内的A1和A2不同步到dirB目录内,并且在dirB目录内删除多余的文件,同时,如果dirB内有A2和A1这两个被排除同步的文件,仍然将其删除
$ rsync -avz --exclude='A1' --exclude='A2' --delete-excluded dirA/ dirB/
【海量删除】:
有时候文件太多,执行rm –rf file* 会报错,进行不下去,这个时候,同样要考虑到rsync同步删除操作,且高效快速,其思路,建一个空目录作为中转,再删除:
rsync --delete-before -avH --progress --stats /tmp/ /yourdir/
-a: 归档模式
-v: 显示全部过程
-H: 保持硬链接文件
-progress 在传输时显示传输过程
这几种方法的使用,几乎可以解决删除操作中碰到的任何问题,但有几点必须注意的问题:
1). 有挂载点的情况下,一定要执行umount操作
2). 不要删除目录的下,执行删除的操作,很愚蠢,不是嘛?
3). 如果执行rm -rf /dir1/dir2/dir3/*.*删除不掉的话,尝试删除其父目录rm -rf /dir1/dir2
文章浏览阅读411次。/* -------------------------------- 导航守卫 -------------------------------- */import router from './index';// 全局前置守卫router.beforeEach((to, from, next) => { if (sessionStorage.getItem("token")) { next() } else { if (to.path !==_vue导航守卫配置
文章浏览阅读1.4k次。创建conda环境conda create -n mink python=3.8source activate mink安装torch1.9.0 + torchvision可到此处下载whl文件(也可以直接pip安装)pip install torch-1.9.0+cu111-cp38-cp38-linux_x86_64.whl然后安装torchvisionpip install torchvision安装完后要看torch对应的cuda版本是否为cuda11.1import tor_torch1.9.0pipcuda=11.1
文章浏览阅读4.8k次,点赞5次,收藏19次。一:区别与概念Filter过滤器:拦截web访问url地址。Interceptor拦截器:拦截以 .action结尾的url,拦截Action的访问。Spring AOP拦截器:只能拦截Spring管理Bean的访问(业务层Service)概念:Spring AOP:Spring AOP,是AOP的一种实现,使用的是代理模式。Filter:Filter(过滤器)是J2EE的规范,Servlet2.3开始引入/实现的是职责链模式。Filter可以用来设置字符集、控制权限、控制转向等等。Filt_过滤器拦截器和aop区别
文章浏览阅读180次。题目链接:传送门(点我)思路:对于没有填数的位置全排列#include<bits/stdc++.h>using namespace std;int a[20][20],b[20][20],vis[20];int t[10],len,cnt;int judge(){ int sum = a[1][1]+a[1][2]+a[1][3]; if(a[2][1]+a[2][2]+a[2][3]!=sum||a[3][1]+a[3][2]+a[3][3]!=sum||_九格幻方题型
文章浏览阅读10w+次,点赞47次,收藏293次。经典算法研究系列:七、遗传算法初探 ---深入浅出、透析GA本质本文参考:维基百科 华南理工大学电子讲义 互联网-------------------------------------------------------------------------------的 一、初探遗传算法Ok,先看维基百科对遗传算法所给的解释:遗传算法是计算数学中用于解决最优化的搜索算法,是进化算法的一种。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择以及_遗传算法适应度函数
文章浏览阅读4k次,点赞6次,收藏37次。Jetson Xavier NX中CPU为OFF状态——开启方法手上有个Jetson Xavier NX,在终端上查看Jetson的状态:sudo pip3 install jetson-statssudo jtop (启动jtop)开启后界面但是在第一次开启的时候,我的CPU3456全是红色的OFF。。。。。。CPU OFF的开启方式:只需要改一下对应CPU序号就可以了sudo suecho 1 > /sys/devices/system/cpu/cpu3/onlinee_cpu memory oc off
文章浏览阅读346次。饿汉模式:将单例类的唯一实例对象定义为静态成员变量,当程序开始运行,实例对象就已经创建完成。优点:加载进行时静态创建单例对象,线程安全。缺点:无论使用与否,总要创建,浪费内存。懒汉模式:用静态成员指针来指向单例类的唯一实例对象,只有真正调用获取实例对象的静态接口时,实例对象才被创建。优点:什么时用什么时候创建,节约内存。缺点:在第一次 调用访问 获取实例对象的静态接口时 才真正创建,..._单例模式的饿汉式只能用指针吗
文章浏览阅读252次。Android-OkHttp源码分析OkHttpGitHubOkHttp官网现在4.0以后基于Kotlin…我们今天来看看3.14.2版,基于java…kotlin目前博主不熟 - -!添加依赖implementation(“com.squareup.okhttp3:okhttp:3.14.2”)我们先来看看基本使用建造者模式:一般在构建对象的过程需要配置很多很多的参数时...
文章浏览阅读466次。1、constexpr 和 constconst 的原本和基础的含义是表示它修饰的内容不会变化,本质上,const 用来表示一个运行时常量。如: const int n = 1; n = 10; //报错 但是我们依然可以通过指针来修改n在内存中的数据 const int n = 1; int* p = (int *)&n; *p = 10; std::cout <<..._c++14const
文章浏览阅读3.6w次,点赞5次,收藏22次。首先教大家如何翻微信小程序的官方文档微信小程序的官方文档中框架是js的交互,组件就是标签,API就是小程序里的方法。小程序的概念性内容整理:除了微信小程序还有很多别的小程序:支付宝小程序,百度小程序,字节跳动小程序。小程序运行环境:就是嵌套到其他应用里的小程序的本质:属于混合开发的一种(hybrid development),意思就是除了可以写UI,还具有调用原生的底层的能力。小..._tara 小程序
文章浏览阅读1.4k次,点赞2次,收藏6次。把导航栏组件放在了app.vue中,让他在每个页面都能显示了,但遇到了一个问题商品详情页导航栏是不合理不需要存在的解决方法:可以采用keep-alive结合$route.meta来实现这个功能。App.vue<template> <div id="app"> <router-view /> <div id="nav" v-if="$route.meta.keepAlive"> <div>
文章浏览阅读4.5k次。翻译给定一个正整数,返回它作为出现在Excel表中的正确列向标题。例如: 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB 原文Given a positive integer, return its corresponding column title as appear in an Exc_isheet 列标题