ls文件排序的一個問題

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
linuxmm9
帖子: 214
注册时间: 2017-08-19 10:12
系统: linux

ls文件排序的一個問題

#1

帖子 linuxmm9 » 2018-12-03 0:04

我想把訪問過的文件用時間先後順序排序

我的命令是這樣 ls -Rlu /xxx/xxx/xxx/xxx

現在有兩個問題
1.文件並不會按訪問時間排序
2.在文件管理器裡查看過的文件(並沒有打開) 訪問時間也會更新

而我想要的只是確定打開後的文件 比如一首歌 播放器打開開始播放了才算

請大家幫忙 謝謝
头像
astolia
论坛版主
帖子: 6450
注册时间: 2008-09-18 13:11

Re: ls文件排序的一個問題

#2

帖子 astolia » 2018-12-03 10:11

去读一下ls的-u参数的manpage

代码: 全选

       -u     with  -lt:  sort by, and show, access time; with -l: show access
              time and sort by name; otherwise: sort by  access  time,  newest
              first
你只用-l参数,当然还是按文件名排序了

另外现在内核针对atime的默认策略是relatime,你需要在/etc/fstab中给挂载选项增加strictatime,才能保证你每次访问的时候更新atime。详见man mount
linuxmm9
帖子: 214
注册时间: 2017-08-19 10:12
系统: linux

Re: ls文件排序的一個問題

#3

帖子 linuxmm9 » 2018-12-03 17:21

astolia 写了: 2018-12-03 10:11 去读一下ls的-u参数的manpage

代码: 全选

       -u     with  -lt:  sort by, and show, access time; with -l: show access
              time and sort by name; otherwise: sort by  access  time,  newest
              first
你只用-l参数,当然还是按文件名排序了

另外现在内核针对atime的默认策略是relatime,你需要在/etc/fstab中给挂载选项增加strictatime,才能保证你每次访问的时候更新atime。详见man mount
我加了呀 我发现只有修改了文件 排序才有效 比如说文件名 而且更要命的问题是在文件管理器里看过的文件 时间也会更改

其实我的要求就是想知道我最近访问了哪些文件 然后它们按时间顺序排列出来
头像
astolia
论坛版主
帖子: 6450
注册时间: 2008-09-18 13:11

Re: ls文件排序的一個問題

#4

帖子 astolia » 2018-12-03 20:41

文件管理器单纯列出文件是不会更改访问时间的。你那里变了说明做了需要读取文件内容的操作,比如生成缩略图啊,获取mime类型之类的。
单一目录下直接用ls -ltu,多个目录下先用find -type f >/tmp/list生成文件列表,再ls -ltu `cat /tmp/list`对所有文件统一排序
linuxmm9
帖子: 214
注册时间: 2017-08-19 10:12
系统: linux

Re: ls文件排序的一個問題

#5

帖子 linuxmm9 » 2018-12-03 23:28

astolia 写了: 2018-12-03 20:41 文件管理器单纯列出文件是不会更改访问时间的。你那里变了说明做了需要读取文件内容的操作,比如生成缩略图啊,获取mime类型之类的。
单一目录下直接用ls -ltu,多个目录下先用find -type f >/tmp/list生成文件列表,再ls -ltu `cat /tmp/list`对所有文件统一排序
好的 我試試看 謝謝你
linuxmm9
帖子: 214
注册时间: 2017-08-19 10:12
系统: linux

Re: ls文件排序的一個問題

#6

帖子 linuxmm9 » 2018-12-04 13:12

astolia 写了: 2018-12-03 20:41 文件管理器单纯列出文件是不会更改访问时间的。你那里变了说明做了需要读取文件内容的操作,比如生成缩略图啊,获取mime类型之类的。
单一目录下直接用ls -ltu,多个目录下先用find -type f >/tmp/list生成文件列表,再ls -ltu `cat /tmp/list`对所有文件统一排序
那要如何禁用MIME type呢 我用的是thunar
回复