Linux程序设计(Linux shell编程的例子:获取文件列表)


各位看官们,咱们今天还是接着上一回的内容,列举具体的例子给大家。闲话休说,言归正转。


看官们在实际的工作中可能遇到过这样的问题:想获取某个目录下的所有文件列表。这时怎么办呢?总不

能一个一个地找出来吧,这是蛮力法,目录下的文件少还行,文件多的话,实在是让人抓狂呀。咱们今天

就介绍一种获取文件列表的方法。


各位看官们,打开终端,在终端中输入:find /home/test/然后按下回车键执行该命令。这时会在终端

中显示命令执行结果,也就是输出/home/test/目录下的所有文件。我在/home/test/中存放着3个文件

它们分别是a.c b.sh c.txt。所以得到的结果如下:

/home/test/a.c

/home/test/b.sh

/home/test/c.txt


看官们,有时候文件多了,在终端的中显示不完整,这时我们可以把命令的结果通过重定向符定向到文件

中。这样你可以打开文件查看命令结果,也就是目录下的文件列表。命令如下:

find /home/test/ >file_list.txt

这里没有给file_list.txt指定目录,它默认在当前目录中,也就是/home/test/目录中。


看官们可以执行一下这个命令,然后打开file_list.txt文件,看看得到的结果和刚才的结果是否一致。完

全一致!下面已经有人说话了,这们看官真是手快呀。


“如果我只想要.sh文件的列表,怎么办呢?”又有看官说话了。只要是看官提出的需求,咱们都满足。


这个问题,咱们使用find命令的-name选项就可以实现。命令如下:

find /home/test/ -name "*.sh"

在终端中执行该命令,可以输出结果:/home/test/b.sh。


咱们在这里做一些补充说明,有时候需要获得多种文件类型的文件列表时,可以把多个文件类型通过o连接

在一起,例如:find /home/test/ -name "*.sh" -o -name "*.c".在终端中执行该命令可以得到以下的结果:

/home/test/a.c

/home/test/b.sh


当然,我们的实验中只有3个文件,如果看官们的目录中文件比较多的话,可以把命令的结果通过重定向符

定向到文件中。命令如下:

find /home/test/ -name "*.sh" -o -name "*.c" >file_list.txt

看官们可以执行一下这个命令,然后打开file_list.txt文件,看看得到的结果和刚才的是否一致。


各位看官们,今天的例子就到此为止,欲知后面还有什么好的例子,且听下回分解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值