我建议你使用 Bash 的通配符模式(它会为你处理空格)来获取文件列表,然后使用stat
命令来获取有关特定文件的信息。例如:
$ ls -l
total 1
-rw-r--r-- 1 root root 0 2013-03-25 16:27 a b c.txt
-rw-r--r-- 1 root root 0 2013-03-25 16:27 d e f.txt
$ for file in *.txt; do stat "$file"; done
File: `a b c.txt'
Size: 0 Blocks: 1 IO Block: 131072 regular empty file
Device: 3dd0002h/64815106d Inode: 455629 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2013-03-25 16:27:35.388291856 +0800
Modify: 2013-03-25 16:27:35.388291856 +0800
Change: 2013-03-25 16:27:35.388310939 +0800
File: `d e f.txt'
Size: 0 Blocks: 1 IO Block: 131072 regular empty file
Device: 3dd0002h/64815106d Inode: 455630 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2013-03-25 16:27:35.388401772 +0800
Modify: 2013-03-25 16:27:35.388401772 +0800
Change: 2013-03-25 16:27:35.388412772 +0800
$
请注意,它stat
有一个--format
选项,因此您可以告诉它只为您提供您对文件感兴趣的信息。