• 售前

  • 售后

热门帖子
入门百科

Linux命令行快速技巧之定位一个文件的方法

[复制链接]
待该州伙 显示全部楼层 发表于 2021-10-25 20:31:22 |阅读模式 打印 上一主题 下一主题
我们都会有文件存储在电脑里 —— 目次、相片、源代码等等。它们是云云之多。也无疑超出了我的记忆范围。要是毫无目标,找到精确的那一个大概会很费时间。在这篇文章里我们来看一下怎样在下令行里找到必要的文件,特别是快速找到你想要的那一个。
好消息是 Linux 下令行专门操持了很多非常有效的下令行工具在你的电脑上查找文件。下面我们看一下它们此中三个:ls、tree 和 find。
ls

如果你知道文件在哪里,你只必要列出它们大概检察有关它们的信息,ls 就是为此而生的。
只需运行 ls 就可以列出当下目次中所有可见的文件和目次:
  1. $ ls
  2. Documents Music Pictures Videos notes.txt
复制代码
添加 -l 选项可以检察文件的相干信息。同时再加上 -h 选项,就可以用一种人们易读的格式检察文件的大小:
  1. $ ls -lh
  2. total 60K
  3. drwxr-xr-x 2 adam adam 4.0K Nov 2 13:07 Documents
  4. drwxr-xr-x 2 adam adam 4.0K Nov 2 13:07 Music
  5. drwxr-xr-x 2 adam adam 4.0K Nov 2 13:13 Pictures
  6. drwxr-xr-x 2 adam adam 4.0K Nov 2 13:07 Videos
  7. -rw-r--r-- 1 adam adam 43K Nov 2 13:12 notes.txt
复制代码
ls 也可以搜索一个指定位置:
  1. $ ls Pictures/
  2. trees.png wallpaper.png
复制代码
大概一个指定文件 —— 即便只跟着名字的一部分:
  1. $ ls *.txt
  2. notes.txt
复制代码
少了点什么?想要检察一个隐藏文件?没问题,利用 -a 选项:
  1. $ ls -a
  2. . .bash_logout .bashrc Documents Pictures notes.txt
  3. .. .bash_profile .vimrc Music Videos
复制代码
ls 另有很多其他有效的选项,你可以把它们组合在一起获得你想要的结果。可以利用以下下令相识更多:
  1. $ man ls
复制代码
tree
如果你想检察你的文件的树状结构,tree 是一个不错的选择。大概你的系统上没有默认安装它,你可以利用包管理 DNF 手动安装:
  1. $ sudo dnf install tree
复制代码
如果不带任何选项大概参数地运行 tree,将会以当前目次开始,表现出包罗其下所有目次和文件的一个树状图。提示一下,这个输出大概会非常大,因为它包罗了这个目次下的所有目次和文件:
  1. $ tree
  2. .
  3. |-- Documents
  4. | |-- notes.txt
  5. | |-- secret
  6. | | `-- christmas-presents.txt
  7. | `-- work
  8. | |-- project-abc
  9. | | |-- README.md
  10. | | |-- do-things.sh
  11. | | `-- project-notes.txt
  12. | `-- status-reports.txt
  13. |-- Music
  14. |-- Pictures
  15. | |-- trees.png
  16. | `-- wallpaper.png
  17. |-- Videos
  18. `-- notes.txt
复制代码
如果列出的太多了,利用 -L 选项,并在厥后加上你想检察的层级数,可以限定列出文件的层级:
  1. $ tree -L 2
  2. .
  3. |-- Documents
  4. | |-- notes.txt
  5. | |-- secret
  6. | `-- work
  7. |-- Music
  8. |-- Pictures
  9. | |-- trees.png
  10. | `-- wallpaper.png
  11. |-- Videos
  12. `-- notes.txt
复制代码
你也可以表现一个指定目次的树状图:
  1. $ tree Documents/work/
  2. Documents/work/
  3. |-- project-abc
  4. | |-- README.md
  5. | |-- do-things.sh
  6. | `-- project-notes.txt
  7. `-- status-reports.txt
复制代码
如果利用 tree 列出的是一个很大的树状图,你可以把它跟 less 组合利用:
  1. $ tree | less
复制代码

再一次,tree 有很多其他的选项可以利用,你可以把他们组合在一起发挥更强盛的作用。man 手册页有所有这些选项:
  1. $ man tree
复制代码

find

那么如果不知道文件在哪里呢?就让我们来找到它们吧!
要是你的系统中没有 find,你可以利用 DNF 安装它:
  1. $ sudo dnf install findutils
复制代码
运行 find 时如果没有添加任何选项大概参数,它将会递归列出当前目次下的所有文件和目次。
  1. $ find
  2. .
  3. ./Documents
  4. ./Documents/secret
  5. ./Documents/secret/christmas-presents.txt
  6. ./Documents/notes.txt
  7. ./Documents/work
  8. ./Documents/work/status-reports.txt
  9. ./Documents/work/project-abc
  10. ./Documents/work/project-abc/README.md
  11. ./Documents/work/project-abc/do-things.sh
  12. ./Documents/work/project-abc/project-notes.txt
  13. ./.bash_logout
  14. ./.bashrc
  15. ./Videos
  16. ./.bash_profile
  17. ./.vimrc
  18. ./Pictures
  19. ./Pictures/trees.png
  20. ./Pictures/wallpaper.png
  21. ./notes.txt
  22. ./Music
复制代码
但是 find 真正强盛的是你可以利用文件名举行搜索:
  1. $ find -name do-things.sh
  2. ./Documents/work/project-abc/do-things.sh
复制代码
大概仅仅是名字的一部分 —— 像是文件后缀。我们来找一下所有的 .txt 文件:
  1. $ find -name "*.txt"
  2. ./Documents/secret/christmas-presents.txt
  3. ./Documents/notes.txt
  4. ./Documents/work/status-reports.txt
  5. ./Documents/work/project-abc/project-notes.txt
  6. ./notes.txt
复制代码
你也可以根据大小探求文件。如果你的空间不足的时间,这种方法大概特别有效。现在来列出所有大于 1 MB 的文件:
  1. $ find -size +1M
  2. ./Pictures/trees.png
  3. ./Pictures/wallpaper.png
复制代码
固然也可以搜索一个详细的目次。假如我想在我的 Documents 文件夹下找一个文件,而且我知道它的名字里有 “project” 这个词:
  1. $ find Documents -name "*project*"
  2. Documents/work/project-abc
  3. Documents/work/project-abc/project-notes.txt
复制代码
除了文件它还表现目次。你可以限定仅搜索查询文件:
  1. $ find Documents -name "*project*" -type f
  2. Documents/work/project-abc/project-notes.txt
复制代码
末了再一次,find 另有很多供你利用的选项,要是你想利用它们,man 手册页绝对可以帮到你:
  1. $ man find
  2. via: https://fedoramagazine.org/commandline-quick-tips-locate-file/
复制代码
总结
以上所述是小编给大家先容的Linux下令行快速本领之定位一个文件的方法,渴望对大家有所资助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作