dirent *fp = nullptr;
while((fp = readdir(dirhand)) != nullptr){
if(fp->d_name[0] != '.'){//十分重要的一行(?)
string filename = dirname + "/" + string(fp->d_name);
struct stat filemod;
stat(filename.c_str(), &filemod);
if(S_ISDIR(filemod.st_mode)){
get_files(filename, filelist);
else if(S_ISREG(filemod.st_mode)){
filelist.push_back(filename);
closedir(dirhand);
return;
bool delete_file(string filepath)
return remove(filepath.c_str());
bool date_from_now(long now, long modify)
int dis = int((1.0 * (now - modify) / day + 0.5));
return dis >= 9;//删除最近更新时间距今超过14天的文件
int main()
time_t now;
time(&now);//获取当前系统时间
string dir = "/file/cpp";//需要处理的文件夹
vector
filelist;
get_files(dir, filelist);//获取文件夹中的所有文件
for(auto i : filelist){
if(date_from_now(now, get_file_modify_time(i))){
cout << i << endl;
if(!delete_file(i)){
cout << "The file named : " << i << " has been deleted." << endl;
else{
cout << "Delete Failed!" << endl;
return 0;
【Linux】Linux环境下用C++删除指定文件#include <cstdio>#include <string>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <iostream>#include <vector>#include <dirent.h>#include <time.h>
【
Linux
】
Linux
中rz和sz命令用法详解
1. 简单介绍
rz,sz是
Linux
/Unix同Windows进行ZModem
文件
传输的命令行工具。优点就是不用再开一个sftp工具登录上去上传下载
文件
。
sz:将选定的
文件
发送(send)到本地机器
rz:运行该命令会弹出一个
文件
选择窗口,从本地选择
文件
上传到
Linux
服务器
2. 软件安装(centOS 7)
安装命令:
yum install lrzsz
3. 软件使用(centOS 7)
从服务端发送
文件
到客户端:
sz filena
2.uptime
[root@localhost ~]# uptime
16:51:24 up 13:02, 1 user, load average: 0.00, 0.01, 0.05
这个命令第一个数据 就是
系统
当前时间,第二个是
系统
的运行时间,第三个是
系统
的登录用
os的system原理
system函数可以将字符串转化成命令在服务器上运行;其原理是每一条system函数执行时,其会创建一个子进程在
系统
上执行命令行,子进程的执行结果无法影响主进程;
上述原理会导致当需要执行多条命令行的时候可能得不到预期的结果
os.system用来执行cmd指令,在cmd输出的内容会直接在控制台输出,返回结果为0表示执行成功
其中,`/path/to/folder` 表示要
删除
的
文件
夹路径,`*` 表示
删除
该
文件
夹下的所有
文件
。`-r` 参数表示递归
删除
,`-f` 参数表示强制
删除
,不提示确认。
需要注意的是,该命令会直接
删除
指定
文件
夹下的所有
文件
,无法恢复,请谨慎使用。建议在使用前先备份重要
文件
。