使用 C++ 列出 Linux 上修改过的、旧的文件和新创建的文件


在此,我们将介绍如何使用 C++ 程序列出 Linux 平台上修改过的、旧的文件和新创建的文件。

该任务非常简单。我们可以使用 Linux shell 命令来按所需顺序获取文件。ls –l 命令用于以长列表格式获取所有文件。在此,我们将添加更多选项以根据时间对其进行排序。(升序和降序)。–t 命令用于根据时间进行排序,可以添加 –r 来反转顺序。

命令如下

ls –lt
ls –ltr

我们将使用 C++ 中的 system() 函数使用这些命令从 C++ 代码中获取结果。

示例代码

#include<iostream>
using namespace std;
main(){
   //Show the files stored in current directory descending order of their modification time
   cout << "Files List (First one is newest)" << endl;
   system("ls -lt"); //use linux command to show the file list, sorted on time
   cout << "\n\nFiles List (First one is oldest)" << endl;
   system("ls -ltr"); //use the previous command -r is used for reverse order
}

输出

Files List (First one is newest)
total 32
-rwxr-xr-x 1 soumyadeep soumyadeep 8984 May 11 15:19 a.out
-rw-r--r-- 1 soumyadeep soumyadeep 424 May 11 15:19 linux_mod_list.cpp
-rw-r--r-- 1 soumyadeep soumyadeep 1481 May 4 17:03 test.cpp
-rw-r--r-- 1 soumyadeep soumyadeep 710 May 4 16:51 caught_interrupt.cpp
-rw-r--r-- 1 soumyadeep soumyadeep 557 May 4 16:34 trim.cpp
-rw-r--r-- 1 soumyadeep soumyadeep 1204 May 4 16:24 1325.test.cpp
Files List (First one is oldest)
total 32
-rw-r--r-- 1 soumyadeep soumyadeep 1204 May 4 16:24 1325.test.cpp
-rw-r--r-- 1 soumyadeep soumyadeep 557 May 4 16:34 trim.cpp
-rw-r--r-- 1 soumyadeep soumyadeep 710 May 4 16:51 caught_interrupt.cpp
-rw-r--r-- 1 soumyadeep soumyadeep 1481 May 4 17:03 test.cpp
-rw-r--r-- 1 soumyadeep soumyadeep 424 May 11 15:19 linux_mod_list.cpp
-rwxr-xr-x 1 soumyadeep soumyadeep 8984 May 11 15:19 a.out

更新于: 30-Jul-2019

223 次浏览

开启您的职业生涯

通过完成课程获得认证

开始
广告