通过导航,了解了如何在文件系统中进行跳转,接下来要学习一些对研究Linux系统很有帮助的命令。
- ls:列出目录内容。
- file:确定文件类型。
- less:查看文件内容。
一、ls 命令的乐趣
ls 命令很可能是用户最常使用的命令。
通过 ls 命令可以查看目录内容,确定各种重要文件和目录的属性。
1.ls 命令
(1)查看当前目录
ls命令查看当前工作目录.png直接输入 ls 命令查看当前工作目录中包含的一系列文件和子目录。
(2)ls指定显示目录
ls 命令后添加路径名(可以是绝对路径名、相对路径名)。
例
ls指定显示目录.png显示 /usr 的目录内容 和 /usr/bin 的目录内容。(这里我用的是绝对路径名)
ls指定显示目录1.png显示 /usr/bin 的目录内容。(这里我用的是相对路径名)
(3)指定多个目录
指定多个目录时,每个目录用空格分开。
例:
ls命令指定多个目录.png列出用户主目录(由符号“ ~ ”表示)和 /usr 目录的内容。
ls命令指定多个目录1.png列出 /usr 和 /usr/bin 目录的内容。
(4)改变输出格式
ls命令-l选项.png可通过改变输出格式来得到更多细节。
在命令中加上 -l ,我们可以将输出以长格式显示。
2.选项和参数
通常,命令后面跟有 一个或多个选项,带有不同选项的命令其功能也不一样。
此外,命令后面跟有 一个或多个参数,这些参数是命令作用的对象。
所以大部分命令看起来如下:
command -options arguments
(1)短选项
大部分命令使用的选项是在单个字符前加上连字符,如 -l。
(2)长选项
但是,很多命令(包括GNU项目里的命令)也支持在单字前面加上两个连字符的长选项,如 --reverse。
(3)多个短选项
而且,很多命令也允许多个短选项串在一起使用,如 -lt。
例1
多个短选项.pngls 命令包含了两个选项: l选项:使用长格式输出 t选项:以文件修改日期的先后将结果进行排序。
例2
多个短选项1.png再加上长选项 --reverse,则结果会以相反的顺序输出。
(4)最常用的选项
ls 命令有大量可用的选项。最常用的选项如下表:
选项 | 长选项 | 含义 |
---|---|---|
-a | -all | 列出所有文件,包括以点号开头的文件,这些文件通常是不列出来的(比如隐藏的文件) |
-d | --directory | |
-F | -classify | |
-h | --human-readable | |
-l | 使用长格式显示结果 | |
-r | --reverse | 以相反的顺序显示结果。通常,ls命令按照字母升序排列显示结果 |
-S | 按文件大小对结果排序 | |
-t | 按修改时间排序 |
3.进一步了解长列表格式
ls命令-l选项.png-l 选项使得 ls 命令以长格式显示其结果。
这种格式包含了大量的有用信息。
ls 长列表字段
字段 | 含义 |
---|---|
drwxrwxr-x | 对文件的访问权限。第一个字符表示文件的类型:-,表示该文件是一个普通文件;d,表示目录。 紧接着3个字符表示文件所有者的访问权限。再接着3个字符表示文件所属组中 成员的访问权限,最后3个字符表示其他所有人的访问权限。 |
第2列 | 文件硬链接数目。 |
第3列 | 文件所有者的用户名。 |
第4列 | 文件所属用户组的名称。 |
第5列 | 以字节数表示的文件大小。 |
第6、7、8列 | 上次修改文件的日期和时间 |
最后1列 | 文件名 |
二、file 命令确定文件类型
在探索系统过程中,文件所包含的内容是非常有用的。
因此,我们可以使用 file 命令来确定文件类型。
Linux 系统中的文件名不需要反映文件的内容,例如:当我们看到 picture.png 这样一个文件名,会自然而然的想到该文件包含一张png格式的压缩图像,但是在Linux中却没这个必要。
1.调用 file 命令
file filename
file命令.png调用后,file 命令会打印出文件内容的简短说明,如下图:
文件的种类有很多。事实上,再类UNIX操作系统(比如Linux)中,有个普遍的观念是“所有的东西都是一个文件”。
尽管我们已经很熟悉系统中的许多文件,比如说 PNG 和 JPEG 文件。但是也有一些文件比较含蓄,还有一些文件对我们而言相当陌生。
三、less 命令查看文件内容
less 命令 是一种查看文本文件的程序。纵观 Linux 系统,很多文件都含有我们可以阅读的文本。
而 less 程序为我们查看文件提供了方便。
1.为什么?
为何要查看文本文件呢?
因为包含系统设置的多数文件(即配置文件)是以这种形式存储的,而阅读这些文件有利于更好地理解系统是如何工作的。
此外,系统使用的许多实际程序(脚本)也是以这种格式存储的
2.什么是文本?
有很多方式可在计算机表达信息。所有的方式都涉及 信息与一些数字 之间确立一种关系,而这些数字可以用来表达信息。因为,计算机只能理解数字,并且所有的数据都将转换成数值来表示。有些表示方法非常复杂,也有一些很简单。其中ASCⅡ文本是出现最早也是最简单的。
文本是字符与数字之间简单的一对一映射,它很紧凑。由 50 个字符构成的文本在转换为数据时,也是50个字节。这与文本处理器文档中的文本是不一样的。
纵观 Linux 系统,很多文件是以文本格式存储的。
3.使用
less filename
一旦运行,我们就可查看文件内容,如果文件不止一页 less 程序允许我们前后滚动文件。
按 Q 键可退出less程序。
4.less 程序最常用的键盘命令
命令 | 功能 |
---|---|
PAGE UP 或 b | 后翻一页 |
PAGE DOWN 或 Spacebar | 前翻一页 |
向上箭头键 | 向上一行 |
向下箭头键 | 向下一行 |
G | 跳转到文本文件的末尾 |
lG 或 g | 跳转到文本文件的开头 |
/charecters | 向前查找指定的字符串 |
n | 向前查找下一个出现的字符串,这个字符串是之前所指定查找的 |
h | 显示帮助屏幕 |
q | 退出 less |
四、快速浏览
Linux 系统中,文件系统布局与其它类UNIX系统相似,因为它们不是严格但很接近的遵循名为 Linux文件系统层次标准的标准。
通过对文件系统的探索来找寻 Linux 系统正常运行所依赖的基础。
普通用户不具有管理文件系统的权限。
如果一条命令无法执行某些功能,那么继续选择其他命令。Linux没有秘密可言。
1.Linux 系统中的一些目录
目录 | 内容 |
---|---|
/ | 根目录,一切从这里开始。 |
/bin | 包含系统启动和运行所必需的二进制文件(程序),包含Linux内核、最初的RAM磁盘映像(系统启动时,驱动程序会用)、以及启动加载程序。 |
/boot | /boot/grub/grub.conf 或 menu.lst 用来配置启动加载程序。/boot/vmlinuz Linux内核 |
/dev | 包含设备特殊节点的特殊目录 |
/etc | /etc/passwd:用户账号列表 |
/home | 在通常的配置中,每个用户都会在/home 目录中拥有一个属于自己的目录。 |
/lib | 包含核心系统程序使用的共享库文件。 |
五、符号链接
1.符号链接
若是 条目信息的第一个字母是 l ,而且看起来像是有两个文件名,这种特殊的文件叫做符号链接(又叫软链接)。
在大多类UNIX系统中,一个文件很可能采用多个名字来引用(虽然这种特性意义并不明显,但真的很有用)。
(1)怎么做?
比如说有这么个场景:一个程序需要使用包含在 foo 文件中的一个共享资源,但 foo 版本更新频繁。这样,在文件名中包含版本号会很好,因此管理员或其他相关方就能看到安装了 foo 的哪个版本。这样就出现了一个问题:如果改变了共享资源的名称,就必须跟踪每个可能使用了该共享资源的程序,并且当安装了该资源新的版本后,都要让使用它的程序去寻找新的资源名,这太过麻烦,因此出现了符号链接。
假定foo的安装版本是2.6,它的文件名是 foo-2.6,然后创建一个符号链接 foo 指向 foo-2.6。这就意味着,当我们打开foo文件时,实际上打开的是文件 foo-2.6。依赖 foo 文件的程序能够找到它,并且也能看到实际安装的版本。当需要升级到 foo-2.7 时,只需将该文件添加到系统里,删除符号链接文件 foo ,创建一个指向新版本的符号链接即可。这样不仅解决了版本升级的问题,还可将两种版本都保存在机器里。假如 foo-2.7 存在程序错误,需切换到旧版本时。同样,只需删除指向新版本的符号链接,重新创建指向旧版本的符号链接即可。
2.硬链接
它同样允许文件有多个文件,但是处理方式是不同的。
网友评论