如何在不使用“cd”的情况下区分没有扩展名的文件和文件夹?

如何在不使用“cd”的情况下区分没有扩展名的文件和文件夹?

没有扩展名的文件和文件夹有什么区别?我的意思是,当我在终端中创建一个文件时,例如:

touch somefile

然后删除该文件并创建同名目录:

mkdir somefile

它们看起来相同ls。如何在不使用的情况下区分它们cd somefile

另外,我不知道没有扩展名的文件在 Linux 中是如何工作的。我在网上找不到相关文章,所以我希望你能帮助我。

答案1

最简单的方法是使用file命令,该命令通常用于确定文件的类型(请参阅man file)因此,如果你运行:

file somefile

输出为:

somefile: directory

那么somefile显然是一个目录。

如果somefile不是目录,那么您将根据文件的类型获得输出。例如,如果somefile是 PNG 图像,您将获得与以下内容类似的信息:

somefile: PNG image data, 730 x 518, 8-bit/color RGBA, non-interlaced

Linux 上的文件不一定有扩展名。引用自字节指挥官的回答在问题中文件扩展名有任何用途吗(对于操作系统)?

通常Linux 不依赖文件名(以及文件扩展名,即文件名中通常最后一个句点后面的部分),而是通过检查文件内容的前几个字节并将其与已知文件列表进行比较来确定文件类型。神奇数字

答案2

你可以运行

ls -l

目录将具有d以下权限:

drwxr-xr-x

在 Ubuntu 中目录也是蓝色的。

答案3

让我们通过创建一个文件(test)和一个目录(testfile)来测试一下:

me:~$ touch test
me:~$ mkdir testfile

如果您使用彩色终端,您可以使用普通的旧版本来查看差异ls。目录的颜色不同:

me:~$ ls
test  testfile   # Oops, we said color!

在此处输入图片描述

如果您使用单色终端,使用-l标志。您可以在输出的第一列中看到差异:

me:~$ ls -l
total 4
-rw-rw-r-- 1 me me    0 Aug 14 11:49 test
drwxrwxr-x 2 me me 4096 Aug 14 11:49 testfile

答案4

使用 -F 标志:

ls -F

这将显示目录的斜线:

mydirectory/
myfile

相关内容