小叫花子t

springtwr 从心所欲 畅所欲为
关注
70529 号成员,2021-09-19 00:54:19 加入
185
个人主页 浏览
16h1m
在线时长
  • Linux 删除当前文件夹内子文件夹下所有的文件

    2021-09-19 21:08

    这条命令在目录下有隐藏文件的时候会将隐藏文件漏掉,rm 部分的命令可以改成 rm -rf $i/{*,.*} 用以删除目录下的所有文件(包括隐藏文件)。

  • 【Linux 问题】如何统计当前文件夹的实际数目?

    2021-09-19 20:31

    多出的三个分别是总用量(total)父目录(..)当前目录(.)

    你用的第一条命令就是三个全多出来了,第二条命令多了父目录(..)当前目录(.),因为 ^d总用量(total) 过滤掉了,第三条则是多了一个当前目录(.),因为 find . 在不加其它过滤参数的情况下会将当前目录(.) 纳入结果中。

    如果只统计当前目录下的所有目录的数量(不包含子目录),可以使用

    ll -A|grep "^d"|wc -l
    

    llls -l 的别名,部分 Linux 发行版会默认添加该别名,没有的需自行使用 alias 添加或直接用 ls -l 代替。-A 参数与 -a 参数相比会在显示结果中将父目录(..)当前目录(.) 过滤掉。

    如果要统计目录下所有文件夹和文件的数量(不包含子目录),可以用

    ll -A|grep "^[-a-s]"|wc -l
    

    Linux 文件系统中的文件类型字母表示一般都在 a~s 之间外加普通文件(-),这条命令基本能满足需求,但在一些 Unix 系统里面这条命令的统计结果可能会出错,比如在 Solaris 系统里面就有用大写字母表示的文件类型,会导致统计数量比实际数量要少。