当前位置: 技术问答>linux和unix
Linux下怎样删除目录下最近访问的7个文件以外的所有文件
来源: 互联网 发布时间:2017-04-06
本文导语: 项目中有个在Linux环境的指定目录下删除最近访问的7个文件以外的所有文件的需求。 这个该如何实现,望各位大侠不吝赐教。 | ls -lut | awk '{if (NR>7) {print $NF}}' | xargs -n1 rm -f | #...
项目中有个在Linux环境的指定目录下删除最近访问的7个文件以外的所有文件的需求。
这个该如何实现,望各位大侠不吝赐教。
这个该如何实现,望各位大侠不吝赐教。
|
ls -lut | awk '{if (NR>7) {print $NF}}' | xargs -n1 rm -f
|
#include
#include
#include
int main() {
struct stat buf;
stat("/etc/hosts", &buf);
/*
struct stat {
dev_t st_dev; //文件的设备编号
ino_t st_ino; //节点
mode_t st_mode; //文件的类型和存取的权限
nlink_t st_nlink; //连到该文件的硬连接数目,刚建立的文件值为1
uid_t st_uid; //用户ID
gid_t st_gid; //组ID
dev_t st_rdev; //(设备类型)若此文件为设备文件,则为其设备编号
off_t st_size; //文件字节数(文件大小)
unsigned long st_blksize; //块大小(文件系统的I/O 缓冲区大小)
unsigned long st_blocks; //块数
time_t st_atime; //最后一次访问时间
time_t st_mtime; //最后一次修改时间
time_t st_ctime; //最后一次改变时间(指属性)
}
*/
}
根据最后一次访问时间来判断是否删除