Answers:
您可以使用:
ls -Rt
其中-R
表示递归(包括子目录),-t
表示“按最后修改日期排序”。
要查看按修改日期排序的文件列表,请使用:
ls -l -Rt
也可以创建别名来实现此目的:
alias lt='ls -lht'
lt
其中-h
给出了更具可读性的输出。
ls -lrt[RhA]
。在-r
反转排列顺序,在列表的底部留下最近编辑过的东西......
-ila
给您几乎所有您需要的信息。$ ls -ilaRt
ll -Rt
是对我而言的完美解决方案,因为我需要按最新修改的日期查看文件。这可能对其他人有帮助。
ll
是不存在的也不是命令。它在bash shell中主要是别名,但在most / some /?中未定义。linux发行版。有人alias ll='ls -l'
在/etc/bash.bashrc或/etc/.bashrc中将其定义为。因此,它可能不起作用,并且可能在OPs系统上不存在。ls -l -Rt
至少使用ls
posix定义的标准命令。或指定您的意思alias ll='ls -l'; ll -Rt
。
如果您想要一个主列表,其中所有文件按修改日期排序,显示它们所在的目录,但不按目录分组,则可以使用以下方法:
find . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
结果看起来很像ls -l
:
-rw-r--r-- 1个根目录3892 2009年11月11日11:03:36 /usr/share/man/man1/xmllint.1.gz -rw-r--r-- 1个根目录22946 2009年8月13日11:59:20 /usr/share/man/man1/curl.1.gz -rw-r--r-- 1个根目录728 08/17/2009 12:06:33 /usr/share/man/man1/thunderbird.1.gz -rw-r--r-- 1个root 873 2009年8月18日10:52:47 /usr/share/man/man1/libgnutls-config.1.gz -rw-r--r-- 1个root根2552 08/19/2009 02:00:34 /usr/share/man/man3/Purple.3pm.gz -rw-r--r-- 1个根目录9546 2009年8月19日02:02:00 /usr/share/man/man1/pidgin.1.gz -rw-r--r-- 1个root根2201 2009年8月19日02:02:46 /usr/share/man/man3/Pidgin.3pm.gz -rw-r--r-- 1个根目录926 08/19/2009 02:03:05 /usr/share/man/man1/purple-remote.1.gz -rw-r--r-- 1个根目录18052 2009年8月19日04:11:47 /usr/share/man/man1/mono.1.gz -rw-r--r-- 1个根目录1845 08/19/2009 04:11:47 /usr/share/man/man5/mono-config.5.gz
对于使用Mac OS X的用户,选项-printf 在BSD find上不可用(您将得到此错误:)find: -printf: unknown primary or operator
。幸运的是,您可以通过Homebrew安装GNU find (Fink和Macports也应该有一个选项):
brew install findutils
安装后,您可以使用GNU查找gfind
。因此,您需要做的就是将上面的行更改为:
gfind . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
find . -type f -print0 | xargs -0 stat -f "%m %Sp %l %-8Su %-8Sg %8z %Sm %N" | sort | cut -f 2- -d' '
仅使用内置实用程序
sort -r
反转排序,并在顶部显示最近修改的文件。