在Linux中,怎样只显示隐藏文件?
source link: https://www.51cto.com/article/721944.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
在Linux中,怎样只显示隐藏文件?
在Linux中显示隐藏文件很简单,这样使用 ls 命令即可:
ls -a
这样你就能看到被隐藏的文件,其文件名称是以一个点 . 开头的。
但是这样的话,你会看到所有文件,包括隐藏的,和正常的(非隐藏)文件,都会被显示出来。
怎样才能只显示隐藏的文件,而不显示正常的文件呢?
目前没有现成的命令可用。不过可以通过另外一种方式,比如使用管道重定向组合ls命令。
只显示隐藏的文件和目录
要只显示隐藏的文件和目录,最简单的方法是使用 ls -a 显示隐藏的文件,然后使用 grep 过滤以 . 开头的文件。
ls -a | grep "^\."
^表示以 . 开头。字符 . 需要使用反斜杠 \ 转义,因为它属于特殊字符。所有的内容都需要用引号包括进来。上述命令告诉 grep 只显示以点开头的结果。
我们来看个例子,如下是一个目录下的正常文件:
[gliu@fedora work]$ ls -l
total 0
-rw-rw-r--. 1 gliu gliu 0 Jun 30 20:28 file1.txt
-rw-rw-r--. 1 gliu gliu 0 Jun 30 20:28 file2.txt
-rw-rw-r--. 1 gliu gliu 0 Jun 30 20:28 file3.txt
-rw-rw-r--. 1 gliu gliu 0 Jun 30 20:28 file4.txt
-rw-rw-r--. 1 gliu gliu 0 Jun 30 20:28 file5.txt
drwxrwxr-x. 1 gliu gliu 0 Jun 30 20:32 files
然后我对结果进行过滤,只显示隐藏的文件和目录:
[gliu@fedora work]$ ls -a | grep "^\."
.
..
.bash.pdf
.hiddenFiles
.hiddenfile.txt
.tmp.txt
结果中包含了一个点 . ,表示当前目录,还有两个点的 .. 表示父目录。你可以使用 -A 选项来代替 -a ,这样就可以过滤掉这两个目录。我们再试一次:
[gliu@fedora work]$ ls -A | grep "^\."
.bash.pdf
.hiddenFiles
.hiddenfile.txt
.tmp.txt
这样看起来,好多了,是吧?
这样还有一个小问题,虽然你能看到隐藏的文件,但是你无法区分它们到底是文件,还是目录。
我们还有另外一个方法。
以长列表的方式显示隐藏的文件和目录(这样可以区分它们是文件还是目录),可以使用如下方法:
ls -ld .*
结果如下:
[gliu@fedora work]$ ls -ld .*
drwxrwxr-x. 1 gliu gliu 188 Jun 30 20:32 .
drwxrwxr-x. 1 gliu gliu 32 May 7 14:27 ..
-rw-rw-r--. 1 gliu gliu 0 Jun 30 20:28 .bash.pdf
drwxrwxr-x. 1 gliu gliu 0 Jun 30 20:32 .hiddenFiles
-rw-rw-r--. 1 gliu gliu 0 Jun 30 20:29 .hiddenfile.txt
-rw-rw-r--. 1 gliu gliu 0 Jun 30 20:28 .tmp.txt
这是什么原理?首先 .* 是一个 shell 通配符,表示所有以 . 开头的文件,基本上你可以这样理解:将上述命令看成是如下语句:
ls -ld . .. .bash.pdf .hiddenFiles .hiddenfile.txt .tmp.txt
选项 d 是很重要的,它告诉 ls 命令如果有目录的话只列出目录名称,而不要它的子目录。否则的话,输出结果会包含其子目录中的内容。
如果你不想要列出 . 和 .. 这两个目录,可以使用如下命令:
ls -ld .!(|.)
注意到 .!(|.) 了吧,这是一个正则表达式。叹号 ! 表示“非”,竖线 | 表示“或者”。(|.) 表示无或点 .。当你在前面加上一个叹号 ! 则表示不要“无”或 . 。它们结合在一起, .!(|.) 就是一个正则表达式,表示 . 后面跟某个东西(因此可排除单点 .),但也排除后跟一个点 .(因此排除双点 ..)。
[gliu@fedora work]$ ls -ld .!(|.)
-rw-rw-r--. 1 gliu gliu 0 Jun 30 20:28 .bash.pdf
drwxrwxr-x. 1 gliu gliu 0 Jun 30 20:32 .hiddenFiles
-rw-rw-r--. 1 gliu gliu 0 Jun 30 20:29 .hiddenfile.txt
-rw-rw-r--. 1 gliu gliu 0 Jun 30 20:28 .tmp.txt
只显示隐藏的文件(而不要隐藏的目录)
只显示隐藏文件而不显示隐藏目录非常容易,使用如下命令:
ls -ld .* |grep -v ^d
显示隐藏的文件和目录,然后过滤掉以 d 开头的条目(即目录)。
[gliu@fedora work]$ ls -ld .* |grep -v ^d
-rw-rw-r--. 1 gliu gliu 0 Jun 30 20:28 .bash.pdf
-rw-rw-r--. 1 gliu gliu 0 Jun 30 20:29 .hiddenfile.txt
-rw-rw-r--. 1 gliu gliu 0 Jun 30 20:28 .tmp.txt
当然,还有其他的方法,比如使用 find 命令。如果你有别的方法,欢迎讨论。
Recommend
-
177
一、前言 如果有需要用到输入的地方,通常会有需要自动弹出或者收起软键盘的需求。开篇明义,本文会讲讲弹出和收起软键盘的一些细节,最终还会从源码进行分析。 想要操作软键盘,需要使用到 InputMethodManager ,它是一个系统服务,可以使用 Contex
-
46
一、有关状态栏的隐藏 1.1、方式一:提示:控制器之间的状态栏不会相互影响 (下面是 iOS9 之后的设置,不支持 iOS 9以前设备) <1>、在info.plist里面添加下面代码为YES View controller-based status...
-
42
-
8
by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=4077
-
7
本文将介绍替换一条代码,实现Typecho隐藏不显示特定分类.本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.找到希望隐藏的分类mid
-
7
在 COMSOL Multiphysics® 中显示和隐藏几何实体 本网站使用 cookie 来改善您的体验。继续使用我们的网站,即表示您同意我们使用 cookie。 ...
-
5
Linux基础知识之文件隐藏属性 | 张戈博客Jager · 1月14日 · 2014年linux基础知识 · linux隐藏...
-
3
在 Linux 中隐藏文件和文件夹的那些事-51CTO.COM 在 Linux 中隐藏文件和文件夹的那些事 作者:Abhishek Prakash 2022-07-08 15:09:26 这篇面向初学者的文章探讨了在 Linux 中如何在...
-
2
linux Linux显示隐藏文件 在windows中可以查看隐藏的文件。在Linux中也可以显示隐藏文件且非常容易。您可以使用ls -a命令
-
3
文件扩展名(或文件类型)能帮助您了解文件的用途和适用的关联应用程序。它是跟随在文件名...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK