Linux下递归列出仅所有常规文件或文件夹路径的方法
混蛋的,好不容易才知道,立刻发篇博文说一下……囧
## 只列出常规文件 find ./ -type f ## 只列出文件夹 find ./ -type d
find
的man page介绍太长了,眼花缭乱(用zsh的可无视= =;)!百度和GOOGLE的结果也太烂了,几乎全是ls方法。
既然用到find了,就不得不提它的另一个功能了:
## 对找到的所有文件进行批处理 find . -type f -exec chmod 644 {} \; # 后面的\;必须的,表示按行输出 find . -type d -exec chmod 755 {} \; # {} 表示找到的文件路径
好了,暂时介绍完毕,大家还是继续man find
去吧……
本網站無註明「轉載」的著作均由Jak Wings製作 CC BY-NC-SA 2.5
Creative Commons 保持署名-相同方式分享 2.5
Sep 20, 2012 05:15:12 PM
用 zsh 嘛,输入 find - 然后按 Tab 看看有什么选项,选择 -type 后再按 Tab 看看有那些参数,分别表示什么意思:
>>> find -type
-- file type --
b -- block special file
c -- character special file
d -- directory
f -- normal file
l -- symbolic link
p -- named pipe
s -- socket
Sep 21, 2012 01:16:35 AM
-_-;; 原来zsh这么强大的啊……解释都有……
Sep 21, 2012 09:50:36 AM
是啊,很多时候都不用查手册了 :-)
Jan 09, 2013 11:57:30 AM
如果只是递归列出全部的话
ls -R
就可以了。
find 的强大在于丰富过滤条件,以及找到之后的动作(-exec 参数 以及 管道通向 xargs 等方法)。
Jan 25, 2013 11:58:57 PM
嗯,为了只列出文件或文件夹的路径我在网上搜索了好久……只有find是最方便最完美的。
话说我不玩微博,叫人情何以堪……