Linux 文件和目录列表(ls 命令)
要想知道系统中有哪些文件,可以使用列表命令( ls )。
一、基本列表功能
1. ls 命令基本形式
ls 命令最基本的形式会显示当前目录下的文件和目录
ls 命令输出的列表是按照字母排序的(按列排序而不是按行排序),如果用户用的是支持彩色的终端仿真器,那么 ls 命令可以用不同颜色来区分不同类型的文件
2. ls 命令 -F 参数
如果没有安装彩色终端仿真器,可以使用带 -F 参数的 ls 命令区分文件和目录
3. ls 命令 -a 参数
使用 ls 命令可以显示当前目录下的文件和目录,而在 Linux 中经常采用隐藏文件来保存一些配置信息,这些文件并不会在默认的 ls 命令输出中显示出来,我们也称其为隐藏文件。
注:在 Linux 中,隐藏文件通常是文件名以点号( . )开始的文件
要想把隐藏的文件和普通文件以及目录一起显示出来,使用 -a 参数即可
4. ls 命令 -R 参数
-R 参数是 ls 命令的另一个参数,也叫作递归选项。它可以列出当前目录下包含的子目录中的文件,如果目录很多,这个输出就很长。
注:参数选项并不一定得像上面的例子中那样分开输入:ls -F -R。也可以直接合并输入:ls -FR
二、显示长列表( -l 参数)
在基本的输出列表中,ls 命令并未输出太多每个文件的相关信息。要显示附加信息,另一个常用的参数是 -l。-l 参数会产生长列表格式的输出,包含了目录中每个文件的更多相关信息。
==长列表格式的输出在每一行中列出了单个文件或目录。除了文件名,输出中还有其他有用信息==。输出的第一行显示了在目录中包含的总块数。在此之后,每一行都包含了关于文件(或目录)的下述信息:
- 文件类型,比如目录( a)、文件( -)、字符型文件( c)或块设备( b )
- 文件的权限
- 文件的硬链接总数
- 文件属主的用户名
- 文件属组的组名
- 文件的大小(以字节为单位)
- 文件的上次修改时间
- 文件名或目录名
三、过滤输出列表(通配符)
默认情况下,ls 命令会输出目录下的所有非隐藏文件。有时这个输出会显得过多,就不利于查询
ls 命令还支持在命令行中定义过滤器。它会用过滤器来决定应该在输出中显示哪些文件或目录。
这个过滤器就是一个进行简单文本匹配的字符串。可以在要用的命令行参数之后添加这个过滤器:
当用户指定特定文件的名称作为过滤器时,ls 命令只会显示该文件的信息。
有时你可能不知道要找的那个文件的确切名称。ls命令能够识别标准通配符,并在过滤器中用它们进行模式匹配:
- 问号( ?)代表一个字符
- 星号( * )代表零个或多个字符
问号可用于过滤器字符串中替代任意的单个字符
与之类似,星号则可以代替零个或多个字符
在过滤器中使用星号和问号被称为文件扩展匹配( file globbing ),指的是使用通配符进行模式匹配的过程。
通配符正式的名称叫作元字符通配符(metacharacter wildcards)。除了星号和问号之外,还有更多的元字符通配符可用于文件扩展匹配。可以使用中括号。
在上面的例子中,我们使用了中括号以及在特定位置上可能出现的两种字符: s 或 x。==中括号表示一个字符位置并给出多个可能的选择==
可以像上面的例子那样将待选的字符列出来,也可以指定字符或数字范围,例如字母范围 [ a - z ],数字范围 [ 1 - 9 ]
此外,还可以使用感叹号( !)将不需要的内容排除在外
如果文章对各位小伙伴有帮助的话欢迎三连!!!
另外,文章如有错误之处,也欢迎各位大佬批评指正!!!