Linux使用简单的命令显示隐藏的文件和文件夹
在本文中,我们将介绍以下主题
创建隐藏的文件和文件夹/目录
Linux显示隐藏的文件和文件夹/目录
Linux查找隐藏的文件和文件夹/目录
检查隐藏文件和文件夹/目录的大小
本文中用于查看隐藏文件和文件夹的命令可在任何Linux平台(例如Ubuntu,Debian,Linux Mint,RHEL,CentOS,SuSE等)或者任何Unix节点(例如HP-UX,Solaris等)上使用。
创建隐藏文件
要"创建隐藏文件",我们只需要确保文件名以点字符("。
")开头即可。
在Linux中,任何以点号(。
)开头的文件名都被视为隐藏文件。
例如,其中我使用touch命令创建一个普通文件
# touch hidden_file
如我们所见,要列出文件,因为文件名不是以点号(.)开头,所以它不是隐藏的
# ls -l total 0 -rw-r--r--. 1 root root 0 Jan 21 18:51 hidden_file
接下来,我们重命名该文件,并使其以(.)开头的.hidden_file。
# mv hidden_file .hidden_file
接下来,如果我们尝试列出可用文件,我们将不再看到hidden_file。
# ls -l total 0
重要的提示:
在某些Linux或者Unix环境中,ls
命令可能具有ls -a的别名,因此在这种情况下,即使我们执行ls
或者ls -l
,这也会显示隐藏文件。
例如,这里不带-a的ls
命令将显示隐藏文件。
在这种情况下,从终端执行alias
命令
# ls -l total 68 drwxr-xr-x. 3 root root 4096 Jan 21 19:05 . dr-xr-x---. 6 root root 4096 Jan 21 18:51 .. drwxr-xr-x. 2 root root 4096 Jan 21 19:51 .hidden_directory -rw-r--r--. 1 root root 54894 Jan 21 19:28 .hidden_file -rw-r--r--. 1 root root 0 Jan 21 19:05 normal_directory -rw-r--r--. 1 root root 0 Jan 21 19:05 normal_file
检查此节点上的别名
# alias ls alias ls='ls -a'
如我们所见,ls命令有一个别名,因此默认情况下将其配置为隐藏文件和文件夹。
要删除此内容,请临时执行unlias ls
# unalias ls
接下来使用ls
显示隐藏的文件和文件夹,现在可以正常工作,因为我们看不到隐藏的文件夹或者文件。
# ls -l total 0 -rw-r--r--. 1 root root 0 Jan 21 19:05 normal_directory -rw-r--r--. 1 root root 0 Jan 21 19:05 normal_file
这仅是针对当前会话的临时修复程序,我们需要检查为" alias"配置此设置的位置,它可能是"/etc/profile"或者"/etc/bashrc",具体取决于分布。
类似地,要创建隐藏文件,我们只需在文件名前面加上(。
),例如,使用文件名my_file创建隐藏文件:
# touch .my_file
创建隐藏的文件夹或者目录
在Linux或者Unix中"创建隐藏的文件夹或者目录"的步骤类似于创建隐藏的文件。
我们只需要确保文件夹名称以点(.
)字符开头即可。
[root@server3 test]# mkdir .hidden_directory
现在,按预期方式列出当前目录中的可用文件,因为该文件夹是隐藏的,所以我们看不到任何目录/文件夹。
这样我们就可以其中创建隐藏文件夹。
[root@server3 test]# ls -l total 0
Linux使用'ls'命令显示隐藏的文件和文件夹
在这个例子中,我们将在Linux中使用
ls
命令来显示隐藏的文件和文件夹。我们可以将
ls
命令与-a一起使用,以显示所有文件,包括隐藏文件和文件夹。使用
-a
时,我们不会忽略以.
开头的条目,这也意味着Linux会显示隐藏的文件和文件夹。例如,要显示我们在上述步骤中创建的隐藏文件和文件夹,请导航到目录并执行
ls -a
我们还使用了-l来提供长列表,因此我们使用了ls -al以长列表格式显示测试目录下的所有文件。
[root@server3 test]# ls -al total 12 drwxr-xr-x. 3 root root 4096 Jan 21 19:05 . dr-xr-x---. 6 root root 4096 Jan 21 18:51 .. drwxr-xr-x. 2 root root 4096 Jan 21 19:02 .hidden_directory -rw-r--r--. 1 root root 0 Jan 21 18:51 .hidden_file
如我们所见,我们能够使用ls -a显示隐藏的文件夹和文件,这是我们在本文前面创建的。
另请阅读:
什么是 。
和..在Linux或者Unix的每个目录下都可以看到ls -a命令吗?
[root@server3 test]# ls -al total 8 drwxr-xr-x. 2 root root 4096 Jan 21 18:53 . dr-xr-x---. 6 root root 4096 Jan 21 18:51 .. -rw-r--r--. 1 root root 0 Jan 21 18:51 .hidden_file
Linux使用" find"命令显示隐藏的文件和文件夹
现在,使用" ls"命令,我们可以在一个目录中显示隐藏文件,或者在Linux和Unix中可以显示多个目录。
但是使用ls
可以显示所有分区中的隐藏文件夹和文件。
其中我们可以在Linux或者Unix中使用" find"命令来"查找隐藏文件"。
现在,从"创建隐藏文件"和"创建隐藏目录"一章中,我们知道隐藏文件以点(.)开头字符。
因此,我们可以将此命令与find命令一起使用,以查找隐藏文件。
例如,要查找隐藏文件,请在/etc /目录下使用-type f
,我们可以使用以下命令
# find /etc/-type f -name '.*' /etc/selinux/targeted/.policy.sha512 /etc/skel/.kshrc /etc/skel/.bash_profile /etc/skel/.bashrc /etc/skel/.bash_logout /etc/.pwd.lock /etc/.updated
其中我们仅使用-type f和以点(.
)开头的任何文件名搜索文件。
在Linux show隐藏文件和文件夹中,我们可以对/usr
下的find hidden folder
使用-type d
相同的命令。
# find /usr/-type d -name '.*' /usr/java/jre1.8.0_172-amd64/.java /usr/java/jre1.8.0_172-amd64/.java/.systemPrefs /usr/local/avamar/etc/.tmp
其中如果不使用其他命令,就不能使用ls -a显示所有这些目录中的隐藏文件,因此find是在Linux或者Unix中查找隐藏文件夹和文件的更好选择。
检查隐藏文件和文件夹的大小
现在,一旦找到隐藏文件或者文件夹,我们可能还希望检查隐藏文件或者文件夹的大小。
例如,我们将在我们的~/test目录下找到隐藏文件。
[root@server3 test]# find . -type f -name '.*' ./.hidden_file ./.hidden_directory/.hidden_file_2
因此,我们有两个隐藏文件,我们可以将ls与-Sh一起使用以检查隐藏文件的大小,但这又有其自身的挑战。
这里
-S表示按文件大小排序
-h表示人类可读格式的打印尺寸(例如1K 234M 2G)
我们使用ls -lSha
来显示和检查隐藏文件的大小,但是如我们所见,ls只能识别当前文件夹中的" .hidden_file",却错过了.hidden_directory中可用的" .hidden_file_2"。
[root@server3 test]# ls -lSha total 68K -rw-r--r--. 1 root root 54K Jan 21 19:28 .hidden_file drwxr-xr-x. 3 root root 4.0K Jan 21 19:05 . dr-xr-x---. 6 root root 4.0K Jan 21 18:51 .. drwxr-xr-x. 2 root root 4.0K Jan 21 19:51 .hidden_directory -rw-r--r--. 1 root root 0 Jan 21 19:05 normal_directory -rw-r--r--. 1 root root 0 Jan 21 19:05 normal_file
提示:
或者,我们可以使用ls -lSha .*
,它还将检查子目录中的隐藏文件并打印其大小,但是同样,此工具不是很方便。
在Linux或者Unix中,我们将使用du命令来检查隐藏文件的大小。
du命令用于估计文件空间使用情况。
我们必须将du和find命令结合使用,首先要找到隐藏的文件和文件夹,然后使用du命令检查隐藏文件的大小。
例如,检查"/test"文件夹下隐藏文件的大小
[root@server3 test]# find ~/test/-type f -name '.*' -exec du -ah {} + 56K /root/test/.hidden_file 984M /root/test/.hidden_directory/.hidden_file_2
类似于检查/tmp
文件夹下隐藏文件的大小
# find /tmp/-type f -name '.*' -exec du -ah {} + 4.0K /tmp/smem/smem-1.4/.hg_archival.txt 4.0K /tmp/smem/smem-1.4/.hgtags 4.0K /tmp/test1/usr/lib/x86_64-linux-gnu/firmware-cna-emulex-2016.02.01-1.24/.cpq_package.inc 1.6M /tmp/test1/usr/lib/x86_64-linux-gnu/firmware-cna-emulex-2016.02.01-1.24/.setup