Linux下获取文件名

发布时间 2023-12-15 11:51:13作者: 半路出家_24

linux 下一切皆文件

1、获取指定路径下文件或目录

ls -la /usr/local/ |grep xxx | head -n 1 |awk '{print$9}'

xxx : 替换为要匹配的文件名或目录
命令解释:
  • ls -la /usr/local/: 列出 /usr/local/ 目录下的所有文件和子目录,包括隐藏文件(以.开头的文件)。
  • grep xxx: 从前面命令的输出中筛选出包含 xxx 的行。
  • head -n 1: 只显示前面命令的输出中的前一行。如果有多行匹配,只保留第一行。
  • awk '{print$9}': 使用 awk 对前面命令的输出进行处理,打印每行的第九个字段(按照空格分隔)。在 ls -la 输出中,第九个字段是文件或目录名。

运行这个命令后,你将得到一个字符串,表示与 xxx 匹配的第一个文件或目录的名称。如果没有任何匹配项,该命令将不会输出任何内容。



2、获取指定路径下最新修改的文件或目录

ls -lt /usr/local |grep xxx | head -n 1 |awk '{print$9}' 

xxx : 替换为要匹配的文件名或目录
命令解释:
  • ls -lt /usr/local: 列出 /usr/local/ 目录下的所有文件和子目录,按照最近修改的时间(从新到旧)排序。
  • grep xxx: 从前面命令的输出中筛选出包含 xxx 的行。
  • head -n 1: 只显示前面命令的输出中的前一行。如果有多行匹配,只保留第一行。
  • awk '{print$9}': 使用 awk 对前面命令的输出进行处理,打印每行的第九个字段(按照空格分隔)。在 ls -la 输出中,第九个字段是文件或目录名。
运行这个命令后,你将得到一个字符串,表示与 xxx 匹配的、按修改时间排序后的第一个文件或目录的名称。如果没有任何匹配项,该命令将不会输出任何内容。